전송 제어 프로토콜과 사용자 데이터그램 프로토콜은 인터넷 프로토콜과 함께 널리 사용되는 두 가지 전송 계층 프로토콜입니다. 프로토콜은 두 대의 컴퓨터가 서로를 이해하고 데이터를 교환하기 위해 따라야 하는 일련의 절차와 규칙입니다. TCP는 둘 중 가장 일반적으로 사용되는 프로토콜이지만 일부 상황에서는 UDP가 더 유용합니다.
전체 결과
TCP-
데이터가 전송된 대로 도착하도록 보장합니다.
-
데이터 스트림의 오류를 검사합니다.
-
20바이트 헤더는 선택적 40바이트의 함수 데이터를 허용합니다.
-
UDP보다 느립니다.
-
안정성이 필요한 앱에 가장 적합합니다.
-
데이터가 도착한다는 보장은 없습니다.
-
오류 검사가 제공되지 않습니다.
-
8바이트 헤더는 필수 기능 데이터만 허용합니다.
-
TCP보다 빠릅니다.
-
속도가 필요한 앱에 가장 적합합니다.
두 프로토콜 모두 인터넷을 통해 패킷으로 데이터를 보냅니다. 둘 중 TCP는 연결 지향적입니다. 연결이 이루어진 후 데이터는 양방향으로 이동합니다. UDP는 연결이 없는 단순한 프로토콜입니다.
TCP는 UDP보다 강력합니다. 오류 수정 기능과 높은 신뢰성을 제공합니다. UDP는 주로 오류 수정을 제공하지 않기 때문에 TCP보다 빠릅니다. 또한 TCP는 흐름 제어를 처리하지만 UDP는 흐름 제어 옵션이 없습니다.
최고의 안정성:TCP
TCP-
데이터 전달을 보장합니다.
-
데이터 패킷을 추적합니다.
-
패킷에 오류가 있는지 확인합니다.
-
흐름 제어.
-
추가 옵션이 있는 20바이트 헤더.
-
배송이 보장되지 않습니다.
-
패킷이 손실될 수 있습니다.
-
흐름 제어가 없습니다.
-
헤더는 8바이트로 제한됩니다.
TCP는 수신자에게 데이터 전달을 보장합니다. 데이터가 손실되면 TCP는 손실된 데이터를 복구하고 다시 전송하는 단계를 수행합니다. 이를 위해 TCP는 데이터 패킷을 추적하고 패킷에 오류가 있는지 확인합니다.
UDP는 데이터 전달을 보장하지 않습니다. 또한 UDP 패킷은 전송 중에 손실되거나 손상될 수 있습니다.
TCP와 UDP 모두 네트워크 연결을 통한 전송을 위해 메시지 데이터 패키징의 일부로 헤더를 사용합니다. TCP는 두 프로토콜 중 더 강력하기 때문에 헤더는 추가 데이터 옵션이 있는 20바이트로 더 크고 UDP 헤더는 크기가 8바이트로 제한됩니다.
최고의 속도:UDP
TCP-
많은 기능을 수행하기 때문에 느립니다.
-
제한된 기능을 제공하므로 빠릅니다.
TCP는 신뢰할 수 있지만 주로 더 많은 기능을 수행하기 때문에 UDP보다 느립니다. 게이머 및 비디오 작업을 하는 사람들과 같이 가능한 가장 빠른 속도가 필요한 최종 사용자는 UDP의 이점을 누릴 수 있습니다.
용도에 가장 적합:용도에 따라 다름
TCP-
웹, 파일 전송, 이메일 및 보안 셸에 가장 적합합니다.
-
VPN, 스트리밍 비디오, VoIP, 라이브 방송 및 온라인 게임에 가장 적합합니다.
TCP는 신뢰성이 높기 때문에 웹, 이메일, FTP와 같이 높은 신뢰성을 요구하지만 속도를 요구하지 않는 상황에 가장 적합합니다.
UDP의 속도는 온라인 게임, 라이브 방송, VPN 터널링 및 스트리밍 비디오에 가장 적합합니다.
TCP 헤더 형식
각 TCP 헤더에는 크기가 총 20바이트(160비트)인 10개의 필수 필드가 있습니다. 선택적으로 최대 40바이트 크기의 추가 데이터 필드를 포함할 수 있습니다.
8비트는 1바이트와 같습니다.
TCP 헤더는 소스 및 대상 통신 끝점에서 시작하여 다음 순서로 나타납니다.
- 소스 TCP 포트 번호 (2바이트 또는 16비트):소스 TCP 포트 번호는 전송 장치를 나타냅니다.
- 대상 TCP 포트 번호 (2바이트 또는 16비트):대상 TCP 포트 번호는 수신 장치의 통신 끝점입니다.
- 순서 번호 (4바이트 또는 32비트):메시지 발신자는 시퀀스 번호를 사용하여 메시지 그룹의 순서를 표시합니다.
- 승인 번호 (4바이트 또는 32비트):발신자와 수신자 모두 승인 을 사용합니다. 숫자 필드는 최근에 받았거나 보낼 것으로 예상되는 메시지의 시퀀스 번호를 전달합니다.
- TCP 데이터 오프셋 (4비트):데이터 오프셋 필드는 4바이트의 배수로 TCP 헤더의 전체 크기를 저장합니다. 선택적 TCP 필드를 사용하지 않는 헤더의 데이터 오프셋은 5(20바이트를 나타냄)이고 최대 크기의 선택적 필드를 사용하는 헤더의 데이터 오프셋은 15(60바이트를 나타냄)입니다.
- 예약 데이터 (3비트):TCP 헤더의 예약 데이터는 항상 0 값을 가집니다. 이 필드는 총 헤더 크기를 컴퓨터 데이터 처리의 효율성에 중요한 4바이트의 배수로 정렬합니다.
- 제어 플래그 (최대 9비트):TCP는 6개의 표준 및 3개의 확장 제어 플래그 세트(각각 개별 비트가 On 또는 Off를 나타냄)를 사용하여 특정 상황에서 데이터 흐름을 관리합니다.
- 창 크기 (2바이트 또는 16비트):TCP 발신자는 창 크기라는 숫자를 사용합니다. 응답으로 승인을 요구하기 전에 수신자에게 보내는 데이터의 양을 조절합니다. 창 크기가 너무 작으면 네트워크 데이터 전송이 불필요하게 느립니다. 창 크기가 너무 크면 네트워크 링크가 포화되거나 수신기가 들어오는 데이터를 충분히 빠르게 처리하지 못해 성능이 저하될 수 있습니다. 프로토콜에 내장된 윈도우 알고리즘은 크기 값을 동적으로 계산하고 TCP 헤더의 이 필드를 사용하여 발신자와 수신자 간의 변경 사항을 조정합니다.
- TCP 체크섬 (2바이트 또는 16비트):TCP 헤더 내부의 체크섬 값은 프로토콜 발신자가 수학적 기술로 생성하여 수신자가 손상되거나 변조된 메시지를 감지하는 데 도움이 됩니다.
- 긴급 포인터 (2바이트 또는 16비트):긴급 포인터 필드는 종종 0으로 설정되고 무시되지만 제어 플래그 중 하나와 함께 데이터 오프셋으로 사용되어 메시지의 하위 집합을 우선 순위 처리가 필요한 것으로 표시할 수 있습니다.
- TCP 선택적 데이터 (0 ~ 40바이트):선택적 TCP 데이터 사용에는 특수 승인 및 창 크기 조정 알고리즘 지원이 포함됩니다.
UDP 헤더 형식
UDP는 TCP에 비해 기능이 제한되어 있기 때문에 헤더가 더 작습니다. UDP 헤더에는 8바이트가 포함되며 다음 4개의 필수 필드로 구분됩니다.
- 소스 UDP 포트 번호 (2바이트):소스 UDP 포트 번호는 송신 장치를 나타냅니다.
- 대상 UDP 포트 번호 (2바이트):대상 UDP 포트 번호는 수신 장치의 통신 끝점입니다.
- 데이터 길이 (2바이트):UDP의 길이 필드는 헤더와 데이터를 모두 포함하여 각 데이터그램의 총 크기를 나타냅니다. 이 필드의 값 범위는 최소 8바이트(필수 헤더 크기)부터 65,000바이트 이상의 크기까지입니다.
- UDP 체크섬 (2바이트):TCP와 마찬가지로 UDP 체크섬을 사용하면 수신자가 수신 데이터에서 손상된 메시지 비트를 교차 확인할 수 있습니다.
최종 판결
TCP가 가장 일반적으로 사용되는 프로토콜인 이유가 있습니다. 견고하고 신뢰할 수 있으며 데이터가 전송된 그대로 수신됨을 보장합니다. 오류가 확인된 정보 스트림으로 인해 속도가 약간 느려질 수 있지만 대부분의 경우 지연이 거래 차단기가 되지는 않습니다.
UDP가 TCP보다 더 빛나는 시간은 비디오 스트리밍, VPN 또는 온라인 게임과 같이 속도가 매우 중요한 때입니다.