TCP & UDP

573 단어·2 분·원문(.md)

인터넷 프로토콜 스택의 4 계층
애플리케이션 계층 - HTTP , FTP
전송 계층 - TCP , UDP
인터넷 계층 - IP
네트워크 인터페이스 계층

EX ) 채팅 프로그램 사용시

  1. 프로그램이 hello world 메시지 작성
  2. 소켓 라이브러리를 통해 전달.
  3. TCP 정보 생성 , 메시지 데이터 포함.
  4. IP 패킷 생성 , TCP 데이터 포함
  5. LAN 카드로 서버에 보냄(Ethernet frame)

TCP/IP 패킷 정보 : IP 패킷 정보 안에 TCP 패킷 정보가 있다.
TCP 세그먼트 :출발지 port , 목적지 port , 전송 제어 , 순서 , 검증 정보

TCP 특징 #

전송 제어 프로토콜 (Transmission Control Protocol)

  • 연결 지향 - TCP 3way handshake(가상 연결) : 진짜 연결이 된게 아니고 개념적으로만 연결됨
  • 데이터 전달 보증 : 클라이언트가 서버로 데이터 전송을 하면 서버는 클라이언트로 데이터 잘 받았다고 보낸다.
  • 순서 보장 : 순서 안맞으면 다시보내라고 요총보냄
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 TCP 사용

UDP 특징 #

사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 하얀 도화지에 비유(기능이 거의 없다.)
  • 연결지향 - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만 , 단순하고 빠름
  • IP와 거의 같고 PORT 체크섬 정도만 추가 , 애플리케이션에서 추가 작업 필요

port : 하나의 아이피에서 여러 애플리케이션을 사용할때(게임 , 음악 등등) 어떤게 게임용이고 어떤게 음악용 패킷인지 구분하는 역할

TCP는 좋지만 전송속도를 빠르게할 수 없고 데이터 양도 많아진다. 그리고 TCP는 손을 못대기 때문에 UDP위에 내가 원하는 것을 만들 수 있다. http3 에서 udp protocol 사용.

Back-End/http/network/tcpudp.md