-
TCP와 UDPEDI 관련 기술 용어 2022. 11. 4. 10:00
오늘은 데이터 전송을 담당하는 전송 계층의 두 가지 프로토콜을 비교해보도록 하겠습니다.
TCP(Transmission Control Protocol)
TCP(Transmission Control Protocol)는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜로, 인터넷 환경에서 기본으로 사용합니다.
TCP에서는 데이터를 세그먼트(Segment)라는 블록 단위로 분할해서 전송합니다.
전송되는 블록의 크기는 네트워크 부하 정도, 윈도우 크기 등의 영향을 받습니다.
TCP에서는 세그먼트를 하나의 단위로 간주하여, 순서 번호를 관리하지 않습니다.
대신 세그먼트에 실려 전송되는 데이터의 바이트 개수를 순서 번호에 반영합니다.
TCP는 데이터가 전달될 때 수신이 가능한지, 데이터가 잘 갔는지 확인하는 과정을 거치면서 오류와 흐름을 제어하고 신뢰성 있는 데이터가 전달될 수 있도록 합니다.
하지만 중간 확인 과정이 추가되고 연결을 유지하는 과정에서 추가 리소스가 발생하게 됩니다.
TCP 주요 기능
• 연결형 서비스 제공
• 전이중(Full Duplex) 방식의 양방향 가상 회선 지원
• 신뢰성 있는 데이터 전송 보장
UDP(User Datagram Protocol)
UDP는 사용자 데이터그램 프로토콜(user datagram protocol)로 인터넷상에서 서로 정보를 주고받을 때, 정보를 보내거나 받는다는 신호 절차를 거치지 않고 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜입니다.
보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않았는지 확인할 수 없고, 또 확인할 필요도 없도록 만들어진 프로토콜입니다.
이러한 서비스를 무관계 서비스라고 합니다.
UDP는 비 연결형 프로토콜로 데이터가 제대로 전달되는지 확인하지 않고, 데이터를 빠르게 전달하는데 초점을 두고 있습니다.
TCP에 비해 안정성은 떨어지지만, 오버헤드가 적은 장점이 있습니다.
연속적인 특성을 가진 스트리밍과 같은 서비스에서 주로 사용합니다.
따라서 UDP는 TCP와 달리 데이터의 수신에 대한 책임을 지지 않습니다.
이는 송신자는 정보를 보냈지만, 정보가 수신자에게 제때에 도착했는지 또는 정보 내용이 서로 뒤바뀌었는지에 관해서 송신자는 상관할 필요가 없습니다.
UDP 주요 기능
• 비연결형 서비스 제공
• 헤더와 전송 데이터에 대한 체크섬 기능 제공
• Best Effort 전달 방식 지원
TCP와 UDP 선택 방법
IP 프로토콜 위에서 실행되는 전송 계층 프로토콜은 서비스의 유형에 따라 앞서 본 두 종류로 구분합니다.
TCP는 연결형 서비스를 지원하는 프로토콜이고, UDP는 비연결형 서비스를 지원하는 프로토콜입니다.
전송 계층 프로토콜인 TCP와 UDP 위에는 세션 계층, 표현 계층, 응용 계층의 기능을 지원하는 다양한 응용 프로그램이 존재할 수 있습니다.
응용 프로그램이 해당 응용 환경에 적합한 기능을 지원하기 위해 연결형 서비스가 필요한지, 비연결형 서비스가 필요한지를 판단해 TCP와 UDP를 선택합니다.
TCP와 UDP 선택에서는 단순히 신뢰성이나 연결 유무의 차이뿐만 아니라, 이러한 차이가 응용 프로그램의 구축에 어떤 영향을 끼치는지를 이해해야 합니다.
[참고 자료]
'EDI 관련 기술 용어' 카테고리의 다른 글
VPN(Virtual Private Network) (0) 2022.12.16 정규 표현식(Regular Expression) (0) 2022.12.02 SSL/TLS (0) 2022.10.14 REST와 SOAP 비교 (1) 2022.10.07 XSD (XML Schema Definition language) (1) 2022.09.23