创建IPv6标头

时间:2013-07-18 06:35:19

标签: java ipv6

有没有人在java中创建IPv6 IP头(40字节)?我创建了IPv4标头。

/**
   * Creates IP header for given SIP packet
   * Length of IP header is 20 octets. Below information shall be stored in each octet:
   * Octet-0    -    0x45 (Version and length)
   * Octet-1    -    0x00 (Type of service)
   * Octet-2    -    Upper byte of length of IP header and data
   * Octet-3    -    Lower byte of length of IP header and data
   * Octet-4    -    0x00 (Upper byte of identification)
   * Octet-5    -    0x00 (Lower byte of identification)
   * Octet-6    -    0x00 (Flag)
   * Octet-7    -    0x00 (Fragment Offset)
   * Octet-8    -    0x80 (Time to live)
   * Octet-9    -    0x11 (Protocol  UDP)
   * Octet-10   -    Upper byte of checksum
   * Octet-11   -    Lower byte of checksum
   * Octet-12   -    Source IP address
   * Octet-13   -    Source IP address
   * Octet-14   -    Source IP address
   * Octet-15   -    Source IP address
   * Octet-16   -    Destination IP address
   * Octet-17   -    Destination IP address
   * Octet-18   -    Destination IP address
   * Octet-19   -    Destination IP address
   */

1 个答案:

答案 0 :(得分:1)

也许wikipedia文章有帮助吗?

我不知道java语法,但使用C struct表示法,它将类似于:

struct ipv6_header
{
    unsigned int
        version : 4,
        traffic_class : 8,
        flow_label : 20;
    uint16_t length;
    uint8_t  next_header;
    uint8_t  hop_limit;
    struct in6_addr src;
    struct in6_addr dst;
};

我认为,将它翻译成您的语言可能非常简单。