본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 28장 - UDP 프로토콜 & OSI TP 프로토콜 -

by ChocoPeanut 2017. 5. 3.

컴퓨터 네트워크 28

- UDP 프로토콜 & OSI TP 프로토콜 -

 

UDP비연결형 서비스를 제공하여 작지만 빠른 전송을 할 수 있는 프로토콜이다. 헤더와 전송 데이터에 대한 체크섬 기능을 제공한다. Best Effort 전달 방식을 지원하여 데이터 전송에 최선을 다하지만 제대로 도착했는지는 보장할 수 없다는 것을 의미한다. 전송한 데이터가 제대로 도착했는지 확인을 하지 않아 신뢰성이 낮지만 데이터 처리가 빠르게 되어 데이터 전송 시간이 민감한 환경에서는 유리할 수 있다.


UDP의 헤더는 매우 간단한 구조이다. UDP는 앞에서 말했듯 수행하는 기능이 매우 간단하다. 데이터 전송에 대한 제어도 하지 않으므로 헤더에 포함되어야할 정보가 비교적 많지 않다. 송수신 포트 번호에 대한 필드가 있고 UDP 데이터그램의 크기를 나타내는 길이 필드가 있다. 체크섬 부분은 헤더와 데이터에 대해 데이터그램 변형 오류를 감지할 수 있지만 거의 옵션으로 기능을 수행하지 않는 경우가 많다.



UDP는 비연결형 서비스이므로 각 데이터그램이 독립적으로 전송되고, 독립적으로 중개된다. 따라서 데이터가 수신 호스트에 도착하는 순서가 바뀌어 도착할 수 있다. 또한 흐름제어가 없으므로 버퍼 오버플로우에 의한 데이터 분실 가능성도 존재한다. 이를 해결하기 위해서는 상위 계층인 응용계층에서 스스로 데이터 분실을 확인해 복구해야하고 순서 번호와 같은 기능을 프로그램 내부 구현을 하여야 한다.


 

OSI TP는 다섯 개의 클래스로 서비스를 분류하여 지원한다. 클래스 0은 기본 기능을 지원하고, 클래스 1은 기본 오류 복구 기능, 클래스 2는 멀티플렉싱, 클래스 3은 오류 복구 및 멀티플렉싱, 클래스 4는 오류 검출과 오류 복구, 멀티플렉싱을 지원한다. 클래스 01은 단일 포트 지원 용도이고 클래스 2, 3, 4는 멀티플렉싱 기능이 포함되어 있다고 할 수 있다.


OSI TP 서비스 프리미티브로 연결 설정, 연결 해제, 데이터 전송, 긴급 데이터 전송, 비연결형 데이터 전송에서 다양한 기능을 하는 프리미티브가 있다. 연결 설정으로 T-CONNECT.request, T-CONNECT.indication, T-CONNECT.response, T-CONNECT.confirm이 있고 연결 해제의 용도로는 T-DISCONNECT.request, T-DISCONNECT.indication만 있다. 데이터 전송으로 T-DATA.request, T-DATA.indication이 있고 긴급 데이터 전송으로 T-EXPEDITED-DATA.request T-EXPEDITED-DATA.indication이 있다. 비연결형 데이터 전송으로 T-UNITDATA.requestT-UNITDATA.indication이 있다. OSI TP는 위의 서비스 프리미티브를 이용하여 데이터 전송을 하게 된다.




출처 - 데이터 통신과 컴퓨터 네트워크