이론공부/네트워크통신

TCP/UDP/SCTP란 무엇인가?(특징, 차이점)

멍토 2020. 8. 7.

이미지 출처 : https://shjz.tistory.com/98

TCP

TCP는 OSI7계층중 4계층인 전송계층에서 사용하는 신뢰성이 중요한 어떤 응용에 의해 사용될 수 있는 신뢰성 있는 연결-지형 프로토콜이다.

연결지향 서비스를 제공하기 위하여 연결설정, 데이터 전송, 연결 해제 단계를 정의한다.

TCP는 전이중 통신을 제공하여 데이터는 동시에 양방향으로 전달 될 수 있다.

흐름제어와 혼잡제어, 오류제어를 제공한다.

흐름제어 :
- 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리속도를 조절하여 수신자의 버퍼오버플로우를 방지한다.
- 송신자가 데이터를 만드는 속도와 수신자가 데이터를 사용하는 속도의 균형을 맞춘다.

혼잡제어:
- 네트워크 내의 패킷수가 넘치게 증가하지 않도록 방지
- 흐름을 제어한다고 하여 중간버퍼나 라우터가 혼잡해지지 않는다는 것을 의미하지 않기때문에 이를 방지하기 위해 혼잡제어를 제공한다.

오류제어:
- 훼손된 세그먼트의 감지 및 재전송과, 분실된 세그먼트가 도착하기전까지 순서가 맞지않는 세그먼트를 저장하고 중복 세그먼트의 감지 및 폐기를 위한 매커니즘이 포함되어 있다.


 

UDP

UDP는 오류제어가 응용층 프로세스에 의해서 제공되는 으용에서 단순성과 효율성으로 사용되는 신뢰성 없는 비연결 전송층 프로토콜이다.

TCP와 다르게 연결을 하지않기때문에 사용자 데이터그램은 번호가 부여되지 않는다.

또한, 경로를 지정하지 않아서 같은 목적지로 간다고 하더라고 서로다른 경로를 이동할 수 있고, 그로인하여 순서고 보장되지 않으며 중간에 메시지가 손실되었거나 중복이 되더라도 알수가 없다.

UDP는 매우 단순한 프로토콜이므로 흐름제어(flow control)과 오류제어(error control)이 없다.


장점 : 연결을 하지않기 때문에 매우적은 메시지를 보낼때 유리하다.

실시간으로 빠르게 처리해야 하는 경우(스트리밍) 오류제어와 혼잡제어를 하지않기때문에 TCP보다 빠르게 처리가 가능하다.

 

SCTP

SCTP는 UDP와 TCP의 특성을 결합한 새로운 전송층 프로토콜이다.

SCTP는 TCP와 UDP와 마찬가지로 프로세스-프로세스간 통신을 제공한다.


TCP의 접근법을 이용하면 스트림의 어느지점의 손실은 나머지 데이터의 전달을 막아버린다.

이러한 방식은 오디오나 텍스트를 전송할때 맞지않기때문에 결합(association)이라고 하는 다중 스트림 서비스(multistream service)를 각 연결에 허용한다.

스트림중 하나가 막히면 다른 스트림은 여전히 데이터를 전달 할 수 있다.


SCTP는 TCP처럼 연결지행 프로토콜이며 연결을 SCTP에서는 결합이라고 핳ㄴ다.

SCTP는 TCP처럼 신뢰성 있는 전송 프로토콜이다.(확인응답 절차)(오류제어, 흐름제어)

SCTP의 결합설정은 4-way handshake를 요구한다.
.

 

참고 : 데이터 통신과 네트워킹(5판)

http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.prdNo=211754352&gclid=Cj0KCQjwv7L6BRDxARIsAGj-34p5g5OgjFOY6bXYnEj2oLQ5P2wriFVeNGEjzf4pzp9G7gY_l86Lo80aAlDPEALw_wcB

'이론공부 > 네트워크통신' 카테고리의 다른 글

HTTP는 무엇인가?  (0) 2020.08.09
OSI7계층에 대해서  (0) 2020.08.08
TCP 3-way handwake란 무엇인가?  (0) 2020.08.06
쿠키/세션이란 무엇인가?  (1) 2020.08.03
CORS란 무엇인가?  (0) 2020.08.02

댓글

💲 광고입니다.