Ch 4. TCP(1) - TCP 헤더, 타이머


TCP(Transmission Control Protocol)

  • 전송 제어 프로토콜의 약자
  • IP를 통해 확인된 목적지 주소로 데이터를 전송하는 프로토콜로서 전송 계층(4계층)의 기능을 수행
  • 두 호스트 간에 전송되는 데이터와 메시지의 형식을 정의함

TCP의 특징

  • 연결형 : IP계층 위에 가상의 회선을 설정하여 종단간 데이터 송/수신 서비스를 제공
  • 신뢰성 : 데이터 송/수신 확인을 통한 신뢰성있는 통신 서비스 제공 (ACK 필드)
  • 흐름 제어 : 송/수신측의 데이터 처리 속도 차이를 해결하기 위한 방법, 처리할 수 있는 범위 내에서 데이터를 보내도록 제어 (슬라이딩 윈도우, 슬로우 스타트)
  • 혼잡 제어 : 송신측의 데이터 전달과 네트워크의 데이터 처리 속도 차이를 해결하기 위한 방법, 혼잡 현상을 방지하거나 제어 (혼잡 회피)
  • 스트림 통신 : 데이터를 바이트 단위로 나누어 전송(버퍼 사용)

포트(Port)

  • 호스트 내의 프로세스가 통신을 수행하기 위해 할당 받는 고유 번호
  • 데이터 링크 계층(2계층)의 MAC 주소, 네트워크 계층 (3계층)의 IP 주소와 같이 전송 계층(4계층)에서 사용하는 식별 번호
  • 포트 번호는 16비트로 이루어져 있으며 번호의 범위에 따라 사용 목적이 나뉘어져 있음
    • 0 ~ 1023번 : 잘 알려진 포트(well-known port), HTTP(80), FTP(20)와 같은 포트로 특정한 쓰임새를 위해 IANA에서 할당한 TCP, UDP포트
    • 1024 ~ 49151번: 등록된 포트(registered port), 기업이나 사업자들을 위해 IANA에서 할당한 포트
    • 49152 ~ 65535번: 동적 포트(dynamic port), 일반 사용자들이 사용할 수 있는 포트
  • 포트 번호는 IP주소 뒤에 콜론으로 표기됨 (127.0.0.1:61000)

TCP 소켓

  • TCP/IP 통신 인터페이스
  • 두 프로세스의 소켓은 프로토콜, 송신자 IP주소, 송신자 프로세스 번호, 수신자 IP 주소, 수신자 프로세스 번호로 식별
자세히 보기