전송 제어 프로토콜 (TCP) 및 사용자 데이터 그램 프로토콜 (UDP) 은 인터넷 프로토콜 (IP) 과 함께 사용되는 두 가지 표준 전송 계층입니다.
TDP와 UDP는 모두 네트워크 연결을 통해 전송할 메시지 데이터 패키징의 일부로 헤더 를 사용합니다. TCP 헤더와 UDP 헤더에는 각각 프로토콜 기술 사양에 정의 된 필드 집합이라는 매개 변수 집합이 들어 있습니다.
TCP 헤더 형식
각 TCP 헤더에는 총 20 바이트 (160 비트 ) 크기의 필수 필드가 10 개 있습니다. 또한 선택적으로 최대 40 바이트 크기의 추가 데이터 섹션을 포함 할 수 있습니다.
다음은 TCP 헤더의 레이아웃입니다.
- 원본 TCP 포트 번호 (2 바이트)
- 대상 TCP 포트 번호 (2 바이트)
- 시퀀스 번호 (4 바이트)
- 수신 확인 번호 (4 바이트)
- TCP 데이터 오프셋 (4 비트)
- 예약 데이터 (3 비트)
- 제어 플래그 (최대 9 비트)
- 창 크기 (2 바이트)
- TCP 체크섬 (2 바이트)
- 긴급 포인터 (2 바이트)
- TCP 선택적 데이터 (0-40 바이트)
TCP는 위에 나열된 순서대로 헤더 필드를 메시지 스트림에 삽입합니다.
- 출발지 및 목적지 TCP 포트 번호 는 송수신 장치의 통신 끝점입니다.
- 메시지 발신자는 일련 번호 를 사용하여 메시지 그룹의 순서를 표시합니다. 송신자와 수신자 모두 승인 번호 필드를 사용하여 최근에 수신되었거나 전송 될 것으로 예상되는 일련 번호의 메시지를 전달합니다.
- 데이터 오프셋 필드 는 4 바이트의 배수로 TCP 헤더의 전체 크기를 저장합니다. 선택적 TCP 필드를 사용하지 않는 헤더는 데이터 오프셋이 5 (20 바이트를 나타냄) 인 반면, 최대 크기 옵션 필드를 사용하는 헤더는 데이터 오프셋이 15 (60 바이트를 나타냄)입니다.
- TCP 헤더의 예약 된 데이터 는 항상 0 값을 갖습니다. 이 필드는 총 헤더 크기를 4 바이트의 배수로 정렬하는 목적으로 사용됩니다 (컴퓨터 데이터 처리의 효율성에 중요).
- TCP는 특정 상황에서 데이터 흐름을 관리하기 위해 6 개의 표준 및 3 개의 확장 된 제어 플래그 (각 비트가 켜짐 또는 꺼짐을 나타냄)를 사용합니다. 예를 들어, 1 비트 플래그는 TCP 연결 재설정 논리를 시작합니다. 이 필드의 자세한 작업은이 기사의 범위를 벗어납니다.
- TCP 송신자는 창 크기 라고하는 숫자를 사용하여 수신 확인을 요청하기 전에 수신자에게 보내는 데이터의 양을 규제합니다. 창 크기가 너무 작아지면 네트워크 데이터 전송이 불필요하게 느려지 며 창 크기가 너무 커지면 네트워크 링크가 포화 상태가 될 수 있고 (다른 응용 프로그램에서는 사용할 수 없음) 수신자가 들어오는 데이터를 신속하게 처리하지 못할 수도 있습니다 충분히 (또한 느린 성능의 결과). 프로토콜에 내장 된 윈도우 알고리즘은 크기 값을 동적으로 계산하고 TCP 헤더의이 필드를 사용하여 보낸 사람과받는 사람 사이의 변경 사항을 조정합니다.
- TCP 헤더 내부의 체크섬 값은 수신자가 손상되거나 변조 된 메시지를 탐지하는 데 도움이되는 수학적 기법으로 프로토콜 발신자가 생성합니다.
- 긴급 포인터 필드는 종종 0으로 설정되고 무시되지만 제어 플래그 중 하나와 함께 메시지의 하위 집합을 우선 순위 처리가 필요한 것으로 표시하기 위해 데이터 오프셋으로 사용할 수 있습니다.
- 선택적 TCP 데이터의 사용은이 기사의 범위를 벗어나지 만 특수 승인 및 창 크기 조정 알고리즘에 대한 지원을 포함합니다.
UDP 헤더 형식
UDP는 TCP보다 기능면에서 훨씬 제한적이기 때문에 헤더가 훨씬 작습니다. UDP 헤더는 8 바이트를 포함하며, 다음 4 개의 필수 필드로 나뉩니다.
- 소스 포트 번호 (2 바이트)
- 대상 포트 번호 (2 바이트)
- 데이터 길이 (2 바이트)
- UDP 체크섬 (2 바이트)
UDP는 위에 나열된 순서대로 메시지 필드에 헤더 필드를 삽입합니다.
- 출발지 및 목적지 UDP 포트 번호 는 송수신 장치의 통신 끝점입니다.
- UDP의 길이 필드는 헤더와 데이터를 포함하여 각 데이터 그램의 전체 크기를 나타냅니다. 이 필드의 범위는 최소 8 바이트 (필수 헤더 크기)에서 65,000 바이트를 초과하는 크기입니다.
- TCP와 마찬가지로 UDP 체크섬을 사용하면 수신자가 들어오는 데이터에 손상된 메시지 비트가 있는지 검사 할 수 있습니다.