ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • encapsulation
    Network 2013. 12. 21. 00:30

     

     

    ethernet


     

    u_char ether_dhost[6] 

     destionation의 Mac address (6bytes)

     u_char ether_shost[6]

     source의 Mac address (6bytes)

     u_short ether_type

     패킷 타입 ID(2bytes) Big-endian방식으로 버퍼에 저장됨


    /* Ethernet protocol ID's */


    #define ETHERTYPE_PUP 0x0200


    #define ETHERTYPE_IP 0x0800


    /* 헤더 다음에 오는 데이터가 IP주소를 가지고 있다. */


    #define ETHERTYPE_ARP 0x0806


    /* Address resolution - MAC을 요청 */


    #define ETHERTYPE_REVARP 0x8035


    /* Reverse ARP - IP를 요청 */

     

     network


     




    Field Name

    Bit

    Describtion

    Version

    4

    IPv4패킷일 경우 4가 들어가고 IPv6일 경우 6이 들어 있다.

    IHL

    4

    Internet Header Length

    IP헤더 길이를 나타내는 필드. 20~60byte의 값을 가진다.

    ip_hl값이 5라면, 5*4인 20byte를 갖는다.

    TOS (or DSCP)

    8

    Type Of Service (or Differentiated Service CodePoint)

    QOS

    Total Length

    16

    Layer 3 Packet Total Length

    헤더와 데이터 길이를 포함한 전체 길이를 바이트 단위로 나타낸다

    Identification

    16

    Fragmented Datagram Identification

    Identification

    IP Flags

    3

    Fragmentation State Flags

    ip_off의 상위 3비트가 Flags 비트이며 3비트 중 제일 처음 오는 비트는 사용되지 않으며 두번째 오는 비트가 1이라면 해당 패킷에 대해서는 단편화할 수 없다는 표시이다.

    마지막 비트는 More fragment비트로 이 비트가 1로 설정되었다면 패킷이 단편화 되었는데 아직 끝이 아니라는 의미이다.

    Fragments Offset

    13

     

    TTL

    8

    Time to live

    Protocol

    8

    IP

    Header Checksum

    16

    오류를 검증할수 있도록 체크섬된 값을 기록한다.

    Header를 2Bytes씩으로 나눠 각각의 자리수를 모두 더하여 반전시킨 값이다.

    패킷을 받는 목적지 호스트는 체크섬을 확인하여 결과가 다르다면 패킷을 버린다

    Source Address

    32

    Datagram을 송신한 최초출발지의 32Bits의 IP Address

    inet_ntoa(ip_src)

    Destination Address

    32

    Datagram을 수신한 최종목적지의 32Bits의 IP Address

    inet_ntoa(ip_src)

    Option

    Variable Length

    IP 옵션필드로 각 필드의 기능에서의 부가적인 옵션 수행을 정의한다.

    Padding

    32bits - Option

    IP Header를 32Bits의 배수로 맞추기위해 '0' bit로 패딩을 추가한다.




    transport



    'Network' 카테고리의 다른 글

    BGP up/down  (0) 2014.10.30
    BGP 간의 주고받는 메시지  (0) 2014.10.19
    ARQ(Automatic Repeat reQuest)  (0) 2014.01.01
    server / client 데이터송수신과정  (0) 2013.06.14
    pcap Library  (0) 2013.06.14
Designed by Tistory.