통신 체계에서 가장 일반적으로 사용되는 TCP/IP Protocol Suite와 내부 구조에 대해서 알아보았다.
TCP/IP Protocol
인터넷으로 통신하는데 있어 가장 일반적인 프로토콜이며 사실상 인터넷 프로토콜을 대표하는 용어로도 사용된다.
이름에 쓰여있듯 TCP와 IP를 말하기도 하나 더 큰 범위의 프로토콜 집합으로 설명된다.
OSI 7 Layer vs TCP/IP 4 Layer
실제로 OSI 모델보다 TCP/IP 모델이 먼저 개발되었다.
OSI 모델의 경우 표준을 잡기 위해 7가지를 나누어 표현하였으나 실제로는 계속 사용되면서 신뢰성 높은 TCP/IP를 사용한다.
고로 OSI 모델은 De Jure(명목상 표준), TCP/IP 모델은 De Facto(사실상 표준)으로 자리잡았다.
TCP/IP Frame 구조
데이터 통신 시 계층을 거듭하면서 헤더를 추가로 붙이고 하위 계층으로 보내는 구조이다.
- Segment : 데이터를 TCP가 전달받으면 TCP 헤더에 포트번호를 명시하여 올바른 애플리케이션을 찾아갈 수 있도록 한다.
- Packet : 세그먼트에 IP 헤더를 붙여 IP 주소를 통해 네트워크를 찾아갈 수 있도록 한다.
- Frame : 패킷에 프레임 헤더를 붙여 MAC 주소를 이용해 고유한 장치를 찾아갈 수 있도록 한다.
프레임이 전달되는 Ethernet의 최대 전송단위(MTU)가 1500byte이므로 DATA + TCP 헤더 + IP 헤더가 1500byte 이내여야 한다.
Segmentation, Fragmentation
전달되는 데이터의 크기가 최대 전송단위를 넘었을 때 우리는 다음과 같은 일을 진행할 수 있다.
- Segmentation : 분할, TCP는 데이터의 크기가 클 시 각 데이터의 크기를 최대 1460byte씩 잘라 각각 TCP 헤더를 붙여 세그먼트를 만든다.
- Fragmentation : 단편화, 데이터가 3계층에서 만들어졌을 경우에 IP가 직접 데이터를 최대 1480byte씩 잘라 패킷을 만든다.
헤더의 정보를 통해 나눠진 데이터가 목적지에 도착했을 때 재조립될 수 있다.
계층 별 주소 체계
L2 - MAC Addr
주소는 16진수로 8bit씩 6자리로 구성되어 있으며 48bit를 사용한다.
앞 6자리는 OUI로 제조사 식별 코드를 나타내며 뒷 6자리는 일련 번호로 난수값이다.
- OUI를 조회할 수 있는 사이트
https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries
L3 - IP Addr
주소는 10진수로 8bit씩 4자리로 구성되어 있으며 32bit를 사용한다.
"/" 뒤는 서브넷 마스크로 네트워크 주소와 호스트 주소를 구분하는 비트 수를 담고 있다.
네트워크 주소는 목적지를 찾을 때 사용되며 호스트 주소는 네트워크 내부에 장치를 찾을 때 사용된다.
L4 - Port
포트는 16bit를 사용하며 컴퓨터 내부의 서비스를 구분할 때 사용된다.
- System Port : 1~1023, 범용 서비스를 위한 포트로 사용되며 주로 서버에서 이용한다.
http(80), FTP(20, 21), SSH(22), Telnet(23), SMTP(25), HTTPs(443) 등이 있다.
- Registerd Port : 1024~49151, 특정 용도로 사용되기 위해 등록된 포트로 애플리케이션 개발 시 중복을 막기 위해 미리 등록 후 사용한다.
- Dynamic Port : 49152~65535, 사용에 제한이 없어 자유롭게 사용 가능하며 주로 웹 브라우저같은 클라이언트용 프로그램에서 이용한다.
TCP/IP 패킷 유형
TCP/IP 패킷 유형으로 위와 같이 구분될 수 있다.
- TCP-IP-Ethernet : 신뢰도 높은 연결 지향형 통신이 필요할 경우 사용된다.
- UDP-IP-Ethernet : 신뢰보다 간단한 요청이나 실시간 반응형 통신이 필요할 경우 사용된다.
- IP-Ethernet : L3 데이터를 다룰 때 사용된다.
- Ethernet : ARP를 이용하는 예외적인 경우로 MAC 주소를 통해 IP 주소를 찾기 위해 사용된다.
'보안 이론 > 네트워크 보안' 카테고리의 다른 글
네트워크 패킷 수집 - Tshark, TCPdump (0) | 2022.11.16 |
---|---|
네트워크 보안 장비(방화벽/IDS) 개념 및 설명 (0) | 2022.10.02 |
WireShark를 이용한 패킷 분석 실습 (0) | 2022.09.23 |
공개키 암호와 해시를 이용한 인증 원리 (0) | 2022.09.21 |
대칭키(Symmetric Key) 암호화 방식 (0) | 2022.09.20 |