TCP 및 UDP는 인터넷 연결을 통해 데이터가 교환되는 방식을 설정하는 데 사용되는 연결 프로토콜입니다. IP가 무엇을 의미하는지 이미 알고 있다면(즉, 인터넷 프로토콜) TCP와 UDP가 그 위에 개발되었으므로 이미 알고 있는 것입니다.
그러나 그것들이 거의 동일하다고 생각하는 것은 잘못된 것입니다. TCP와 UDP는 모두 인터넷에서 데이터를 보내고 받는 방식에 대해 “말이 있지만” 실제로는 매우 다르며 이러한 이유로 서로 다른 목적으로 사용됩니다.
간단히 말해서 매일 인터넷에 액세스할 때 이 두 프로토콜을 무심코 사용한다고 가정해 보겠습니다. 이 두 프로토콜은 장치가 개방형 웹(및 연결된 장치)과 통신하는 방식에서 가장 중요하게 만들고 그 반대의 경우도 마찬가지입니다.
TCP와 UDP는 모두 인터넷 프로토콜을 기반으로 하기 때문에 TCP/UDP 입문 과정으로 바로 넘어가기 전에 IP에 대해 더 많이 이해하고 싶을 것입니다. 달리기 전에 걷는 법을 배워야 합니다.
목차
IP 주소란 무엇입니까?
인터넷 프로토콜(Internet Protocol)의 약자인 IP는 우리가 알고 있는 인터넷이 구축된 맨 위에 있는 백본입니다. 모든 장치가 인터넷에 액세스할 수 있도록 고유한 IP 주소가 할당된다는 사실을 통해 그 중요성을 쉽게 파악할 수 있습니다.
숫자와 소수로만 구성된 주소입니다. 보다 구체적으로 IPv4 주소는 4개의 개별 숫자로 구성될 수 있으며 각 숫자는 0에서 254 사이의 값을 가질 수 있습니다. IPv4는 총 43억 개의 고유 IP 주소 범위를 제공했습니다.
어쩔 수 없이 인터넷은 새로운 고유 IP 주소를 생성할 수 없는 지경에 이르렀고, 이때 IPv6 시스템이 등장했습니다. 공용 IPv6 주소는 16진수를 사용하며 각각 128비트를 포함합니다. 즉, 기본 10(0~10) 대신 기본 16(0~10 더하기 “a”~”f”)을 사용합니다.
IPv6 시스템의 도움으로 우리가 가질 수 있는 공용 IPv6 주소의 총 범위는 340운데실리온(3.4 * 10^28)입니다. 머리를 감쌀 수 없다면 IPv4 및 IPv6 주소가 어떻게 보이는지 확인하십시오.
IPv4 주소 예: 10.238.126.215
IPv6 주소 예: fe80:0db8:0412:2001:3c5e:0000:10a9
궁극적인 목표는 IPv6이 IPv4를 대체하는 것이지만 오늘날에는 두 프로토콜이 함께 작동합니다.
IP 주소를 사용하면 인터넷 지원 장치를 찾고, 서로 통신하고, 정보를 교환할 수 있습니다. 데이터 공유, 비디오 스트리밍 또는 이메일 전송은 IP 주소 없이는 불가능합니다. 온라인에서 하는 모든 작업은 데이터로 변환될 수 있습니다.
최적의 기능을 보장하기 위해 IP는 이 데이터를 더 잘 관리할 수 있도록 이 데이터를 더 작은 청크로 분할합니다. 이러한 데이터 청크를 패킷이라고 합니다. 그러나 이러한 패킷에는 전달해야 하는 정보뿐만 아니라 도달해야 하는 장치의 대상 IP 주소도 포함됩니다. 이 목적지를 헤더라고 합니다.
패킷이 장치를 떠난 후 게이트웨이로 향하고 도메인에서 패킷의 대상 IP 주소를 검색합니다. 게이트웨이는 인터넷에서 주어진 IP 주소 세트만 볼 수 있다는 점을 언급할 가치가 있습니다.
따라서 게이트웨이가 자신의 도메인에서 주소를 찾지 못하면 다른 게이트웨이로 패킷을 보내고, 이 동작은 패킷이 헤더에 지정된 목적지 IP 주소를 감지할 수 있는 게이트웨이에 도달할 때까지 계속된다. 해당 주소와 연결된 장치로 전송합니다.
주목할 가치가 있는 또 다른 점은 데이터가 작은 패킷으로 분할된다는 사실은 데이터가 반드시 순서대로 도착하거나 동일한 경로를 사용할 필요가 없다는 것을 의미합니다. 사실 패킷은 일반적으로 매번 가능한 가장 빠른 경로를 찾으려고 합니다.
마지막으로 인터넷 프로토콜은 형식에 따라 달라지지 않으므로 비디오, 이미지, 오디오, 이메일, 인스턴트 메시지, 게임 등 모든 형식의 데이터에 이상적입니다.
TCP 란 무엇입니까?
TCP(Transmission Control Protocol)는 인터넷 프로토콜 제품군에서 사용되는 주요 프로토콜 중 하나입니다. UDP 이전에 왔으며 프로그램과 장치가 네트워크를 통해 정보를 교환할 수 있도록 하는 데 사용되었습니다.
때때로 IP와 쌍을 이루고 TCP/IP라고 하는 것을 알 수 있습니다. 그러나 동일한 의미입니다(즉, TCP와 TCP/IP는 정확히 같은 것입니다).
위에서 설명한 것처럼 데이터는 작은 패킷으로 분할되어 이 조각난 형태로 다른 장치로 전송되며, 다른 경로에서도 가능합니다. TCP는 이러한 패킷을 원래 형태로 다시 조립할 필요가 있기 위해 발명되었습니다.
TCP는 모든 패킷이 도착할 때까지 기다렸다가 개수를 세고 체크섬을 사용하여 오류를 확인하고 목적지에 도착한 패킷을 확인하고 처음에 도착하지 않은 패킷을 다시 보내도록 원래 컴퓨터에 요청합니다. 모든 패킷을 수신한 후 TCP는 이를 원래 데이터로 재조립하여 적절한 애플리케이션(예: 이메일 클라이언트, 사진 뷰어, 비디오 플레이어)에 전달합니다.
이 프로세스는 오늘날 매우 빠르게 진행되며 데이터가 발신자 장치에 있었던 것과 동일하게 수신자의 컴퓨터에 내부 변경 없이 도착하도록 합니다. 또한 프로세스는 실제로 데이터가 도착하고 100% 확인될 때까지 참여 장치 간의 연속적인 앞뒤로 설명될 수 있으므로 양쪽 끝에서 지속적인 통신이 필요합니다.
손실되거나 손상된 패킷이 누락된 비트가 목적지에 안전하게 도착할 때까지 프로세스를 중단시킬 수 있기 때문에 장치 간의 이러한 지속적인 통신은 TCP에 엄청난 부담을 줍니다. 그러나 TCP는 모든 것을 스스로 할 필요가 없으므로 UDP는 얼마 지나지 않아 발명되었습니다.
간단히 말해서 TCP:
패킷이 삭제되지 않았는지 확인
누락된 패킷이 감지되면 패킷 재전송을 요청합니다.
쉽게 재조립할 수 있도록 패킷을 순서대로 보냅니다.
가장 대중적인 인터넷 프로토콜
모든 패킷이 도착하는지 확인해야 하기 때문에 UDP보다 느림
웹사이트, 이메일, FTP(파일 전송 프로토콜), P2P 파일 공유에 적합
UDP 란 무엇입니까?
UDP는 User Datagram Protocol의 약자이며 TCP의 대안이므로 본질적으로 동일한 작업을 수행한다고 가정하는 것이 안전합니다. 그러나 TCP는 패킷 데이터 검사에 매우 세심한 반면 UDP는 조금 더 부주의하기 때문에 동시에 크게 다릅니다.
두 명의 직원이 우편물 분류소에서 편지를 처리한다고 상상해 보십시오. TCP는 각 편지를 주의 깊게 검사하고 모든 편지가 도착할 때까지 모든 통신을 보류하는 반면 UDP는 편지의 무결성을 확인하고 목적지로 전달하는 반면, 모든 편지는 삭제합니다. 도착하지 않았고 재전송을 요구하지 않았습니다.
따라서 UDP가 더 빠르다고 말하는 것이 안전하지만 데이터 손실을 희생하면서 속도를 희생하려는 이유는 무엇입니까? 기본적으로 패킷 손실이 정확히 비극이 아닌 일부 응용 프로그램이 있습니다.
예를 들어, VoIP 클라이언트를 사용 중이고 누군가와 대화하는 경우 간헐적으로 프레임이 손실되거나 오디오에서 약간의 버벅거림을 느낄 수 있습니다. 이는 대부분 무시하기 쉽고 중요하지 않습니다. 게임의 경우에도 마찬가지입니다. 게임이 끊기거나 고무줄이 때때로 나타날 수 있습니다. UDP는 전송 중에 손실된 패킷을 삭제하기 때문에 재생을 재개하면 끝입니다.
즉, UDP:
TCP보다 빠르고 더 적은 리소스를 사용합니다.
반드시 순서대로 패킷을 보낼 필요는 없습니다.
누락된 패킷을 삭제하여 연결 속도 향상
발신자는 패킷이 삭제되었는지 확인할 방법이 없습니다.
비디오 스트리밍, VoIP, 게임 및 라이브 방송에 주로 사용
VPN 사용의 TCP 및 UDP
요즘 점점 더 많은 VPN이 WireGuard를 채택하거나 사용할 독점 프로토콜을 만들기 시작하지만 많은 VPN이 OpenVPN에 의존하고 있습니다. 오랜 시간이 지난 후에도 여전히 안정적이고 빠르고 안전하기 때문입니다.
그러나 OpenVPN은 TCP와 UDP 모두에서 작동하며 대부분의 경우 이 두 프로토콜 중에서 선택할 수 있다는 사실을 모를 수도 있습니다. 이것은 (데이터 무결성 대 속도) 중요한 결정처럼 들릴 수 있지만 실제 문제는 다른 데 있습니다.
VPN을 사용하는 동안 속도 면에서 TCP와 UDP의 큰 차이를 느끼지 못할 수도 있습니다. 그러나 연결이 방화벽을 우회해야 하는 경우 상황이 변경됩니다. 주로 이러한 프로토콜이 다른 포트에서 작동하고 일부 방화벽이 특정 유형의 트래픽에 대한 기본 포트를 차단할 수 있기 때문입니다.
따라서 VPN 공급자가 TCP와 UDP 중에서 선택할 수 있게 해주는 이유입니다. 한 프로토콜에서 연결이 작동하지 않는다는 것을 알게 되면 다른 프로토콜로 전환하고 손가락을 교차할 수 있습니다. 일부 VPN 공급자는 방화벽을 피하기 위해 연결에 대한 사용자 지정 포트를 선택할 수도 있는 고급 설정을 제공합니다.
TCP와 UDP의 차이점
TCP
UDP
TCP는 인터넷에서 가장 널리 사용되는 프로토콜입니다.
전송된 모든 데이터는 수신자에게 전달되며 패킷 손실 보장 없음
패킷은 순서대로 전송됩니다.
더 많은 리소스가 필요하므로 속도도 느려집니다.
UDP는 게임, 비디오 스트리밍, VoIP, 라이브 방송에 사용됩니다.
발신자는 패킷이 누락되었는지 알 수 없음(수신되지 않음)
패킷은 반드시 순서대로 전송되지 않습니다.
더 적은 리소스가 더 빠르게 필요합니다.
TCP 대 UDP: 결론
결론적으로 TCP와 UDP는 데이터가 도중에 수정되지 않고 안전하게 목적지에 도달하도록 하는 매우 유사한 프로토콜입니다.
TCP는 데이터를 전송하는 동안 여러 가지 검사를 수행하며 일반적으로 패킷 손실을 방지하는 데 더 과감하므로 웹 사이트, 이메일, 인스턴트 메시지, 사진 및 파일 공유에 적합합니다.
UDP는 목적지가 올바른지 확인하고 패킷의 무결성을 확인하지만 발신자에게 손실된 패킷을 다시 보내도록 요청하지 않고 대신 삭제합니다. 즉, 더 빠른 연결을 얻을 수 있지만 패킷을 함께 삭제할 수 있습니다. 방법. UDP는 대부분 게임, VoIP, 스트리밍 비디오 및 라이브 콘텐츠 방송에 사용되며, 여기서 몇 개의 패킷 손실이 최종 결과에 너무 큰 영향을 미치지 않아야 합니다.