TCP, UDP

Khan·2024년 10월 28일
0

TCP, UDP

TCP/IP 패킷 정보

  • 애플리케이션 계층에서 전달된 정보(payload)에 TCP 정보를 생성하여 포함시킨다.
  • IP 패킷 정보가 가지고 있는 한계점(비신뢰성, 비연결성)을 TCP 정보를 통해 해결한다.

TCP(Transmission Control Protocol: 전송 제어 프로토콜)의 특징

  • 연결 지향 프로토콜이다.
  • TCP 3 way handshake(가상 연결)
  • SYN(synchronize) : 접속 요청

  • ACK(acknowledge) : 요청 수락

    1. SYN(Synchronizer) 접속 요청 메세지 전송

    2. SYN + ACK: 응답 메세지와 함께 접속 요청 메세지를 같이 보낸다.

    3. ACK: 요청 응답을하며 이제 양측이 연결이 되었음을 보장 할 수 있게 된다.

    4. 데이터 전송: 이제 데이터를 송신 혹은 수신할 수 있다.

      → 참고: 최근에는 최적화가 되어 클라이언트에서 응답(ACK)을 보낼 때 데이터도 같이 전송을 한다.

  • 데이터 전달 보증

  • 클라이언트에서 데이터를 전송하면 서버측에서는 데이터가 잘 왔는지 응답을 해주기 때문에 데이터 전달을 보증할 수 있다.

  • 순서 보장

  • TCP 정보에는 순서와 같은 정보들이 포함되어 있기 때문에, 패킷의 순서가 잘못된 경우 서버에서 순서가 잘 못된 패킷을 기준으로 재송신 요청을 해서 패킷을 받기 때문에 순서를 보장할 수 있다.

  • 신뢰할 수 있는 프로토콜: 데이터가 전달됨을 보증하고 순서도 보증되기에 신뢰할 수 있다.

  • 현재 대부분이 TCP를 사용한다.

UDP 특징

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

  • TCP와 비교하여 연결지향도 아니고, 데이터 전달, 패킷 순서도 보장되지 않는다.
  • 기능이 거의 없기 때문에 속도가 빠르다.
  • IP와 비슷해 보이지만, PORT정보는 포함되어있고, 체크섬 정도는 추가되어 있다.
  • 애플리케이션에서 추가적인 작업이 필요하다.
  • 체크섬(checksum): 중복 검사의 한 형태로 송신된 자료의 무결성을 보호하는 방법으로 네트워크를 통해 전달되는 값이 위/변조 되는 경우를 대비해 체크섬 값을 같이 보내 무결성을 보호한다. (더보기)

참조

인프런 김영한님 강의

profile
끄적끄적 🖋️

0개의 댓글