TCP와 UDP

Yerim·2021년 10월 6일
0

Network

목록 보기
2/6

💡 프로토콜 스택

인터넷에서 컴퓨터들이 정보를 주고 받는데 쓰이는 프로토콜의 모음 프로토콜들은 계층 구조로 모여있다.

애플리케이션 계층 : 서버로 전달할 데이터 생성(packet, 패킷)
전송 계층 : 송수신간 전송에 필요한 정보를 패킷에 추가
인터넷 계층 : 패킷의 출발지, 목적지에 대한 정보 제공
네트워크 인터페이스 계층 : 물리적인 전송


위 4개의 프로토콜 스택의 계층 중 전송 계층인 TCP, UDP에 대하여 알아본다. TCP, UDP는 패킷을 전송하기 위한 정보 제공에 관여하는 패킷으로 IP 프로토콜만으로 데이터를 전송할 때의 발생하는 한계를 극복할 수 있다.

위 사진처럼 전송제어 프로토콜에 데이터 오류에 대한 검증 정보, 순서 정보등을 포함하여 오류없이 데이터를 전달할 수 있도록 돕는다.

💡 TCP

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

연결 지향

  • TCP 3 way handshake(가상 연결)
  • 클라이언트와 서버 간 연결을 통하여 정확한 데이터 전송을 보장한다.
  • 클라이언트에서 서버에 SYN을 보내면 서버는 SYN+ACK신호로 응답한다.
  • 신호를 받은 클라이언트는 다시 서버에 SYN을 보내 신호를 확인했음을 알린다.
  • 이렇게 클라이언트와 서버가 3번의 신호 전송을 통해 연결되는 과정을 3 way handshake라고 부른다.

데이터 전달 보증

  • 전달받은 데이터에 대한 ACK 신호를 전송하기 때문에 데이터에 대한 신뢰성 있는 전달을 보증할 수 있다.

순서 보장

  • 데이터를 전송한 순서대로 패킷이 도착하지 않을 경우 ACK 신호를 통해 재전송할 패킷이 무엇인지 알 수 있다.
  • 이러한 과정을 통해 전송한 패킷을 순서대로 전달할 수 있음이 보장된다.

💡 UDP

연결 지향 ❌

  • 3 way handshake 없다.

데이터 전달 보증 ❌

순서 보장 ❌

PORT 정보와 오류 검증을 위한 checksum 정도만 포함

UDP 프로토콜은 데이터 전달과 순서에 대한 보장을 하지 않지만 TCP에 비해 단순하기 때문에 속도가 빠르다.

profile
Backend-Developer

0개의 댓글