TCP, UDP

김규원·2024년 2월 1일
0

HTTP 기본지식

목록 보기
2/2
post-thumbnail

프로토콜 계층


1. 애플리케이션 계층 - HTTP, FTP
2. 전송 계층 - TCP, UDP
3. 인터넷 계층 - IP
4. 네트워크 인터페이스 계층

  • OS에는 TCP, UDP, IP가 존재
  • 네트워크 인터페이스 계층에는 LAN이 존재.
  • 그 밑에 다양한 계층이 존재하지만 깊이 알 필요 X

프로토콜 계층을 통해 데이터가 전송되는 방법
1. 프로그램이 data를 소켓 라이브러리에 싸서 OS에게 전달
2. OS가 TCP정보를 생성하고, 메시지 데이터를 포함하여 IP 패킷 생성. IP 패킷 내에는 TCP 데이터가 포함되어 있음.
3. IP 패킷은 LAN 카드를 통하여 인터넷에 연결된 서버에 전송

TCP/IP 패킷 정보

TCP(Transmission Control Protocol)

전송 제어 프로토콜

앞의 TCP/IP 패킷 정보 그림을 통해 알 수 있듯, TCP는 IP 패킷과 다르게 전송 제어, 순서, 검증 정보 를 추가로 담고 있음.

쉽게 말하자면, TCP는 IP가 가진 단점들(데이터 소실 등)을 해결 가능.

그렇기에 TCP는 신뢰할 수 있는 프로토콜이라고 불리며 현재는 대부분 TCP를 사용.

TCP의 특징

연결 지향(3 way handshake)

  • TCP는 TCP 3 way handshake(가상연결)을 통하여 연결 확인 보장 후 데이터 전송.
  • 3번의 과정을 거치기 때문에 시간이 오래걸리는 단점 존재
  • SYN, ACK

데이터 전달 보증

클라이언트와 서버는 데이터 전송 후 데이터 수신 확인을 받음.

순서 보장

데이터의 크기가 클 경우 패킷을 쪼개어 전송하는 경우가 발생. 여기서 패킷1->2->3의 순서로 전송했지만, 1->3->2순서로 도착했다면, 잘못된 순서로 온 패킷부터 재전송 요청.

UDP(User Datagram Protocol)

사용자 데이터그램 프로토콜

  • UDP는 하얀 도화지에 비유되는데, 그 이유는 기능이 거의 없기 때문.

  • IP와 거의 같지만 PORT체크섬기능만 추가되어 있음

  • 그렇기에 UDP를 사용할 경우 애플리케이션에서 추가 작업이 필요하다.

  • UDP는 TCP처럼 연결지향적이지 않음. 즉, 3 way handshake 기능 x

  • 데이터 전달 보증x

  • 데이터 순서 보증x

profile
행복한 하루 보내세요

0개의 댓글

관련 채용 정보