인캡슐레이션&디캡슐레이션

데브tty·2021년 9월 27일
0

네트워크

목록 보기
3/4

인캡슐레이션&디캡슐레이션

상위 계층에서 하위 계층으로 데이터를 보내면 물리 계층에서 전기 신호 형태로 네트워크를 통해 신호를 보낸다. 받는 쪽에서는 다시 하위 계층에서 상위 계층으로 데이터를 보낸다.

(사진)

애플리케이션 데이터를 데이터 플로 계층으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할하는 과정을 인캡슐레이션이라고 한다. 상위 계층에서 헤더를 붙이고 하위 계층으로 데이터를 내려 보낸다.(세그먼트->패킷->프레임)

반대로 받는 쪽에서는 디캡슐레이션 과정을 거친다. 2계층에서 3계층으로 올리는 경우 2계층의 헤더는 필요 없으므로 제거해여 3계층으로 데이터를 올린다.

정리하면 상위->하위->하위->상위 이런식으로 받게 된다.

인캡슐레이션 과정에서 2가지 정보는 반드시 포함한다. 현재 계층에서 정의하는 정보 & 상위 프로토콜 지시자

상위 프로토콜지사자는 프로토콜의 종류가 많은 상위 계층에서 결정을 위해 존재한다. 예를들어 3계층에서 목적지 IP 주소를 확인하고 4계층으로 데이터를 올려보낼때 상위 프로토콜 정보가 없으면 TCP, UDP 둘중 어느걸로 보내야할지 정보가 없다. 이러한 문제가 발생하지 않도록 인캡슐레이션 하는 쪽에서 헤더에 상위 프로토콜 지시자 정보를 포함한다.

(포트번호)

MSS&MTU
애플리케이션에서 데이터를 만들어 보낼 때 데이터 플로 계층에서 네트워크 상황에 맞게 데이터를 잘 쪼개 상대방에게 전달한다. 네트워크에서 수용할 수 잇는 크기를 역산정해 데이터가 4계층으로 내려올때 적절한 크기로 쪼개질 수 있도록 유도하는 값을 MSS라고 부른다. MTU 값은 2계층에서의 데이터 값, MSS는 4계층에서의 데이터 값을 말한다. 2계층에서는 2계층 헤더들의 크기를 제외한 데이터 크기를 MTU라고 부른다.

MTU의 일반적인 크기는 1500 바이트이다. IP, TCP 헤더의 표준 크기는 각 20바이트 이므로 MSS의 크기는 1460 바이트가 된다.
IP(3) + TCP(4) + MSS = MTU

profile
dev띠

0개의 댓글