IP地址与IP报文结构

412 阅读3分钟

一、IPv4地址

  • IPv4地址由32位二进制数值组成
  • A、B、C三类地址为单播地址
  • D类地址为组播地址
  • E类地址暂时不用
  • 255.255.255.255为局域网广播地址

1. 五类IPv4地址

A类地址:0.0.0.0 ~ 127.255.255.255

0 7个bit 网络号 24个bit 主机号
  • 00000000 == 0
  • 01111111 == 127

B类地址:128.0.0.0 ~ 191.255.255.255

1 0 14个bit 网络号 16个bit 主机号
  • 10000000 == 128
  • 10111111 == 191

C类地址:192.0.0.0 ~ 223.255.255.255

1 1 0 21个bit 网络号 8个bit 主机号
  • 11000000 == 192
  • 11011111 == 223

D类地址:224.0.0.0 ~ 239.255.255.255

1 1 1 0 28个bit 多播组号
  • 11100000 == 224
  • 11101111 == 239

E类地址:240.0.0.0 ~ 247.255.255.255

1 1 1 1 0 27个bit 预留
  • 11110000 == 240
  • 11110111 == 247

2. 私有IPv4地址

  • 内部网络地址,解决IP地址短缺的问题。
  • 在上面A、B、C三类地址中规划三段地址用于内部网络使用。

A类地址:10.0.0.0~10.255.255.255

B类地址:172.16.0.0~172.31.255.255

C类地址:192.168.0.0~192.168.255.255

3. 内网和外网连接

  • frps:内网穿透

  • NAT(地址转换技术)

    • 内网私有IP地址,通过路由或者防火墙等边界设备上统一转换为公网地址在访问互联网。
  • 端口映射

    • 将外网主机的IP地址的一个端口映射到内网中的一台设备。

二、IPv6地址

待更新

三、IPv4报文结构

  • 当没有使用可选部分,IP的包头(Header length)是20字节
参数名称 长度/bit 说明
版本号 4 IPv4协议:4;
IPv6协议:6;
首部长度 4
区分服务 8 定义上层协议对处理当前数据报所期望的服务质量
3位成为优先位
后面4位成为服务类型
最后1位没有定义
总长度 16 数据头和数据总长度
标识 16 IPv4每产生一个数据报,计数器就加1
标志 3 bit0:1表示后面“还有分片”的数据报,0表示这已经是最后一个数据片;
bit1:1表示“不能分片”,0才允许分片。
bit2:预留
分段偏移 13 指出较长的分组在分片后,该片在原分组中的相对位置
生存时间 8 TTL(Time To Live),表示数据报在网络中的寿命,功能是“跳数限制”
协议 8
首部检验和 16
源地址 32
目的地址 32
可选部分 0 ~ 40
数据部分 N

四、IPv6报文结构

  • 当没有使用可选部分,IP的包头(Header length)是20字节
参数名称 长度/bit 说明
版本号 4 IPv4协议:4;
IPv6协议:6;
优先级 4 当发生通信拥塞时的分组的优先级
流标号 24 对特殊的数据流提供专门处理
总长度 16 数据头和数据总长度
条数限制 8 与IPv4中TTL一样,在丢弃数据报的每个点值依次减1直至减少为0
源地址 128
目的地址 128
扩展头部 6
数据部分 N