네트워크에서 데이터를 전송하고 요청, 응답을 하기 위한 규칙을 정한 것.
즉 짧게 요약하자면 통신 규약이라고 합니다.
데이터 전송 이전에 두 장치가 안정적인 연결을 지향하는 프로토콜이 TCP 프로토콜 이라고 합니다.
데이터 전송 전에 가상 회선을 설정하지 않는 프로토콜
(영상 스트리밍, 게임 같은 짧은 대기시간과 빠른 속도가 필요한 곳에 사용)
데이터 전송 프로토콜 이라고 할 수 있습니다.
TCP는 데이터를 더 안전하게 보낸다는 특징이 있고
UDP는 데이터를 더 빠르게 보낸다는 특징이 있습니다.
둘 다 동일한 작업을 수행하지만 방식이 다릅니다.
TCP "Transmission Control Protocol", 전송 제어 프로토콜)는
인터넷을 통해 디바이스에서 웹 서버로 데이터를 전송하는 네트워크 프로토콜입니다.
TCP/IP 프로토콜이라고 불리기도 합니다.
메신저에서 친구와 채팅을 하거나, 이메일을 보내거나, 온라인 동영상을 보거나,
웹을 검색할 때마다 TCP 프로토콜을 사용합니다.
TCP는 연결 기반이므로 데이터를 전송하는 동안 수신자와 발신자 사이에 연결을 설정하고 이를 유지합니다.
데이터가 완전히 온전하게 도착하도록 보장합니다.
이러한 신뢰성 때문에 TCP는 가장 널리 사용되는 네트워크 프로토콜입니다.
장점
- TCP는 운영체제와 독립적으로 작동하므로 시스템과 디바이스 간 상호 운용성이 향상됩니다.
- TCP는 데이터를 전송할 때 오류를 검사하여 전송된 데이터가 목적지에 온전하게 도달하도록 보장합니다.
- TCP는 수신자의 용량에 따라 데이터를 전송하는 속도를 최적화하고 변경합니다.
- TCP는 데이터가 목적지에 도달했는지 확인하고 첫 번째 전송이 실패한 경우 재전송을 시도합니다.
단점
- TCP는 상당히 많은 대역폭을 사용하며, UDP보다 속도가 느립니다.
- 전송 중에 소량의 데이터라도 손실되면 TCP는 다른 정보를 로드하지 못할 수 있습니다.
예를 들어, 페이지에서 이미지나 동영상과 같은 한 요소가 로드되지 않으면
나머지 페이지 데이터도 로드되지 않을 수 있습니다.- TCP는 근거리 통신망이나 개인 영역 네트워크에서 제대로 작동하지 않습니다.
UDP "User Datagram Protocol"는 TCP에 비해 안정성은 떨어지지만 더 빠르고 간단한 프로토콜입니다.
그래서 스트리밍이나 게임과 같이 빠른 속도가 중요한 상황에서 자주 사용됩니다.
UDP는 비연결 방식이므로 두 당사자 간에 사전 연결을 설정하지 않습니다.
그 과정에서 데이터가 손실될 가능성이 있지만, 그 대신 훨씬 빠른 속도를 얻을 수 있습니다.
장점
- UDP는 더 작은 패킷을 더 적은 오버헤드로 전송하여 엔드 투 엔드 지연을 줄입니다.
엔드 투 엔드란 입력에서 출력까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리하는 것을 의미합니다. 복잡한 파이프라인 없이 하나의 신경망으로 입력받은 것을 출력할 수 있다는 것입니다- UDP는 일부 패킷이 누락되더라도 데이터를 전송하므로 패킷 손실로 인해 전체 전송이 중단되지 않습니다.
- 브로드캐스트 및 멀티캐스트 기능을 통해 하나의 UDP 전송을 여러 수신자에게 한 번에 전송할 수 있습니다.
- UDP 전송은 TCP와 같은 다른 옵션보다 더 빠르고 효율적입니다.
단점
- UDP는 데이터 패킷이 목적지에 성공적으로 도달했는지 여부를 확인하지 않습니다.
- UDP는 전송이 온전하게 도착한다고 보장할 수 없습니다.
일부 패킷이 손실되었을 수 있지만 발신자 측에서 이를 확인할 수 있는 방법은 없습니다.- 라우터가 데이터 패킷의 우선순위를 정해야 하는 경우,
UDP 패킷보다 TCP 패킷을 먼저 전송할 가능성이 높습니다.- UDP는 특정 순서로 데이터를 전송하지 않으므로 패킷은 어떤 순서로든 도착할 수 있습니다.
간단하게 요약하자면 TCP는 UDP보다 더 안정적입니다.
데이터 패킷을 디바이스에서 웹 서버로 전송하기 떄문입니다.
UDP는 더 빠르고 간단하지만 패킷 전송을 보장하지는 않습니다.