부산정보산업진흥원/네트워크

OSI 7계층: 4계층 전송계층(Transportation Layer)

newind2000 2017. 3. 23. 11:48

[개요]

- OSI 4계층: 전송계층(Transportation Layer)

- UDP(User Datagram Protocol)

- TCP(Transmission Control Protocol)


[용어정리]


[노트]


기본정리.txt

노트.txt



- OSI 4계층 전송계층(Transportation Layer)


  OSI 7계층 모델 중 4계층은 트랜스포트층(Transportation Layer)로 데이터 전송을 보장하고 흐름을 제어한다. 데이터 송/수신의 주체는 프로그램이고 이를 운영체제 하에서 특정한 프로세스 ID로 관리되기 된다. 때문에 데이터 송/수신이 필요한 프로그램에 적절하게 데이터를 전송시켜주어야 하는데 운영체제가 이것을 관리하게 되면 네트워크 연결만으로 과부하가 걸리게 된다. 때문에 이를 간편하게 분류하기 위해서 프로그램마다 포트를 열어 사용하게 된다.


* 인터넷 관련 참조 문서들은 https://www.iana.org/ 사이트에서 열람할 수 있다.


  Port는 3가지 영역으로 구분되는데 0 - 1023은 시스템 포트, 1024 - 49151은 사용자 포트, 49152 - 65535는 동적/사적 포트이다.

  각 종 프로세스를 실행 시킨 후 명령프로프트 창에서 포트와 PID가 일치하는지 확인해 보자. FTP사용 하는 포트는 21이고 PID는 5460이라고 명령 프롬프트에 나와 PID와 일치하는지 확인해 보자.





- UDP(User Datagram Protocol)


  UDP는 주요 인터넷 데이터 전송 프로토콜 중에 하나로 프로토콜이 간단하다는 장점이 있다. 하지만 분할된 데이터가 얼마나 전송되었는지 전송률을 확인할 수 없고, 제대로 전송되었는지 확인할 수 없다는 단점이 있다. UDP는 IP프로토콜이 이미 사용되고 있다는 전제조건하에서 사용된다.


UDP header

[UDP Header. 출처: https://nmap.org/book/tcpip-ref.html]





- TCP(Transmission Control Protocol)


  TCP은 UDP의 단점인 데이터 전송 상태와 전송율을 얻기 위한 전송 프로토콜이다.


TCP header

[TCP Header 출처. 상동]


데이터 전송상태는 TCP 헤더의 Flags에서 확인할 수 있고, 전송율은 sequence number와 acknowledge number에서 확인할 수 있다.

  TCP Flags는 총 8 bit로 C E U A P R S F로 이루어져 있지만 앞의 2 bit C E 는 사용하지 않는다. U는 Urgent로써 중요도를 나타내고, A는 Acknowledgement로 메세지를 받았다고 것을 나타낸다. P는 Push로써 데이터를 전송한다는 의미를 뜻한다. R은 Reset으로써 데이터 전송을 종료할 때 쓰인다. S는 Sync로써 동기화를 뜻한다. F는 Finish로써 종료를 나타낸다.




  데이터의 순서를 나타내는 Sequence Number는 3 way hand shake 이후에 전송 프로그램에 의해 결정된다.



tcp state diagram에 대한 이미지 검색결과


[3 Way Hand Shake 출처 - http://intronetworks.cs.luc.edu/current/html/tcp.html ]

  








반응형