네트워크의 OSI 7 Layer에서 전송계층(Transport Layer)에 속하는 TCP와 UDP에 대해서 알아보겠습니다. 이 두 프로토콜은 인터넷상에서 데이터를 주고받는 데 있어 핵심적인 역할을 하며, 서로 다른 특징과 동작 원리를 가지고 있습니다. 이 글에서는 TCP와 UDP의 기본 개념과 동작 원리를 살펴보겠습니다.
TCP (Transmission Control Protocol) 기본 개념
TCP는 연결 지향적인 프로토콜로, 데이터를 전송하기 전에 송수신 측간에 연결을 확립하고, 전송이 완료된 후 연결을 해제하는 과정을 거칩니다. 이러한 특성으로 인해 데이터 전송의 정확성과 순서가 보장되며, 신뢰성 있는 데이터 전송이 가능합니다.
TCP 동작 원리
TCP는 3단계 과정으로 동작합니다.
- 연결 확립: 송신 측과 수신 측이 서로 'SYN'과 'ACK' 패킷을 주고받아 연결을 확립하는 과정입니다. 이를 '3-way handshake'라고 부릅니다.
- 데이터 전송: 데이터를 세그먼트 단위로 나누어 전송하고, 수신 측은 전송된 세그먼트의 순서와 무결성을 확인합니다. 수신 측은 확인이 완료되면 'ACK' 패킷을 송신 측에게 보내어 전송이 정상적으로 이루어졌음을 알립니다.
- 연결 종료: 데이터 전송이 완료되면, 송수신 측은 'FIN'과 'ACK' 패킷을 주고받아 연결을 종료합니다.
UDP (User Datagram Protocol) 기본 개념
UDP는 비연결 지향적인 프로토콜로, 연결 확립 과정 없이 데이터를 전송합니다. 이로 인해 데이터 전송 속도가 빠르지만, 전송의 정확성과 순서가 보장되지 않을 수 있습니다. 이러한 특성 때문에 실시간 스트리밍, 온라인 게임, VoIP 등의 서비스에서 주로 사용됩니다.
UDP 동작 원리
UDP는 간단한 두 단계 과정으로 동작합니다.
- 데이터 전송: 데이터를 데이터그램 단위로 나누어 전송합니다. 이때, 연결 확립 과정이 없기 때문에 데이터 전송 속도가 빠릅니다.
- 데이터 수신: 수신 측은 전송된 데이터그램을 받아 처리합니다. UDP는 데이터 전송의 정확성과 순서를 보장하지 않기 때문에, 수신된 데이터그램의 손실이나 순서 변경이 발생할 수 있습니다. 그러나 이러한 특성이 실시간 서비스에 적합하게 작용합니다.
TCP와 UDP 비교
TCP와 UDP는 각각의 장단점이 있습니다. TCP는 연결 지향적이고 신뢰성이 높은 반면, 데이터 전송 속도가 상대적으로 느립니다. 이에 반해, UDP는 비연결 지향적이고 빠른 데이터 전송 속도를 가지지만, 전송의 정확성과 순서가 보장되지 않습니다.
TCP는 이메일, 웹 브라우징, 파일 전송 등과 같이 데이터의 정확성이 중요한 서비스에서 주로 사용되며, UDP는 실시간 스트리밍, 온라인 게임, VoIP와 같이 빠른 전송 속도와 실시간성이 중요한 서비스에서 사용됩니다.
이상으로 TCP, UDP에 대한 개념이해와 동작 원리에 대한 설명을 마칩니다.
네트워크 통신에 조금이나마 도움이 되셨길 바랍니다.
끝까지 읽어 주셔서 감사합니다.
댓글