💡 계층 구조
- TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 계층과 많이 비교합니다.

차이점
- TCP/IP 계층과 달린 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른 다는 것이 다릅니다.
특징
- 이러한 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계되었습니다.
TCP 를 UDP 로 변경하였다고 해서 다른 계층을 변경해야할 필요가 없다는 말입니다.
👉 L4 애플리케이션 계층
사용 스택 : HTTP, SSH, DNS, SMTP 등
- 역할 : 응용 프로그램(Application)들끼리 데이터를 교환하기 위한 계층으로, 프로그래밍을 하면서 흔히 접하는 여러 서버나 클라이언트 관련 응용 프로그램이 동작하는 계층
- 사용자와 가장 가까운 계층으로, 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공
👉 L3 전송 계층
사용 스택 : TCP, UDP 등
- 역할 : 송신자와 수신자를 연결하는 통신 서비스를 제공하며 연결 지향 데이터 스트림 지원, 신뢰설, 흐름 제어를 제공할 수 있으며 애플리케이션과 인터넷 계층 사이의 데이터가 전달 될 때 중계 역할을 합니다.
- TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 수신 여부를 확인하며 ‘가상회선 패킷 교환 방식'을 사용합니다
- UDP는 순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 주는 ‘데이터그램 패킷 교환 방식’을 사용합니다.
또한 TCP는 신뢰성을 확보 할 때 3-way handshake 라는 작업을 진행합니다.

간단하게 설명하자면,
- 클라이언트가 서버에 연결 요청을 보내고
- 서버는 해당 요청을 받고 승인번호를 클라이언트에 보낸다.
- 클라이언트는 응답에 승인 번호를 담아 서버에 보낸다.
TCP와 달리 UDP는 3-way handshake 과정을 거치지 않기 떄문에 신뢰성이 없는 계층이라고 합니다
+ 연결을 끊을 때는 4-way handshake 를 사용합니다
👉 L2 인터넷 계층
사용 스택 : IP, ARP, ICMP 등
- IP를 담당하는 계층
- 역할 : 인터넷 계층은 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 게층입니다.
- 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달합니다.
👉 L1 링크 계층
사용 스택 : wifi, PPP, ATM 등
- 링크 계층은 전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 ‘규칙’을 정하는 계층입니다.
- 이를 통해 장치 간에 신호가 올바르게 전송되고 수신되도록 합니다.
📒 계층 간 데이터 송수신 과정
