이제 6장을 배우게 되는데 들어가기전 먼저 한번 예습을 해보고 들어가보겠다.
먼저 6장에서는 비연결형 프로토콜과 연결형 프로토콜, ip망의 포트번호 사용, Well-know 또는 임의 포트에 대해 식별, 어플리케이션에 관련된 포트번호 식별, UDP헤더의 구성요소,UDP 어플리케이션에 의해 사용되는 포트번호 식별등 알 수 있게된다. 먼저 호스트간 프로토콜은 두 가지 유형으로 나눌수가 있다. 비연결형 프로토콜과 연결형 프로토콜로 나눠진다.
비연결형 프로토콜은 회선의 설정 없이 메시지를 전송하는데 이 프로토콜을 사용하게 되면 도착지로의 패킷 전송외의 다른 작업은 필요 없게 된다. 왜냐면 바로바로 받아서 올려주기 때문인데 에러 검사나 흐름 제어 과정은 송신자나 수신자의 어플리케이션에서 수행된다. 이것이 UDP가 가지는 것으로 Best-effort라고 말할 수 있다. 전송하는데는 최선을 다하지만 그 패킷이 전부다 정확하게 도착했는지는 모르고 도중에 에러가 날 수도 있다. 단지 보내는것에만 최선을 다 하는 것이라고 볼 수 있다. 대신 빠른속도 전송을 위해 오버헤드 필드를 생략시킨다.
연결형 프로토콜은 송신자와 수신자 사이에 회선(세션연결,즉 포트번호) 설정하고 대화나 프로세스를 유지하는 과정을 갖는 프로토콜이다. 이것은 즉,TCP인데 패킷 전달순서를 유지하고 분실/변형을 검색하는 기능을 수행한다. 포트번호별로 분류하고 그 패킷을 재조립하여 상위계층으로 올려준다. 그래서 이러한 방식은 신뢰성 있는 전송서비스에 의해 사용된다. 속도면에는 UDP보다는 느리다. 그러나 정확하게 일을 수행한다.
그럼 UDP에 대해서 좀 더 알아보도록 해보자~~~
속도- UDP는 받은 패킷을 즉시즉시 상위계층으로 올려주기 때문에 실시간으로 많이 쓰인다. 첫 번째 패킷부터 데이터를 전송 할 수 있기 때문에 동일 네트워크상의 호스트들 간에 짧은 메시지를 빈번하게 전송하는 어플리케이션에게 빠른 속도를 제송한다. 또한 호스트들 간의 하나의 패킷을 교환하는 경우나 TCP의 오버헤드가 큰 경우에도 사용된다. 허나 정보에 전송에대한 신뢰성이 떨어지기 떄문에 트래픽이 자주 발생한다.
신뢰성- UDP는 비연결형이기 때문에 송/수신 응답 방식이 없다. 그래서 도중에 데이터를 분실할 수 도 있다. 실제로 UDP에서 검사합 필드는 선택 사항이기 때문에 신뢰성이 감소한다. 에러가 발생하게 되면 상위계층인 어플리케이션에서 에러 복구 기능을 제공한다. 그 기능은 단순히 사용자가 메시지를 재전송하게 요청하는 것이라고 볼 수 있다.
UDP헤더- 헤더에는 송신자포트(2바이트), 수신자포트(2바이트),UDP헤더 길이(2바이트), 검사합(2바이트)로 구성된다.
송신자 포트- 수신자가 송신자에게 메시지를 리턴할 수 있도록 송신측 포트제공.
수신자 포트- 데이터를 수신하는 호스트의 어플리케이션을 식별.
(세션이 진행되면서 포트의 값은 현재 헤더의 송신자와 수신자를 알리기 위해 변경된다.)
메시지 크기 - UDP를 포함한 전체 메시지의 크기.
UDP 검사합- 검사합 필드는 선택 사항이기 때문에 사용하지 않으면 신뢰성이 감소되고 에러 검사는 UDP헤더와 전송되는 데이터를 대상으로 한다.(만약 사용자가 이 필드를 사용하지 않는다면 값은 0x0000 이다)
포트의 원리- 프로세스 계층은 네트워크 계층에 정보를 전달하기 위해 TCP나 UDP를 사용한다. 서버와 클라이언트를 식별하기 위해 포트번호를 사용한다. 즉 프로세스끼리의 세션연결이라고 볼 수 있겠다. 이것을 TCP에서 사용되는 포트번호이다. UDP와 TCP는 일관되고 잘 알려진(well known)포트번호를 사용해서 서비스를 구별한다. 클라이언트측은 임시의 포트번호를 설정해주는데 이 포트번호는 통신이 종료되는 즉시 폐기된다. 어플리케이션을 식별하는 포트번호들은 잘알려진 포트번호 0~1023사이의 값을 갖고 있고 임의포트번호 1025~65535의 값을 갖는다. 임의포트번호들은 사용자에게 할당되어 어플리케이션은 데이터를 통신 양측의 세션을 일치시키는데 사용된다. 그래서 포트번호는 각각의 ip주소 인터페이스로 한 개 이상의 udp세션을 할다 할 수 있다.
(포트번호에서 FTP서버와 웹으로 접속해서 파일을 다운받을때 연결되는 포트번호는 다르다. FTP서버는 21번 포트접속하여 20번포트로 다운을 받는반면 웹으로 접속시 다운로드시에는 21번으로 접속하고 임의의 포트번호로 다운을 받는다. 이는 바로 패시브모드가 적용되어 웹상의 방화벽이 적용되기 때문에 임의의 포트번호로 연결해서 다운받는 것이라고 볼 수 있다.)
지금까지 UDP에 대해 들어가기전 알아보았다. 잠깐 맛을 보았기 때문에 자세한것은 수업시간에 들어보도록 하겠다.