인캡슐레이션과 디캡슐레이션
- 인캡슐레이션(Encapsulation) : 상위 계층에서 하위 계층으로 데이터를 보내면 물리 계층에서 전기 신호 형태로 네트워
크를 통해 신호를 보내는 과정
- 디캡슐레이션(Decapsulation) : 받는 쪽에서는 다시 하위 계층에서 상위 계층으로 데이터를 보내는 과정

- 현대 네트워크는 패킷 기반 네트워크로 데이터를 패킷 단위로 나눠서 보냄
- 통신회선 독점을 막고 여러 단말이 동시에 통신 가능 함
- 데이터를 패킷으로 쪼개고, 네트워크를 이용해 목적지로 보내고, 받는 쪽에서 패킷을 다시 데이터 형태로 결합해 사용
- 애플리케이션에서 데이터를 데이터 플로 계층(1~4계층)으로 내려보내면서 패킷에 데이터를 넣을 수 있도로 분할하는
과정이 인캡슐레이션
- 데이터를 패킷에 담을 때 각 계층별로 자신이 필요한 정보를 헤더에 붙혀넣음
- 4계층 → 3계층 → 2계층으로 내려가면서 필요한 헤더정보를 비트 단위(0 또는 1)로 작성
- 데이터 하나를 전송하면 데이터 플로 계층에서만 3개의 헤더정보(4, 3, 2계층)가 추가됨
- 받는 입장에서는 디캡슐레이션 과정을 수행
- 받은 전기 신호를 데이터 형태로 2계층으로 올려보냄
- 2계층에서는 2계층 헤더에 포함된 정보를 확인하고 목적지가 자신이 맞는지 확인
- 목적지가 자신이 아니면 패킷을 버림
- 목적지가 맞다면 2계층의 헤더정보는 벗겨내고 내용물을 3계층으로 올려보내고 3계층 4계층도 동일한 과정을 거쳐 데
이터를 애플리케이션에 올려보냄
- 이러한 복잡한 작업은 2가지 정보 흐름으로 설명 가능
- 인캡슐레이션, 디캡슐레이션 과정을 통해 데이터가 전송되는 과정
- 각 계층 헤더를 이용해 송신자 계층과 수신자 계층 간의 논리적 통신 과정
- 데이터는 상위 계층에서 데이터 플로 계층으로 패킷 형태로 하나씩 인캡슐레이션되어 내려오고 랜 카드에서 전기 형태
로 변환되어 목적지로 전달됨
- 전기 신호를 받은 목적지에서는 데이터 형태로 변환해 상위 계층으로 올려주고 패킷들을 조합해 데이터 형태로 만듦
- 주고받는 데이터 흐름 : 상위 계층 -> 하위 계층, 다시 하위 계층 -> 상위 계층
- 헤더 정보는 각 계층끼리 전달 : 4계층에서 헤더를 추가했다면 받는 쪽의 4계층에서 확인

- 각 계층별로 헤더에 넣는 정보가 많아 모두 이해하긴 힘들고, 프로토콜마다 특성이 달라 넣는 정보가 다름
- 하지만 규칙이 있으며 헤더에 두 가지 정보는 반드시 포함되어야 함
- 현재 계층에서 정의하는 정보
- 4계층의 목적인 큰 데이터를 분할/조립하는데 필요한 패킷의 순서 및 빠진 패킷을 검증하는 정보를 헤더에 적음
- TCP/IP 의 4계층인 TCP에서는 시퀀스와 애크번호 필드로 이 데이터를 표현
- 3계층 헤더에는 3계층에서 정의하는 논리적인 주소인 출발지, 도착지 IP 주소를 헤더에 적음
- 2계층은 MAC 주소를 정의하므로 출발지, 도착지의 MAC 주소 정보를 헤더에 적음
- 상위 프로토콜 지시자
- 프로토콜 스택은 상위 계층으로 올라갈 수록 종류가 많아짐
- 디캡큘레이션 과정에서 헤더에 상위 프로토콜 지시자가 없으면 어떤 상위 프로토콜로 올려 보내야 할 지 결정
불가
- 각 계층마다 상위 프로토콜 지시자를 가지고 있음
- 4계층은 포트 번호. 3계층은 프로토콜 번호, 2계층은 이더 타입이라 부름
- 디캡슐레이션 시 상위 프로토콜 지사지 정보를 이용해 어느 상위 계층 프로토콜로 보내야 할지 구분해야 하므로
동작하는 계층보다 한 계층 위의 정보가 적혀 있음
ex> 포트 번호는 4계층 헤더에 적힌 정보이지만 애플리케이션 계층에서 프로토콜 종류를 나타내주는 정보

<참고문헌>
IT 엔지니어를 위한 네트워크 입문