개발서/서버의 기본

2-03 프로토콜의 역할

nohesitation 2020. 6. 23. 06:03

# 캡슐화 & 비캡슐화

프로토콜이 갖는 역할 중 가장 큰 것은 "캡슐화"와 "비캡슐화"이다.

네트워크 통신에서는 OSI 참조 모델의 레이어를 넘기 위해서 데이터를 캡슐화 하는 것이 필요하다.

이 때, 캡슐에 넣는 것을 캡슐화, 캡슐에서 꺼내는 것을 비캡슐화라고 한다.

(마치 러시아의 마트료시카 인형처럼)

이 두 개념은 어플리케이션 데이터를 송신하는 서버, 이를 수신하는 클라이언트에 대해서 생각해보면 이해하기 쉽다.

 

# 송신시 캡슐화, 수신시 비캡슐화

먼저 서버에서 일어나는 처리가 캡슐화이다.

서버는 레이어의 상위부터 하위까지 순으로 캡슐화 처리를 실행하여 전송용 데이터를 만든다.

서버 어플리케이션은 어플리케이션 데이터를 만들면, 그 상태 그대로 트랜스포트층에게 전달한다.

트랜스포트층은 수신한 어플리케이션 데이터를 TCP/UDP의 캡슐(=세그먼트)에 넣어서 네트워크층에 전달한다.

네트워크층은 수신한 세그먼트를 IP의 캡슐(=패킷)에 넣어, 데이터링크층에 전달한다.

데이터링크층은 수신한 패킷을 이더넷의 캡슐(=프레임)에 넣어 물리층에 전달한다.

물리층은 수신한 프레임을 신호로 보낼 수 있도록 비트 변환 처리 후, 전기 신호나 빛 신호로 전송한다.

 

이에 대해 클라이언트에서 일어나는 처리가 비캡슐화이다.

클라이언트는 레이어의 하위부터 상위까지의 순으로 비캡슐화 처리를 하여, 본래의 어플리케이션 데이터를 추출해낸다.

물리층에서 전기 신호나 빛 신호를 수신하면, 비트로 변환한 뒤, 프레임으로 만들어 데이터링크층에 전달한다.

데이터링크층은 받은 프레임으로부터 패킷을 꺼내 네트워크층에 전달한다.

네트워크층은 받은 패킷으로부터 세그먼트를 꺼내어 트랜스포트층에 전달한다.

트랜스포트층은 받은 세그먼트에서 데이터를 꺼내 본래의 어플리케이션 데이터를 클라이언트 어플리케이션에 전달한다.

 

'개발서 > 서버의 기본' 카테고리의 다른 글

2-05 스위칭  (0) 2020.06.25
2-04 이더넷과 MAC주소  (0) 2020.06.24
2-02 OSI 참조 모델과 프로토콜  (0) 2020.06.22
2-01 네트워크 기술의 이해  (0) 2020.06.19
1-07 서버와 네트워크  (0) 2020.06.18