[정보통신]/근거리 통신

TCP 헤더의 구조

nooriry 2011. 1. 7. 00:48
TCP/IP계층의 구조에 있어서 제3계층인 전송계층의 헤더 구조를 살펴본다.

전송계층에서 사용되는 프로토콜은 TCP, UDP등이 있으며 통신에서 라우팅을 담당하고 있다.

회선 접속/절단, 링크의 확립/해제를 수행하며 응용계층에서 내려온 데이터를 세그먼트라는 단위로
나눈다.

세그먼트 단위로 나뉜 데이터의 앞부분엔 헤더가 붙게 되며 이 헤더의 구조를 살펴봐서
전송계층이 어떤 역할을 하는지 알아보겠다.


- SOURCE PORT
   데이터가 사용되는 응용 프로그램의 번호. 20 or 21(FTP), 23(TELNET), 80(HTTP)
- SEQUENCE NUMBER / ACKNOWLEDGE NUMBER
   3way hand shaking을 하는 TCP에서 메세지에 붙이는 번호.
   ①Source가 sequence number 'A', acknowledge number '0'을 보낸다.
   ②Destination이 sequence number 'A+1', acknowledge number 'B'를 회신한다.
   ③Source가 sequence number 'A+1', acknowledge number 'B+1'을 보내고 종료한다.
- HLEN
   OPTIONS가 필수 항목이 아니기 때문에 헤더의 전체길이는 가변적이므로 그 길이를 명시.
- CODE BITS
   세그먼트의 용도.
   URG(긴급한 세그먼트임을 나타냄), ACK, RST(연결 재 설정), FIN
- WINDOW
   세그먼트를 window안에 표시된 크기만큼 전송하여 에러가 발생하지 않았다면 다음번 전송은
   2배의 window크기로 보내고 그래도 에러가 발생하지 않는다면 또 2배로 키워서 전송한다.
   계속 size를 배가 시키면서 전송을 하여 전송에 소요되는 시간을 줄이기 위함이다.
- URGENT POINTER
   DATA에 우선순위의 데이터가 있다면 해당 위치를 명시.