티스토리 뷰

TCP(Transmission Control Protocol)

인터넷 상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜

TCP와 IP를 함께 사용한다.

  • IP데이터의 배달을 처리
  • TCP패킷을 추적 및 관리하게 된다.

TCP연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용한다.

 

TCP 특징

  • 연결형 서비스로 가상 회선 방식을 제공한다.
  • 발신지와 수신지를 연결하여 패킷을 전송하기 위한 논리적 경로를 배정한다.
  • 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다.
  • 3-way handshaking을 쓰는 이유는 TCP는 연결형 서비스로 높은 신뢰성을 보장하기 때문이다.
  • 흐름 제어 및 혼잡 제어
  • 높은 신뢰성을 보장한다.
  • UDP보다 비교적 속도가 느리다.
  • 전이중(Full-Duplex), 점대점(Point to Point) 방식이다.

TCP 서버의 특징

  • 서버소켓은 연결만을 담당한다.
  • 연결 과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용된다.
  • 서버와 클라이언트는 1대1로 연결된다.
  • 스트림 전송으로 전송 데이터의 크기가 무제한이다.
  • 패킷에 대한 응답을 해야하기 때문에(시간 지연, CPU 소모) 성능이 낮다.
  • Streaming 서비스에 불리하다.(손실된 경우 재전송 요청을 하므로)

TCP는 패킷을 어떻게 추적 및 관리하나?

  • 데이터는 패킷단위로 나누어 같은 목적지(IP계층)으로 전송된다.
  • 예를 들어, 한줄로 서야하는 A,B,C라는 사람(패킷)들이 서울(발신지)에서 출발하여 부산(수신지)으로 간다고 하자.
  • 그런데 A,B,C가 순차적으로 가는 상황에서 B가 길을 잘못 들어서 분실되었다.
  • 하지만 목적지에서는 A,B,C가 모두 필요한지 모르고 A,C만 보고 다 왔다고 착각할 수 있다.
  • 그렇기 때문에 A,B,C라는 패킷에 1,2,3이라는 번호를 부여하여 패킷의 분실 확인과 같은 처리를 하여 목적지에서 재조립을 한다.

---

UDP(User Datagram Protocol)

데이터를 데이터그램 단위로 처리하는 프로토콜

  • 데이터그램이란, 독립적인 관계를 지니는 패킷이라는 뜻이다.

TCP와 달리 UDP는 비연결형 프로토콜이다.

  • 즉, 연결을 위해 할당되는 논리적인 경로가 없다.

각각의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 된다.

UDP 특징

  • 비연결형 서비스로 데이터그램 방식을 제공한다
  • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
  • UDP 헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
  • 신뢰성이 낮다.
  • TCP보다 비교적 속도가 빠르다.
  • 신뢰성보다는 연속성이 중요한 서비스 예를 들면 실시간 서비스(streaming)에 자주 사용된다.

UDP 서버의 특징

  • UDP에는 연결 자체가 없어서(connect 함수 불필요) 서버 소켓과 클라이언트 소켓의 구분이 없다.
  • 소켓 대신 IP를 기반으로 데이터를 전송한다.
  • 서버와 클라이언트는 1대1, 1대N, N대M 등으로 연결될 수 있다.
  • 데이터그램(메세지) 단위로 전송되며 그 크기는 65535바이트로, 크기가 초과하면 잘라서 보낸다.
  • 흐름제어(flow control)가 없어서 패킷이 제대로 전송되었는지, 오류가 없는지 확인할 수 없다.
  • 파일 전송과 같은 신뢰성이 필요한 서비스보다 성능이 중요시 되는 경우에 사용된다.

'Computer Science > 네트워크' 카테고리의 다른 글

호스팅은 무엇인가?  (0) 2020.10.04
도메인 네임이란?  (0) 2020.10.04
HTTP 프로토콜이란 ?  (0) 2020.10.04
DNS와 작동 원리  (0) 2020.10.03
인터넷은 어떻게 작동하는가  (0) 2020.10.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함