tcp vs udp what is difference between tcp
이 튜토리얼에서는 TCP 란 무엇이며 UDP는 무엇이며 TCP와 UDP의 차이점은 무엇인지 설명합니다. 또한 기능 및 응용 프로그램에 대해 배우게됩니다.
이전 튜토리얼에서 TCP 프로토콜 제품군 모델과 그 기능에 대해 자세히 설명했습니다. UDP 프로토콜에 대해서도 배웠습니다.
이 튜토리얼에서는 널리 사용되는이 두 프로토콜의 다양한 기능, 작동 모드, 애플리케이션, 속도, 안정성, 전송 특성 및 보안 기능을 비교합니다.
학습 내용 :
- TCP 란 무엇입니까?
- UDP 란?
- TCP 및 UDP 통신 프로세스
- 비교 차트 TCP 대 UDP
- UDP 대 TCP 헤더 형식
- TCP가 수행하는 기능
- UDP가 수행하는 기능
- TCP의 응용
- UDP의 응용
- 결론
- 추천 도서
TCP 란 무엇입니까?
TCP / IP 프로토콜은 4 개 계층의 프로토콜 집합입니다. 전반적으로이 4 개의 계층은 통신 프로세스를 담당하고 인터넷을 통한 데이터, 음성, 패킷의 종단 간 전달 및 내부 및 내부 네트워크를 담당합니다.
전송 제어 프로토콜 (TCP)은이 프로토콜 모델의 세 번째 계층 인 전송 계층에서 작동합니다.
TCP는 각 데이터 그램의 시퀀스 번호와 각 통신 세션의 승인 세션을 사용하여 데이터 패킷이 다음 노드 또는 대상 노드로 전달되도록하는 연결 지향 프로토콜 제품군입니다.
이 시스템은 또한 데이터 패킷에 대한 각 계층에서 보안 전송을 보장하므로 시간 초과 상황에 도달하거나 수신자로부터 적절한 승인 메시지를 수신하지 않는 한 데이터 패킷의 재전송을 제공합니다.
이것이 TCP 프로토콜의 기본 특성입니다.
UDP 란?
UDP (User Datagram Protocol)는 TCP / IP 프로토콜 제품군의 세 번째 계층 인 전송 계층에서 작동합니다. TCP 프로토콜과 달리 통신을 위해 네트워크를 통해 데이터를 전송하기 전에 연결을 설정하지 않기 때문에 비 연결형 프로토콜입니다.
따라서 온라인 비디오 시청 및 온라인 게임 플레이와 같은 통신 프로세스에 필요한 데이터 패킷의 승인이 필요하지 않은 응용 프로그램에 가장 적합합니다.
TCP 및 UDP 통신 프로세스
위 그림과 같이 전송 제어 프로토콜은 먼저 두 호스트 간의 연결을 설정 한 다음 통신 프로세스를 시작하기 때문에 연결 지향적입니다. 3 방향 핸드 셰이크 프로세스를 사용하여 보안 통신을 제공하므로 통신 프로세스의 보안 모드에 사용됩니다.
발신자에서 수신자에게 순차적이고 정확한 데이터 전달을 보장합니다. 데이터 전송에 오류가 발생하면 수신자는 전송 된 데이터가 잘못되었음을 소스에 알리고 소스는 적절한 데이터 전달 확인을받을 때까지 데이터를 다시 전송합니다.
위 그림과 같이 사용자 데이터 그램 프로토콜은 호스트 A와 호스트 B간에 통신을 시작하기위한 적절한 연결이 설정되지 않았기 때문에 비 연결형 프로토콜입니다. 호스트는 통신을 시작하는 프로세스의 두 끝 장치 일뿐입니다.
호스트 A는 데이터를 계속 전송하고 호스트 B는 데이터의 순차적이고 오류없는 전달에 대한 걱정없이 데이터를 수신합니다.
따라서 이것은 신뢰할 수없는 프로토콜이며 안전한 데이터 전송이 중요하지 않지만 비디오 스트리밍 및 온라인 게임과 같이 더 빠른 통신이 필요한 경우에 사용됩니다.
비교 차트 TCP 대 UDP
비교 엔티티 | TCP | UDP |
---|---|---|
사용 된 프로토콜 | 데이터 전송을 위해 TCP에서 사용하는 다양한 프로토콜은 HTTP (하이퍼 텍스트 전송 프로토콜), HTTPs (하이퍼 텍스트 전송 프로토콜 보안), FTP (파일 전송 프로토콜) 및 SMTP (단순 메일 전송 프로토콜) 등입니다. | UDP에서 데이터 전송을 위해 사용하는 다양한 프로토콜은 BOOTP (Bootstrap 프로토콜), DHCP (동적 호스트 구성 프로토콜), DNS (도메인 이름 서버) 및 TFTP (간이 파일 전송 프로토콜) 등입니다. |
기본 기능 | 전송 제어 프로토콜은 데이터 패킷의 통신 프로세스를 시작하기 전에 항상 먼저 소스와 대상 호스트 간의 연결을 설정합니다. | 사용자 데이터 그램 프로토콜은 원본과 대상 끝 사이에 링크를 설정하지 않고 데이터를 대상 호스트로 직접 전달합니다. |
연결 유형 | 데이터 전송을 시작하기 전에 연결을 설정해야하며, 발신자와 수신자 간의 통신이 끝나면 통신 장치가 연결을 종료하거나 종료해야 함을 의미하는 연결 지향 프로토콜입니다. | 소스와 대상 끝 사이에 연결을 설정, 유지 및 종료 할 의무가 없음을 나타내는 연결없는 프로토콜입니다. 브로드 캐스트 및 멀티 캐스트 목적에 가장 적합합니다. |
속도 | 속도는 UDP보다 느립니다. | 빠른 다음 TCP. 실시간 전송 프로토콜입니다. |
신뢰할 수 있음 | 승인 프로세스를 통해 대상 노드에 데이터 패킷을 적절하게 전달하므로 매우 안정적입니다. | 데이터 패킷의 전달이 보장되지 않으므로 신뢰할 수없는 프로토콜입니다. |
헤더 크기 | 20 바이트 | 8 바이트 |
승인 | TCP 프로토콜은 송신자와 수신자 간의 핸드 셰이크 프로세스를 따라 양방향으로 데이터 패킷 수신을 확인합니다. 따라서 이것은 손실 된 데이터 패킷의 재전송 기능을 제공합니다. | 데이터 수신을 확인하지 않으므로 데이터를 다시 전송할 가능성이 없습니다. |
흐름 제어 | 흐름 제어는 슬라이딩 윈도우 및 혼잡 방지 알고리즘 등을 사용하여 수행됩니다. | 따르지 않는 프로세스 |
애플리케이션에 대한 데이터 인터페이스 | 데이터는 메시지 기반 고유 데이터 패킷으로 전송됩니다. | 데이터는 스트림 기반 데이터 패킷으로 전송되며 특정 구조를 따르지 않습니다. |
오류 확인 | 오류 감지 및 수정은 체크섬을 사용하여 수행되며 데이터 패킷은 수정 후 발신자에서 대상 끝으로 재전송됩니다. | 손실 된 데이터 패킷은 폐기되고 오류 검사 프로세스가 실행되지 않습니다. |
응용 | 이 프로토콜은 안전하고 신뢰할 수있는 통신 프로세스를 제공하기 때문에 군사 서비스, 웹 브라우징 및 이메일 등과 같이 데이터 기밀성이 주요 관심사 인 서비스에서 사용됩니다. | 빠른 통신이 필요하고 데이터 신뢰성이 VoIP, 게임 스트리밍, 비디오 및 음악 스트리밍 등과 같은 문제가 아닌 경우에 사용됩니다. |
UDP 대 TCP 헤더 형식
TCP 헤더
- 소스 포트 : 데이터 세그먼트의 소스 포트 주소를 포함하며 16 비트 크기입니다.
- 목적지 포트 : 대상 포트 주소를 포함하며 크기도 16 비트입니다.
- 시퀀스 번호 : 이것은 32 비트 크기입니다. 첫 번째 옥텟 데이터 세그먼트의 시퀀스 번호를 나타냅니다. SYN을 사용할 수있는 경우 시퀀스 번호의 값은 ISN + 1이고 ISN은 초기 시퀀스 번호를 나타냅니다.
- 승인 번호 : 이 필드의 크기도 32 비트입니다. 이 필드는 소스 끝이 데이터 패킷 수신에 대한 승인으로 수신인으로부터 도착할 것으로 예상하는 바로 다음 데이터 세그먼트의 시퀀스 번호를 전달합니다. 소스와 대상 끝 사이에 적절한 연결이 설정되면이 비트가 항상 전송됩니다.
- 데이터 오프셋 : 이 필드는 4 비트 길이입니다. 이것은 데이터가 시작되는 지점을 나타냅니다.
- 예약석: 일부 비트는 향후 용도로 예약되어 있으며이 필드의 값은 0입니다. 길이는 6 비트입니다.
- 플래그 : 이것은 또한 6 비트입니다. 다양한 목적을 위해 다른 플래그가 사용됩니다. 적합성에 따라 플래그는 0 또는 1로 설정됩니다.
- 창 크기 : 이 필드의 크기는 16 비트입니다. 이 필드에는 수신 확인 번호 필드에 표시되고 발신자가 수신 대기중인 데이터 옥텟의 개수가 포함됩니다.
- 체크섬 : 이것은 또한 16 비트 크기입니다. 체크섬은 전체 데이터 세그먼트의 모든 데이터 옥텟에 대해 계산됩니다. 1의 보수와 출력의 1의 보수로 평가 된 다음 두 출력 모두 현재 16 비트 헤더와 옥텟의 텍스트 데이터에 추가됩니다. 결과는 수정을 위해 다음 상위 계층으로도 전송됩니다.
- 긴급 포인터 : 이 필드는 16 비트 크기입니다. URG 플래그가 설정된 경우에만이 필드가 계산됩니다. 긴급 데이터 이후 데이터 옥텟의 시퀀스 번호를 나타냅니다.
- 옵션 : 이것은 가변 필드입니다. 옥텟 가장자리의 시작 부분에 설정할 수 있습니다.
UDP 헤더
UDP 헤더는 TCP 헤더와 비교할 때 4 개의 필드 만 가지고 있으며 TCP 헤더와 비교할 때 매우 이해하기 쉽습니다.
토렌트 파일 창을 여는 방법
- 소스 포트 : 이것은 16 비트 길이입니다. 여기에는 데이터 패킷을 전송하기 위해 소스 끝에서 사용하는 소스 포트의 값이 포함됩니다. 범위는 0에서 65535 사이입니다.
- 목적지 포트 : 이 필드의 크기는 16 비트입니다. 여기에는 대상 호스트가 데이터 수신을 기대하는 포트 번호가 포함됩니다.
- 길이: 이 필드 크기는 16 비트입니다. 사용자 데이터 그램, 헤더 및 데이터의 길이 크기로 구성됩니다.
- 체크섬 : 이것은 또한 16 비트 크기이지만 선택적 필드입니다. 데이터 그램의 오류 계산에 사용됩니다. 0으로 설정하면 체크섬이 계산되지 않고 1로 설정되면 계산됩니다.
[영상 출처 ]
TCP가 수행하는 기능
(i) 주소 지정 및 다중화 :
TCP 포트는 상위 계층 응용 프로그램을위한 네트워크의 다양한 프로세스를 처리하는 데 사용됩니다. 이것은 또한 다양한 절차에 의해 수집 된 데이터를 다중화 한 다음 네트워크 액세스 계층과 관련하여 데이터 패킷을 브로드 캐스트합니다.
(ii) 연결 설정, 유지 및 종료 :
이 프로토콜에서는 소스와 대상 끝 사이의 연결을 설정하기 위해 여러 프로세스 및 규칙 세트를 따릅니다. 핸드 셰이크 프로토콜 및 방법이 있으며 진행중인 통신 프로세스를 유지하고 확인하는 데 사용됩니다.
결국, 소스와 목적지 사이에서 통신이 끝나면 연결을 종료하기 위해 몇 가지 규칙을 따릅니다.
(iii) 데이터 패키징 :
통신을 위해 데이터 패킷을 상위 계층으로 전달하기 전에 TCP는 먼저 데이터를 전송을 위해 메시지 형식으로 패키징하는 절차를 제공 한 다음 대상 끝으로 전달합니다.
대상 끝에서 수신기는 데이터를 디코딩하고 압축을 풀고 다시 상위 계층 애플리케이션으로 전달합니다.
(iv) 안정적인 통신 모드와 높은 QoS 제공 :
발신자와 수신단 간의 통신을위한 안정적인 모드를 제공하고 고품질 서비스를 보장합니다.
데이터 전송을 위해 TCP에서 사용하는 메커니즘은 데이터의 안정적인 전달을 보장하고 누락되거나 순서를 벗어난 데이터의 재전송을 제공하는 일련의 규칙을 따릅니다. 안정적인 통신을 보장하기 위해 서로 다른 핸드 셰이크 프로토콜이 사용됩니다.
UDP가 수행하는 기능
(i) 상위 계층 데이터 전송 : UDP 프로토콜은 상위 계층에서 전송할 데이터를 수신 한 다음이를 UDP 메시지로 변환 한 다음 통신을 위해 UDP 소프트웨어로 전송합니다.
(ii) UDP 메시지 캡슐화 : UDP 메시지는 데이터 필드에 캡슐화됩니다. UDP 헤더는 소스 포트와 대상 포트 도메인으로 구성되며 체크섬 값도 파악합니다.
(iii) 다음 계층으로 전송 된 메시지 : 위의 필드를 계산 한 후 UDP 메시지는 통신을 위해 IP로 전달됩니다. 목적지 끝에서 프로세스가 되돌려집니다.
TCP의 응용
- TCP는 FTP (파일 전송 프로토콜)에서 멀리 떨어진 호스트간에 조직 내에서 안전하게 빅 데이터 파일을 공유하고 전송하는 데 사용됩니다.
- SMTP (Simple Mail Transfer Protocol)를 사용하는 전자 메일 프로세스는 또한 TCP를 사용하여 다양한 호스트간에 전자 메일 및 데이터 파일을 조직 내부 및 외부로 보냅니다.
- POP는 또한 전자 메일 메시지를 복구하거나 다운로드하기 위해 TCP를 사용합니다.
- TELNET 프로토콜은 또한 로그인을 위해 TCP를 사용하고 상대방 또는 원격 끝에있는 호스트에 안전하게 액세스합니다.
- BGP (Border Gateway Protocol)는 TCP에서도 작동하여 WAN 네트워크를 통해 안정적인 통신 모드를 제공합니다.
- 군대는 TCP를 사용하여 인터넷 작업 내에서 기밀 데이터와 정보를 교환합니다.
UDP의 응용
- 빠른 데이터 속도 만 중요하고 손실 된 데이터 복구는 처리되지 않는 스트리밍 비디오, 스트리밍 오디오 등.
- 온라인 비디오 및 그래픽 게임 플레이.
- UDP는 손실 된 데이터를 나중에 복구 할 수있는 터널링 프로세스 및 VPN 네트워크에서도 사용됩니다.
- UDP는 LAN 네트워크의 브로드 캐스팅 목적으로도 사용됩니다.
- 휴대폰에서 실시간 TV를 보는 것은 IPTV라고도 알려진 UDP의 최신 대중적 사용입니다.
결론
그림과 표 형식 비교 차트를 사용하여 TCP와 UDP 프로토콜의 차이점을 살펴 보았습니다. 한편으로 TCP는 연결 지향 프로토콜이며 다양한 기능으로 안정적인 통신을 제공합니다.
반면에 UDP는 TCP보다 빠른 통신 프로세스를 제공하지만 데이터 수신 및 전송의 승인 프로세스에서 지원되지 않기 때문에 신뢰할 수없는 매우 간단한 비 연결 실시간 전송 프로토콜입니다.
그러나 둘 다 중요하며 그 방식에 의미가 있습니다.
=> 여기에서 컴퓨터 네트워킹 기본 가이드를 살펴보십시오.