인캡슐레이션과 디캡슐레이션
상위 계층에서 하위 계층으로 데이터를 보내면 물리 계층에서 전기 신호 형태로 네트워크를 통해 신호를 보낸다.
데이터를 받으면 하위 계층에서 다시 상위 계층으로 데이터를 보낸다.
인캡슐레이션: 데이터를 하위 계층으로 보내는 과정
디캡슐레이션: 데이터를 상위 계층으로 보내는 과정
현대 네트워크는 패킷 기반 네트워크
패킷(Packet)이란? 데이터를 전송하기 쉽게 작은 단위로 쪼개는데, 이 작은 단위를 패킷이라고 한다.
데이터를 패킷으로 쪼개서 목적지로 보내고, 받을 때는 다시 큰 데이터 형태로 결합하여 사용한다.
인캡슐레이션과 디캡슐레이션을 더 자세하게 설명하자면
인캡슐레이션: 애플리케이션에서 데이터를 1~4계층으로 내려보내면서 * 패킷에 데이터를 넣을 수 있도록 분할하는 과정으로 즉, 정보가 추가되어 가는 과정이다.
디캡슐레이션: 물리 계층에서 전송한 전기 신호를 데이터 형태로 변환하면서 추가된 정보를 제거하는 과정이다.
* 패킷에 데이터를 넣을 수 있도록 분할하는 과정이 대체 뭐냐? → 4계층, 3계층, 2계층에서 각각 자신이 필요한 정보를 추가할 수 있도록 적절한 크기로 자르는 것
각 계층의 네트워크 전송 위한 정보를 넣을 수 있는 부분을 헤더(Header)라고 한다.
각 계층의 정보(헤더)를 담은 채로 아래 계층으로 이동한다.
디캡슐레이션은 반대로 받은 전기 신호를 데이터 형태로 만들어 위로 올려보낸다.
물리 계층에서 전달 받은 데이터의 2계층 헤더를 확인하는 과정이 이루어지는데, 만약 목적지가 자신이 아니라면 패킷을 버리고, 자신에게 온 게 맞다면 3계층으로 정보를 올려보낸다. → 이때 2계층의 정보는 필요 없으므로 2계층 헤더를 벗겨내고 올려준다.
3, 4계층에서도 같은 과정(헤더 벗김)을 거치게 되며 데이터를 애플리케이션에 올려보내 준다.
2, 3, 4계층의 헤더 정보는 전부 다르다.
복잡한 헤더에도 꼭 2가지 정보는 반드시 포함되어야 한다.
1. 현재 계층에서 정의하는 정보
- 2계층: 출발지, 도착지 MAC 주소
- 3계층: 출발지, 도착지 IP 주소
- 4계층: 시퀀스 넘버, 에크 넘버
2. 상위 프로토콜 지시자
- 어떤 프로토콜로 올려보내 줘야 하는지 결정하기 위함
- 4계층으로 데이터를 올려보낼 때 TCP로 보내야 하는지? UDP로 보내야하는지? 구분이 안 되어 있으면 어느 프로토콜로 보내야하는지 모르기 때문이다.
- 상위 프로토콜 지시자는 프로토콜 번호, 포트 번호, 이더 타입으로 표현할 수 있다.
프로토콜 번호
프로토콜 번호 | 프로토콜 |
1 | ICMP(Internet Control Message) |
2 | IGMP(Internet Group Management) |
6 | TCP(Transmission Control) |
17 | UDP(User Datagram) |
50 | ESP(Encap Security Payload) |
51 | AH(Authentication Header) |
58 | IPv6용 ICMP |
113 | FC(Fibre Channel) |
포트 번호
포트 번호 | 서비스 |
TCP 20, 21 | FTP (File Transfer Protocol) |
TCP 22 | SSH (Secure Shell) |
TCP 23 | TELNET (Telecommunication Network) |
TCP 25 | SMTP (Simple Mail Transfer Protocol) |
UDP 49 | TACACS (Terminal Access Controller Access-Control System) |
TCP 53/UDP 53 | DNS (Domain Name System) |
UDP 67, 68 | BOOTP (Bootstrap Protocol) |
TCP 80/UDP 80 | HTTP (HyperText Transfer Protocol) |
UDP 123 | NTP (Network Time Protocol) |
UDP 161, 162 | SNMP (Simple Network Management Protocol) |
TCP 443 | HTTPS (HyperText Transfer Protocol Secure) |
TCP 445/UDP 445 | Microsoft-DS (Microsoft Directory Services) |
이더 타입
이더 타입(Ether Type) | 프로토콜 |
0x0800 | IPv4 (Internet Protocol version 4) |
0x0806 | ARP (Address Resolution Protocol) |
0x22F3 | IETF TRILL Protocol |
0x8035 | RARP (Reverse ARP) |
0x8100 | VLAN–tagged frame (802.1Q) |
0x88B8 | AH (Authentication Header) |
0x86DD | IPv6 (Internet Protocol version 6) |
0x88CC | LLDP (Link Layer Discovery Protocol) |
0x8906 | FCoE (Fibre Channel over Ethernet) |
0x8915 | RoCE (RDMA over Converged Ethernet) |
* 애플리케이션에서 데이터가 4계층으로 내려올 때 적절한 크기로 쪼개질 수 있도록 유도하는 값을 MMS(Maximum Segment Size)라고 부른다.
*네트워크에서 한 번에 보낼 수 있는 데이터 크기를 MTU(Maximum Transmission Unit)이라고 부르며, 일반적인 이더넷에서 수용할 수 있는 크기는 1,500바이트이다. Jumbo Frame(얘는 9,000바이트까지 MTU를 확장시켜줌!)은 제외!
'네트워크' 카테고리의 다른 글
네트워크 통신하기 - 1 (유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트) (0) | 2024.11.08 |
---|---|
네트워크 연결과 구성 요소 - 2 (NIC, 케이블/커넥터, 허브, 스위치, 라우터, 로드 밸런서, 보안 장비, 모뎀/공유기) (0) | 2024.11.07 |
네트워크 연결과 구성 요소 - 1 (LAN/MAN/WAN, 네트워크 회선 종류) (0) | 2024.11.07 |
네트워크 시작하기 - 2(OSI 7계층과 TCP/IP) (0) | 2024.10.28 |
네트워크 시작하기 - 1(네트워크 구성과 프로토콜) (0) | 2024.10.26 |