ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP와 IP data format
    학교 수업/네트워크 2020. 6. 22. 18:00

    이전 포스팅에서 data format에 대해 설명하지 못했어서 따로 설명한다.


    IP : Network layer에 존재하는 프로토콜


    IP 통신단위 : Packet (Datagram이라고 명칭)


    Datagram format

    Header : routing과 delivery에 필요한 정보를 포함한다.

    구조

         Ver: IP버전을 기록, IPv4인지 IPv6인지

         HLEN: header의 길이저장

      기본 Header 크기 20bytes + option있을 경우 -> header크기를 정확히 모르므로 

       데이터 시작부분을 알기 위해 저장

      전체길이/4의 몫을 저장한다.

         Service type

         Total length: Header 뿐만 아니라 데이터를 포함한 IP패킷 즉 Datagram의 전체 길이를 바이트단위로 표시

         Identification : 큰 IP Packet은 여러개의 작은 조각으로 조각화되기도 하는데, 

     각 조각이 동일한 Datagram에 속하는지 확인하기 위한 번호, 동일하면 같은 일련 번호를 공유

         Flag : 분열의 특성을 나타내는 플래그,

       처음 1bit는 항상 0으로 설정, 나머지 2비트는

       A. May Fragment : IP 라우터에 의해 분열되는 여부를 나타낸다. 플래그 0 - 분열 가능 1 - 분열 방지

       B. More Fragments : 원래 데이터의 분열된 조각이 더 있는지 여부 판단. 

         플래그 0 - 마지막 조각, 기본값 1- 조각이 더 있

         Fragmentation offset : 조각나기 전 원래 Datagram의 위치


         =>  5,6,7번은 IP 단편화와 재배열에 관련된 필드


         TTL, Time to Live: IP Packet 수명, 1부터 255사이의 값으로 지정됨

    라우터들이 패킷을 전달할때마다 이 값을 하나씩 감소

         Protocol : 어떤 상위계층 프로토콜이 데이터 내에 포함되었는 가를 보여줌

      예) TCP -> 6, UDP -> 17 , ...

         Header Checksum : 헤더에 대한 오류 검출

    ⑪  Source IP Address: 송신처 IP주소

    ⑫  Destination IP Address: 목적지 IP주소



    TCP : Transport layer에 존재하는 프로토콜

      서버와 클라이언트간 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜


    TCP 통신 단위 : Segment


    Segment format

    Header 구조

         Source port: 데이터를 보내는 호스트의 TCP 포트

         Destination port: 데이터를 받는 호스트의 TCP 포트

         Sequence Number: TCP 세그먼트에 있는 첫번째 바이트에 대한 순번

         Acknowledgement: 바이트에 대한 순번, 데이터를 전달받은 쪽이 받기를 원하는 number

         HLEN: header의 길이저장

      기본 Header 크기 20bytes + option있을 경우 -> header크기를 정확히 모르므로 

       데이터 시작부분을 알기 위해 저장

      전체길이/4의 몫을 저장한다.

         Reserved: 예비 공간

         Control field: 1bit씩 존재하며 flag처럼 사용한다. packet받으면 여기 먼저 확인한다.

    A.     ACK: Acknowledgment is valid (데이터 전달받았다는 것)

    B.     SYN: 연결 요청 packet

    C.     FIN: 연결 종료 요청 packet

         Window size: TCP 세그먼트를 보내는 호스트의 현재 TCP 버퍼 크기

         TCP Checksum: TCP 데이터와 TCP 헤더의 error 유무확인(다른 계층 checksum은 헤더에러만)

         Option: 

    MSS(Maximum segment size) 

    segment에서 header를 뺀 data영역 (payload) size로 애플리케이션 계층에서 한번에 최대로 보낼 수 있는 

    데이터의 사이즈를 의미한다.

    A.  초기 set-up과정에서 SYN을 보낼 때 받고 싶은 size(MSS)를 상대방에게 전달하고 

         이는 set-up이후에 바꿀 수 없다.



    '학교 수업 > 네트워크' 카테고리의 다른 글

    TCP/IP 4계층?  (0) 2020.04.30
    OSI 7계층?  (0) 2020.04.29
    네크워크란?  (0) 2020.04.29

    댓글

Designed by Tistory.