IP

IP (Internet Protocol) 网际协议 #

IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输

网络层负责在不同网络之间尽力转发数据包

  • 基于数据包的IP地址转发
  • 不负责数据包的丢失重传
  • 不负责数据包传输顺序

IP数据报格式,首部共20字节

0       4           8            16      19                     31
4位版本 4位首部长度 8位服务类型  16位IP数据报总长度(字节数)
16位标识                         3位标志 13位片偏移
8位生存时间(TTL)    8位协议      16位首部校验和
32位源IP地址
32位目的IP地址
可选字段(长度可变)
数据部分
  • 版本:用来表示TCP/IP协议的版本 v4 v6
  • 首部长度:固定部分20字节,可选字段一般没有
  • 服务类型:区分数据报优先级,QoS用的
  • IP数据报总长度:首部+数据部分,最大 2^16 - 1 = 65535 字节
    超过MTU,数据部分会分片,每个分片数据部分最大 1500-20=1480字节
  • 标识:唯一地标识主机发送的每一份数据报
    通常每发送一份报文它的值就会加1,分片的标识是一样的
  • 标志:该数据包是分片的包,还是完整的包,目前只有两位有意义
    最低位是1表示后面还有分片,0表示是最后一个分片
    中间一位是0表示允许分片
  • 片偏移:以8字节为偏移单位,每个分片的位置,接受方再根据片偏移拼接
  • 生存时间TTL:设置了数据报可以经过的最多路由器数,避免出现路由环路
    TTL的初始值由源主机设置(通常为64),一旦经过一个处理它的路由器,它的值就减去1
    当该字段的值为0时,数据报就被丢弃,并发送 ICMP 报文通知源主机
  • 协议:数据部分是什么协议,1-ICMP 2-IGMP 6-TCP 17-UDP
  • 首部检验和:只检验首部,不对数据部分进行计算
  • 可变部分:一般没用,v6版本已经没有这个部分了

IPv4 地址,32位

  • A类地址 1字节网络号 0开头 0. ~ 127.
  • B类地址 2字节网络号 10开头 128.0. ~ 191.255.
  • C类地址 3字节网络号 110开头 192.0.0 ~

专用地址:只能用作本地地址而不能用作全球地址
路由器对目的地址是专用地址的数据报一律不进行转发

10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

IPv6 地址,128位

Network / Netmask #

  • Host 全部为 0 的时后,表示 IP 是该网段的 Network
  • Host 全部为 1 时是该网段最后一个 IP,也称为 Broadcast

在 192.168.0.0 ~ 192.168.0.255 这个 IP 网段里面的相关网络参数就有

Netmask: 255.255.255.0
Network: 192.168.0.0
Broadcast: 192.168.0.255
可设定为主机的 IP: 192.168.0.1 ~ 192.168.0.254
CIDR: 192.168.0.0/24

对半切成两个子网络

第一个子网络
Network:    11000000.10101000.00000000.0 0000000    192.168.0.0
Broadcast:  11000000.10101000.00000000.0 1111111    192.168.0.127
            |----------Net_ID-----------|-host-|
Netmask:    11111111.11111111.11111111.1 0000000    255.255.255.128
CIDR: 192.168.0.0/25

第二个子网络
Network:    11000000.10101000.00000000.1 0000000    192.168.0.128
Broadcast:  11000000.10101000.00000000.1 1111111    192.168.0.255
            |----------Net_ID-----------|-host-|
Netmask:    11111111.11111111.11111111.1 0000000    255.255.255.128
CIDR: 192.168.0.128/25