TCP와 UDP 모두 네트워크 에서 사용되는 전송 방법입니다.
 
두 프로토콜 모두 OSI 7계층 중에 4계층에 속하며,
 
TCP( Trasmission Control Protocol ) 는 신뢰성을 보장 하는 프로토콜로서, Seq No.와 Ack No.를 이용하여 중간 유실이나 흐름 장애시 재전송을 하는 프로토콜 입니다. 패킷을 순서를 확인하여 재조립 하여 사용자에게 보여주며, 중간 유실이 된 번호를 확인시 해당 번호를 재 전송 해달라는 응답 메시지를 보냅니다.
 
 
UDP( User Datagram Protocl )는 TCP와 마찬가지로 data의 전송을 위한 프로토콜 이지만.. 신뢰성을 보장 하지는 않습니다. TCP와 다른 점은 UDP는 중간에 패킷이 유실이나 변조가 되어도 재전송을 하지 않습니다.
일방적으로 보내는 것으로 생각 하시면 됩니다. 예를 들면... 웹 사이트에서 실시간 TV시청의 경우가 UDP를 많이 사용 합니다. 물론 상대방의 응답을 기다리지 않으므로 그만큼 속도는 더 빠르겠죠.

--------------------------------------------------------------------------------

TCP/UDP는 데이터를 전달하는 프로토콜로서 TCP는 연결지향성 프로토콜이라고 하고 UDP는 비연결지향성 프로토콜이라고 합니다. 
예를 들면, TCP는 전화와 같은 서비스로 데이터를 주고받기위해서는 서로간에 통신채널을 먼저 연결해야 하는 것이고 UDP는 편지와 같은 우편서비스로 쓰여진 목적지 주소를 적어 보내면 알아서 목적지로 전달되는 것입니다. 
TCP가 전화와 같기 때문에 전화받는 사람을 확인하여 데이터의 전달이 정확히 되었는지를 보장받을 수 있지만 UDP의 경우는 그냥 보낼 주소를 적어서 보내기 때문에 잘 도착했는 지 확인이 불가능합니다. 
그렇지만 UDP는 통신 시 호 설정과 같은 사전 과정이 없기 때문에 통신 시 부수적인 오버헤드가 없는 것이 장점입니다. 

TCP의 경우에는 통신 채널 형성과정이 있기 때문에 통신 연결요청하는 사람(Client)과 요청에 응답하는 사람(Server)가 명확히 구분되어 누가 서비스를 요청하는 지가 구분이 될 수 있으나 UDP는 그러기가 어렵습니다. 

'참고자료' 카테고리의 다른 글

OSI 7계층  (0) 2010.08.17
세션아이디  (0) 2010.08.15
HTTP 상태 코드 목록  (0) 2010.08.15
GNU 정의  (0) 2010.08.05
리눅스 mdsn  (0) 2010.07.05

+ Recent posts