저번 시간에는 네트워크를 통해 데이터를 주고 받을 때 어떤 계층을 거쳐야하는 지, 그 계층에는
어떤 규칙 (protocol)이 있는지 살펴봤다.
이번시간은 실제 데이터를 요청할 때 일어나는 일을 계층별로 알아보자.
해당 과정은 클라이언트에서 서버로 보내는 상황을 기반으로 학습해보자.
캡슐화
클라이언트 쪽에서 요청을 보내면 요청은 각 계층에서 캡슐화 과정을 거친다.
캡슐화란 데이터를 전달할 때 각 계층마다 아래로 전달할 때 그 계층에 헤더를 삽입하여 전달하는 과정이다.
1. 전송계층
- 데이터가 세그먼트(TCP) 또는 데이터그램(UDP)가 되며 TCP(L4) 헤더가 붙게 된다.
2. 인터넷 계층
- IP(L3) 헤더가 붙으며 패킷화가 진행된다.
3. 링크 계층
- 프레임 헤더와 프레임 트레일러가 붙어 프레임화가되어 서버로 전송된다.
비캡슐화
서버는 캡슐화된 클라이언트의 프레임을 전달 받아 비캡슐화 과정을 거친다.
비캡슐화는 정확히 캡슐화의 반대로 각 계층의 헤더 부분을 제거하는 과정이다.
1.링크 계층
- 프레임 헤더와 프레임 트레일러가 제거 되어 패킷화가된다.
2.인터넷 계층
- IP(L3) 헤더가 제거되며 세크먼트화(TCP) 또는 데이터그램화(UDP)가 되고
3. 전송계층
- TCP(L4) 헤더가 제거되며 메시지화되어 비캡슐화 작업이 마무리된다.
위 과정을 정리하면 다음과 같다.
클라이언트가 요청을 보낼 때: 클라이언트에서 캡슐화 → 서버에서 비캡슐화
서버가 응답을 보낼 때: 서버에서 캡슐화 → 클라이언트에서 비캡슐화
PDU
캡슐화 / 비캡슐화에서 우리는 헤더라는 것을 추가하고 제거하는 것을 집중했다.
PDU란 protocol data unit의 약자로 각 계층 마다 데이터가 전달 될 때 그 데이터의 한덩어리의 단위를 의미한다.
여기서 데이터는 헤더 + 실제 전달되는 데이터를 의미한다.
정리하면 다음과 같다.
PDU 구성요소
- 헤더 : 제어 관련 정보
- 페이로드: 실제 전달되는 데이터
부르는 명칭은 계층별로 다르다.
- 애플리케이션 계층: 메시지
- 전송 계층: 세그먼트(TCP), 데이터그램(UDP)
- 인터넷 계층: 패킷
- 링크 계층: 프레임(데이터 링크 계층), 비트(물리 계층)
'CS > Network' 카테고리의 다른 글
HTTP [ HTTP Version, HTTPS ] (1) | 2024.09.20 |
---|---|
TCP / IP 4계층 [ 계층 구조 ] (0) | 2024.09.19 |
HTTP [HTTP Response] (0) | 2024.09.18 |
HTTP [HTTP Request] (0) | 2024.09.17 |
HTTP [정의 및 구성 요소] (1) | 2024.09.16 |