IT지식/Computer Science

TCP / IP 4계층 동작원리 및 캡슐화, 역캡슐화

맨땅에헤딩개발자 2025. 1. 6. 22:34

 

이전 포스팅에선 TCP/IP 4계층과 OSI 7계층에 대해서 알아보았습니다.

https://steady-snb.tistory.com/25

 

TCP/IP 4계층? OSI 7계층? 이 도대체 뭘까

TCP/IP 4계층이란? 인터넷상에서 데이터를 주고받을 때 쓰이는 프로토콜의 모음입니다. OSI 7계층이란? 위에서 설명한 프로토콜에 대한 디자인과 통신을 계층으로 나누어 설명하기 위한 모델입

steady-snb.tistory.com

 

 

위의 프로토콜들이 실제로 어떻게 통신하는지 알아봅시다.

 

 

위의 그림에서 말하는 헤더는 데이터의 앞 부분에 위치하는 데이터 전송에 필요한 정보를 뜻합니다.

 

통신과정

 

1. 송신측 클라이언트 애플리케이션 계층에서 어느 웹 페이지를 보고싶다 라는 HTTP 요청을 지시한다.

2. 그 다음에 있는 트랜스포트 계층에서는 애플리케이션 계층에서 받은 데이터(HTTP메시지)를 통신하기 쉽게

   조각내어(패킷단위) 안내번호와 포트번호(TCP패킷)를 붙혀 네트워크 계층에 전달한다.

3. 네트워크 계층에서 데이터에 IP 패킷을 추가해서 링크 계층에 전달한다.

4. 링크 계층에서는 수신지 MAC주소(물리적주소)와 이더넷 프레임을 추가한다.

5. 이로써 네트워크를 통해 송신할 준비가 되었다.

6. 수신측 서버는 링크 계층에서 데이터를 받아들여 순서대로 위의 계층에 전달하여 애플리케이션 계층까지 도달한다.

7. 수신측 애플리케이션 계층에 도달하게 되면 클라이언트가 발신했던 HTTP 리퀘스트를 수신할 수 있다.

 

ex) 네이버 접속 시나리오

1. 웹 브라우저에 www.naver.com 입력

2. DNS로 네이버 서버 IP에 주소 할당

3. 응용계층(L4)에서 메시지 데이터 패킹(HTTP 메시지)

4. 전송계층(L3)에서 PORT정보(송신지, 수신지), 전송제어 정보, 순서 정보, 검증 정보 패킹(TCP)

5. 인터넷 계층(L2)에서 IP정보(송신지, 수신지) 패킹

6. 네트워크 엑세스(L1) 계층에서 MAC주소 패킹

7. 게이트웨이를 통해 인터넷망 접속

8. 라우터를 통해 목적지(네이버 서버)를 찾아 연결

9. 네이터 서버에 도착하면 패킷을 하나 하나 까면서 목적 포트에 메세지 데이터를 전달하여 다시 응답

 

 

 

캡슐화(Encapsulation)

 

- 송신 측에서 응용 계층부터 순서대로 각 계층에서 데이터에 헤더를 추가하고 아래 계층으로 보내는 과정

 

역캡슐화(Decapsulation)

 

- 수신 측에서 물리 계층부터 순서대로 데이터의 헤더를 제거하고 위 계층으로 전달하는 과정

 

캡슐화와 역캡슐화의 필요성

 

- 독립성 유지 : 다른 모듈에 미치는 영향을 최소화- 계층별 기능 수행 : 목적에 부합하는 기능만 수행- 호환성 유지 : 네트워크 동일 계층 간 호환성 유지

 

 

출처 - https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-TCP-IP-%EC%A0%95%EB%A6%AC-%F0%9F%91%AB%F0%9F%8F%BD-TCP-IP-4%EA%B3%84%EC%B8%B5

 

🗼 TCP / IP 4계층 모델 - 핵심 총정리

TCP / IP 개념 정리 (선수 지식) IP (인터넷 프로토콜) 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할. 조각들의 순서가 뒤바뀌거나 일부가

inpa.tistory.com

출처 - https://velog.io/@yun8565/OSI-7%EA%B3%84%EC%B8%B5%EA%B3%BC-TCPIP-4%EA%B3%84%EC%B8%B5#%EC%BA%A1%EC%8A%90%ED%99%94--%EC%97%AD%EC%BA%A1%EC%8A%90%ED%99%94

 

OSI 7계층, TCP/IP 4계층 + TCP, UDP 정리

Open Systems Interconnection, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하는 모델계층을 나누면 통신이 일어나는 과정을 단계별로 파악하기 쉽고 특정 계층에서 이상이 생기면

velog.io