■ TCP 와 UDP 는 OSI 7계층의 4계층인 전송계층의 프로토콜로 통신하는 양쪽 노드 간 자료의 전송과 제어를 책임진다.


(1) TCP 프로토콜 (연결 지향형)
:  신뢰성 있는 자료 전송을 보장한다.

- 에러제어 : 전자기 신호, 체증 때문에 세그먼트가 변경되었는지 여부를 체크하고, 재전송 처리를 한다.
- 흐름제어 : 수용 가능한 자료만 전송하여 수신측 버퍼 오버플로우를 방지하여 안정성을 보장한다.
- 혼잡제어 : 네트워크 내의 패킷 수가 과도하게 증가하는 현상을 방지한다.

- TCP를 통한 자료전송
: TCP는 자료가 목적지에 도달할 때까지 경유할 경로를 결정한다. 자료는 전송 단위인 패킷으로 쪼개서 번호를 매기고, 미리 결정한 경로를 통해 순서대로 전송한다. 이렇게 하면 모든 자료가 동일한 경로를 거쳐 전송되기 때문에 자료의 순서가 뒤바뀌지 않는다. 일반적으로 이러한 방식을 연결형 서비스라고 한다.

- TCP의 장점 : 신뢰성


(2) UDP 프로토콜 (비연결형)
: 신뢰성 있는 자료 전송을 보장하지 않으며, 필요하면 응용프로그램에서 전송 여부를 확인해야 한다.

- 에러검출 : UDP 패킷 헤더의 오류검출 필드(Check Sum)를 통해 무결성 검사를 한다.
- 흐름제어 : 수신측의 허용치를 고려하지 않고 데이터를 전송한다.

- UDP를 통한 자료전송
: UDP는 자료를 전송하기 위한 경로를 미리 결정하지 않는다. 자료를 패킷으로 쪼갠 후 패킷에 번호를 매겨 목적지로 차례로 전송하면 제각기 다른 경로를 거쳐 목적지에 전달된다. 따라서 패킷의 순서가 뒤바뀌는 경우가 발생한다. 일반적으로 이런 방식을 비연결형 서비스라고 한다.

- UDP의 장점 : 속도

(3) 정리
: TCP와 UDP는 서비스 수준에서 분명한 차이가 있다. TCP는 UDP보다 안전하게 자료를 전송한다. 하지만 이를 위해 UDP에 비해 많은 비용을 치러야 한다. 경로결정 및 손실에 대비해서 자료의 전송 여부를 확인해야한다. 그리고 손실이 생기면 사본을 다시 전송해야하는 등 추가적인 비용을 지불해야한다.
그리고 DNS나 TIME 서비스처럼 한 번의 패킷 송수신으로 서비스가 완성되는 서비스에서는 자료의 순서가 바뀔 염려가 없어서 UDP가 유리하다. 또한 LAN처럼 전송 오류가 적고, 패킷 순서가 바뀌지 않는 환경에서는 UDP를 사용해도 안전성이 어느 정도 보장된다. (NFS)
 

 
by 민트앤라떼 2013. 11. 13. 18:34