IT 프로그래밍/컴퓨터네트워크

[컴퓨터네트워크 3.1] 프로토콜 레이어링과 데이터

기술1 2024. 9. 25. 13:04

Encapsulation

상위계층에서 데이터를 수신해서 하위계층으로 보내기 전에 필요한 헤더들을 추가시키고 그 헤더가 추가된 새로운 데이터 유닛을 하위계층으로 전달하게 됩니다. 

 

하위계층으로 데이터를 전달하기 전에 처리를 필요한 데이터를 헤더에 추가하고 하위계층을 전달하는 과정을 encapsulation이라고 합니다. 

 

출발지에서 어플리케이션이 메세지를 생성할 때 응용계층에서의 데이터 유닛은 메세지라는 용어를 통해서 정의를 할 수 있습니다. 메세지를 생성해서 전달하기 위해서 하위계층으로 전달하면 하위계층은 전송 계층이 여러가지 기능들이 있고 그 기능을 지원하기 위해 응용계층 앞에 전송계층 헤더를 추가시킵니다.

 

그래서 메세지에 전송계층 헤더가 추가된 데이터 유닛을 segment라고 정의를 합니다. 

 

따라서 전송계층에서 사용하는 데이터 유닛은 세그먼트라는 용어를 사용합니다. 이 세그먼트가 만들어지고 하위계층인 네트워크 계층으로 전달이 되면 네트워크 계층은 네트워크의 필요한 기능을 정하기 위해서 그 앞에 네트워크 헤더를 추가시킵니다. 네트워크 헤더가 추가된 데이터 유닛이 데이터 그램입니다.

 

그리고 네트워크 계층에서 만든 데이터 유닛이 링크계층으로 전달되고 링크 계층의 헤더를 추가시킵니다. 이 전체 데이터 유닛을 Frame이라고 정의를 합니다. 

 

message -> segment -> datagram -> frame

 

이 frame을 비트 신호로 변환해서 수신측에 전달합니다. 자신의 계층에 필요한 헤더를 추가시켜서 데이터 유닛을 만드는 과정을 인캡슐레이션(encapsulatiohn)이라고 합니다.

 

Decapsulation

 

목적지는 물리계층에서 비트 신호가 도착할 것이고 이것을 링크계층으로 전달을 하면 frame이 만들어 집니다. 

 

frame -> datagram -> segment -> message

링크계층의 헤더를 이용해서 작업을 수행하고 나서 상위계층으로 전달할 때는 링크계층의 헤더를 제거하고 나머지 데이터를 상위계층으로 전달합니다. 이것이 데이터그램이 됩니다. 

 

네트워크는 네트워크에 필요한 헤더를 뽑고 이를 없애버리면 데이터그램이 되고 전송계층에서는 필요한 것을 쓰고 헤더를 제거하고 응용계층을 전달합니다. 그러면 수신측의 어플리케이션은 메세지가 됩니다. 

 

 

하위계층에서 상위계층을 전달할 때 자신의 계층의 헤더를 제거하고 상위 계층으로 전달하는 과정은 Decapsulation이라고 합니다. 

 

 


application - message

transport - segment

network - datagram

link - frame


이 그림에 대해서 설명을 해보겠습니다. 전반적인 과정을 보면 중간에 스위치라는 링크계층의 디바이스, 라우터라는 네트워크 디바이스를 통과해서 목적지로 전달되는 과정입니다. 이때 데이터는 어떻게 encapsulation, decapsulation 되는지 알아보겠습니다.

 

출발지에 메세지가 전송계층에서의 segment로 만들어지고 다시 네트워크 계층에서 datagram으로 형성되고 이후 link계층에서 frame이 형성되고 이 frame이 physical layer를 통해 비트 신호로 바뀌고 중간 노드로 전달되고 라우터로 들어가게 되면 링크계층에서 frame이 처리되고 이 frame의 헤더가 떨어져서 decapsulation되어서 상위계층인 네트워크 계층으로 전달되면 이 헤더를 보고 필요한 작업을 보고 전달지도 다시 보냅니다. 

 

네트워크 계층에서의 데이터 그램이 링크 계층으로 전달되면 링크 계층에서는 frame헤더를 붙여서 목적지까지 전달될 것입니다. 목적지에서 처리할 때 링크 계층에서 frame이 처리되고 상위계층의 네트워크 처리되고, 전송계층의 segment가 처리되고 이런 과정을 거쳐 어플리케이션까지 가게 됩니다.

 

이렇게 데이터가 전송이 되는 것입니다.