TCP와 UDP의 차이점은 무엇입니까?

라우터에서 포트 포워딩을 설정하거나 방화벽 소프트웨어를 구성 할 때 TCP 및 UDP에 대한 참조를 보셨을 것입니다. 이 두 프로토콜은 서로 다른 유형의 데이터에 사용됩니다.

TCP / IP는 인터넷과 대부분의 로컬 네트워크를 통해 통신하기 위해 장치에서 사용하는 프로토콜 모음입니다. 원래 프로토콜 인 TCP (Transmission Control Protocol)와 IP (인터넷 프로토콜)의 이름을 따서 명명되었습니다. TCP는 네트워크를 통해 순서가 지정되고 오류가 확인 된 정보 패킷 스트림을 전달 (및 수신)하는 방법을 앱에 제공합니다. UDP (User Datagram Protocol)는 앱에서 오류 검사를 제거하여 더 빠른 정보 스트림을 제공하는 데 사용됩니다. 일부 네트워크 하드웨어 또는 소프트웨어를 구성 할 때 차이점을 알아야 할 수 있습니다.

공통점

관련 : 개인 및 공용 IP 주소를 찾는 방법

TCP와 UDP는 모두 인터넷을 통해 패킷이라고하는 데이터 비트를 보내는 데 사용되는 프로토콜입니다. 두 프로토콜 모두 IP 프로토콜 위에 구축됩니다. 즉, TCP 또는 UDP를 통해 패킷을 보내는 경우 해당 패킷은 IP 주소로 전송됩니다. 이러한 패킷은 컴퓨터에서 중간 라우터 및 대상으로 전달되므로 유사하게 처리됩니다.

TCP와 UDP는 IP 위에서 작동하는 유일한 프로토콜이 아닙니다. 그러나 가장 널리 사용됩니다.

TCP 작동 방식

TCP는 인터넷에서 가장 일반적으로 사용되는 프로토콜입니다.

브라우저에서 웹 페이지를 요청하면 컴퓨터가 웹 서버 주소로 TCP 패킷을 보내 웹 페이지를 다시 보내달라고 요청합니다. 웹 서버는 웹 브라우저가 웹 페이지를 형성하기 위해 함께 연결하는 TCP 패킷 스트림을 전송하여 응답합니다. 링크를 클릭하거나, 로그인하거나, 댓글을 게시하거나, 기타 작업을 수행하면 웹 브라우저가 서버에 TCP 패킷을 보내고 서버는 TCP 패킷을 다시 보냅니다.

TCP는 신뢰성에 관한 것입니다. TCP로 전송 된 패킷은 추적되므로 전송 중에 데이터가 손실되거나 손상되지 않습니다. 이것이 네트워크 문제가 있어도 파일 다운로드가 손상되지 않는 이유입니다. 물론 수신자가 완전히 오프라인 상태이면 컴퓨터가 포기하고 원격 호스트와 통신 할 수 없다는 오류 메시지가 표시됩니다.

TCP는 두 가지 방법으로이를 달성합니다. 먼저 번호를 매겨 패킷을 정렬합니다. 둘째, 수신자가 메시지를 받았다는 응답을 보낸 사람에게 다시 보내도록하여 오류를 확인합니다. 보낸 사람이 올바른 응답을받지 못하면받는 사람이 올바르게 수신하도록 패킷을 다시 보낼 수 있습니다.

관련 : 프로세스 탐색기 이해

Process Explorer 및 기타 시스템 유틸리티는 프로세스가 만드는 연결 유형을 표시 할 수 있습니다. 여기에서 다양한 웹 서버에 대한 TCP 연결이 열려있는 Chrome 브라우저를 볼 수 있습니다.

UDP 작동 방식

관련 : 대기 시간이 빠른 인터넷 연결을 느리게 만드는 방법

UDP 프로토콜은 TCP와 유사하게 작동하지만 모든 오류 검사 항목을 버립니다. 모든 앞뒤 통신은 지연을 유발하여 작업 속도를 늦 춥니 다.

앱이 UDP를 사용하면 패킷이 수신자에게 전송됩니다. 보낸 사람은받는 사람이 패킷을 받았는지 확인하기 위해 기다리지 않고 계속해서 다음 패킷을 보냅니다. 수신자가 여기저기서 몇 개의 UDP 패킷을 놓치면 손실 될뿐입니다. 발신자는이를 다시 보내지 않습니다. 이 모든 오버 헤드를 잃으면 장치가 더 빨리 통신 할 수 있습니다.

UDP는 속도가 바람직하고 오류 수정이 필요하지 않을 때 사용됩니다. 예를 들어 UDP는 라이브 방송 및 온라인 게임에 자주 사용됩니다.

예를 들어, TCP 대신 UDP를 사용하여 방송되는 라이브 비디오 스트림을보고 있다고 가정 해 보겠습니다. 서버는 감시하는 컴퓨터에 UDP 패킷의 일정한 스트림을 보냅니다. 몇 초 동안 연결이 끊어지면 비디오가 잠시 멈추거나 튀어 나온 다음 방송의 현재 비트로 건너 뛸 수 있습니다. 패킷 손실이 경미한 경우 누락 된 데이터없이 비디오가 계속 재생되므로 비디오 또는 오디오가 잠시 왜곡 될 수 있습니다.

이것은 온라인 게임에서도 유사하게 작동합니다. 일부 UDP 패킷을 놓친 경우 최신 UDP 패킷을 수신 할 때 플레이어 캐릭터가 맵에서 순간 이동하는 것처럼 보일 수 있습니다. 게임이 당신없이 계속되기 때문에 당신이 그들을 놓친 경우 오래된 패킷을 요청할 필요가 없습니다. 중요한 것은 몇 초 전에 일어난 일이 아니라 게임 서버에서 지금 일어나고있는 일입니다. TCP의 오류 수정을 버리면 게임 연결 속도를 높이고 지연 시간을 줄이는 데 도움이됩니다.

그래서 뭐?

관련 : Wireshark를 사용하여 패킷을 캡처, 필터링 및 검사하는 방법

애플리케이션이 TCP를 사용하는지 UDP를 사용하는지는 개발자가 결정하며 선택은 애플리케이션에 필요한 사항에 따라 다릅니다. 대부분의 앱에는 TCP의 오류 수정 및 견고성이 필요하지만 일부 애플리케이션은 UDP의 속도와 감소 된 오버 헤드가 필요합니다. Wireshark와 같은 네트워크 분석 도구를 실행하면 서로 다른 유형의 패킷이 앞뒤로 이동하는 것을 볼 수 있습니다.

네트워크 관리자 나 소프트웨어 개발자가 아니라면, 이것은 당신에게 큰 영향을주지 않아야합니다. 라우터 또는 방화벽 소프트웨어를 구성하고 응용 프로그램이 TCP를 사용하는지 UDP를 사용하는지 확실하지 않은 경우 일반적으로 "모두"옵션을 선택하여 라우터 또는 방화벽이 TCP 및 UDP 트래픽 모두에 동일한 규칙을 적용하도록 할 수 있습니다.