[CS] TCP/UDP
TCP (Transmission Control Protocol, 전송 제어 프로토콜)
인터넷을 통해 디바이스에서 웹 서버로 데이터를 전송하는 네트워크 프로토콜로 TCP/IP 프로토콜이라고도 불린다.
연결 기반이기 때문에 데이터를 전송하는 동안 수신자와 발신자 사이에 연결을 설정하고 유지해 데이터가 온전히 도착함을 보장한다.
UDP (User Datagram Protocol, 사용자 데이터그램 프로토콜)
비연결 방식이기 때문에 두 당사자 간에 사전 연결을 설정하지 않아 속도가 훨씬 빠르고 간단하지만
그 과정에서 데이터가 손실될 가능성이 있어 안정성이 떨어진다.
TCP 장/단점
+) 운영체제와 독집적으로 작동하기 때문에 시스템과 디바이스 간 상호 운용성이 향상된다.
+) 데이터를 전송할 때 오류를 검사하여 전송되 데이터가 목적지에 온전하게 도달하도록 보장한다.
+) 수신자의 용량에 따라 데이터를 전송하는 속도를 최적화하고 변경한다.
+) 데이터가 목적지에 도달했는지 확인하고 전송이 실패한 경우 재전송 시도한다.
-) 상당히 많은 대역폭을 사용하며, UDP보다 속도가 느리다.
-) 전송 중 소량의 데이터라도 손실되면 다른 정보를 또한 로드하지 못할 수 있다.
-) 근거리 통신망이나 개인 영역 네트워크에서 제대로 작동하지 않는다.
UDP 장/단점
+) 더 작은 패킷을 더 적은 오버헤드로 전송하여 엔드투엔드 지연을 줄인다.
+) 일부 패킷이 누락되더라도 데이터를 전송하므로 패킷 손실이 전체 전송 중단으로 이어지지 않는다.
+) 브로드캐스트 및 멀티캐스트 기능을 통해 하나의 UDP 전송을 여러 수신자에게 한 번에 전송할 수 있다.
+) 빠르고 효율적이다.
-) 데이터 패킷이 목적지에 성공적으로 도달했는지 확인하지 않는다.
-) 전송이 성공적임을 보장할 수 없다. 일부 패킷이 손상되었을 경우 발신자가 이를 알 수 없다.
-) 라우터가 데이터 패킷의 우선순위를 정해야 하는 경우 TCP가 우선일 가능성이 높다.
-) 특정 순서로 데이터를 전송하지 않기 때문에 패킷 순서가 바뀌어 도착할 수 있다.
TCP UDP 차이점
가장 큰 차이점은 UDP는 사용자가 데이터 재전송을 허용하거나 수신을 승이할 필요가 없기 때문에 속도가 TCP보다 빠르다는 것이다.
하지만 그로 인해 UDP의 안정성은 TCP보다 떨어진다.
TCP | UDP | |
속도 | 느림 | 빠름 |
신뢰도 | 높음 | 낮음 |
전송 방법 | 패킷이 순서대로 전달됨 | 패킷이 스트레이트로 전달됨 |
오류 감지 및 수정 | 있음 | 없음 |
혼잡도 제어 | 있음 | 없음 |
전송 인정 | 있음 | 오직 체크섬만 |
* 체크섬 - 중복 검사의 한 형태로 오류 정정을 통해서 공간이나 시간 속에서 송신된 자료의 무결성을 보호하는 단순한 방법
통신에서 순환 중복 검사(CRC)를 체크섬이라고 말하기도 한다.
* https://nordvpn.com/ko/blog/tcp-udp-comparison/
* 출처