1. TCP/IP 4계층이란?

우리가 택배를 보낼 때, 여러 단계를 거칩니다.📦

1. 택배 상자를 포장하고 주소를 적는다.

2. 택배 회사에 맡기면, 분류 작업을 거쳐 해당 지역으로 이동한다.

3. 지역 택배 기사님이 우리 집까지 배송해준다.

 

TCP/IP 4계층은 이와 비슷하게 인터넷에서 데이터를 주고받는 과정을 4단계로 나누어 규칙을 정한 것입니다.

인터넷 프로토콜 스위트(Internet Protocol Suite)의 기반이 되는 네트워크 모델로 이 모델은 데이터를 네트워크를 통해 전송하는 데 필요한 기능을 계층별로 나누어 정의합니다.

각 계층은 특정 기능을 담당하며, 상위 계층에서 전달된 데이터를 처리하고 하위 계층으로 전달하는 역할을 합니다.

TCP/IP 4계층은 링크 계층, 인터넷 계층, 전송 계층, 애플리케이션 계층으로 나뉩니다.

 

2. 애플리케이션 계층 (Application Layer)

사용자 애플리케이션에서 사용되는 프로토콜이 이 계층에 속합니다. 사용자가 직접적으로 상호작용하는 네트워크 서비스를 제공합니다.

FTP, SSH, HTTP, SMTP, DNS 등의 프로토콜이 이 계층에 속합니다.

 

FTP (File Transfer Protocol): 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜

SSH (Secure Shell): 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜

SMTP (Simple Mail Transfer Protocol): 이메일을 전송하기 위해 사용

HTTP (Hypertext Transfer Protocol): 웹 브라우저와 웹 서버 간에 웹 페이지, 이미지, 동영상 등의 데이터를 주고 받기 위해 사용

DNS(Domain Name System): 도메인 이름을 IP 주소로 변환하는 데 사용(ex. www.naver.com -> 222.111.222.111) 

 

3. 전송 계층 (Transport Layer)

전송 계층은 네트워크에서 데이터를 안전하고 효율적으로 전달하는 데 중요한 역할을 하는 계층입니다 ,택배로 비유하자면, 물건을 안전하게 포장하고, 배송 중 문제가 발생했을 때 다시 보내는 등의 역할을 하는 것입니다.

주요 프로토콜로는 TCP와 UDP가 있습니다.

 

TCP(Transmission Control Protocol)

연결형 서비스를 제공하며, 데이터의 신뢰성, 순서 보장, 흐름 및 혼잡 제어 기능을 제공합니다. 주로 웹 브라우징, 이메일, 파일 전송 등에 사용됩니다. 연결형 서비스란 데이터를 주고받기 전에 송신자와 수신자 간에 논리적인 연결을 먼저 설정하는 방식을 의미합니다. TCP는 가상 패킷 교환 방식을 사용합니다. TCP에서 신뢰성을 확보하기 위해서 '3-way handshake'라는 작업을 진행합니다.

 

UDP(User Datagram Protocol)

순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 주는 데이터그램 패킷 교환 방식을 사용합니다. 비연결형 서비스를 제공하며, 데이터 전송 속도는 빠르지만 신뢰성이 낮습니다. 주로 실시간 스트리밍, 온라인 게임, 음성 및 영상 통화 등에 사용됩니다.

특징 TCP UDP
연결 방식 연결형 비연결형
신뢰성 높음(데이터 순서 보장, 오류 검출 및 복구) 낮음(데이터 순서 보장 없음, 오루 검출 및 복구 없음)
속도 비교적 느림 비교적 빠름
방식 가상패킷 교환 방식 데이터그램 패킷 교환 방식
흐름제어 O X
혼잡제어 O X
활용 예시 웹 브라우징, 이메일, 파일 전송 실시간 스트리밍, 온라인 게임, 음성/영성 통화

 

가상회선 패킷 교환 방식(Virtual Circuit Packet Switching)

마치 전용 회선처럼 미리 정해진 경로를 통해 패킷을 전송하는 방식입니다. 가상 회선을 통해 데이터 패킷이 순서대로 전송되며, 모든 패킷이 같은 경로를 따라 이동합니다.

 

데이터그램 패팃 교환 방식(Datagram Packet Switching)

각 패킷이 독립적으로 최적의 경로를 선택하여 목적지로 이동하는 방식입니다. 하나의 데이터에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 순서가 다를 수 있습니다.

 

TCP 연결 성립 과정(3-way handshake)

https://dev.to/snj/tcp-3-way-handshake-in-detail-eao
https://dev.to/snj/tcp-3-way-handshake-in-detail-eao

1. SYN(SYNchronization) 단계: 클라이언트가 서버에게 연결 요청 메시지를 보냅니다. 이 메시지에는 클라이언트의 초기 순서 번호(ISN)가 포함되어 있습니다.

2. SYN-ACK(Synchronize-Acknowledge) 단계: 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN+1을 보냅니다.

3. ACK(Acknowledgment) 단계: 클라이언트는 서버의 확인 메시지를 받으면, 서버의 ISN에 1을 더한 값을 ACK 번호로 하여 최종 확인 메시지를 서버에 보냅니다.

 

3단계가 마무리되면 신뢰성이 구축되고 데이터 전송을 시작합니다.

 

TCP 연결 해체 과정(4-way handshake)

https://jaehyeon48.github.io/network/tcp-three-way-handshake/

1. 클라이언트가 연결 종료 요청(FIN)을 서버에 보냅니다.

2. 서버는 클라이언트의 요청을 확인(ACK)합니다.

3. 서버가 연결 종료 요청(FIN)을 클라이언트에 보냅니다.

4. 클라이언트는 서버의 요청을 확인(ACK)합니다.

 

연결 종료 과정 중에 데이터 손실을 방지와 두 장치 연결이 닫혔는지 확인하기 위해 TIME_WAIT 상태를 거칩니다.

 

4. 인터넷 계층 (Internet Layer)

인터넷 계층은 논리적인 주소(IP주소)를 사용하여 서로 다른 네트워크 간에 데이터를 전송하는 역할을 합니다. 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결적인 특징이 있습니다. 대표적인 프로토콜로 IP, ARP, ICMP이 있습니다.

 

5. 링크 계층 (Link Layer)

링크 계층은 전선, 광섬유, 무선 등으로 물리적인 네트워크(LAN) 내에서 데이터를 전송하는 역할을 합니다. 인터넷 계층에서 전달된 패킷을 물리적인 신호로 변환하여 전송하고 MAC 주소를 사용하여 통신합니다.

728x90

+ Recent posts