Internet 协议特征
- 运行于 OSI 网络层
- 面向无连接的协议
- 独立处理数据包
- 分层编址
- 尽力而为传输
- 无数据恢复功能
IP PDU报文首部

- 版本:占4位,指 IP 协议的版本目前的 IP 协议版本号为4
- 首部长度:占4位,可表示的最大数值是15个单位,一个单位为4字节,因此 IP 的首部长度的最大值是60字节
- 区分服务:占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过。后改名为区分服务,只有在使用区分服务(DiffServ)时,这个字段才起作用,一般的情况下都不使用
- 总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节,总长度必须不超过最大传送单元MTU
- 标识:占16位,它是一个计数器,通常,每发送一个报文,该值会加1,也用于数据包分片,在同一个包的若干分片中,该值是相同的
-
标志(flag):占3位,目前只有后2位有意义
- DF:Don't Fragment,中间的一位,只有当 DF=0 时才允许分片
- MF:More Fragment,最高位,MF=1 表示后面还有分片。MF=0 表示最后一个分片
- 片偏移:占12位,指较长的分组在分片后,该分片在原分组中的相对位置。片偏移以8个字节为偏移单位
- 生存时间:占8位,记为TTL(Time To Live)数据报在网络中可通过的路由器数的最大值,TTL字段是由发送端初始设置一个 8bit 字段,推荐的初始值由分配数字 RFC 指定,当前值为64.发送 ICMP 回显应答时经常把 TTL 设为最大值255
- 协议:占8位,指出此数据报携带的数据使用何种协议以便目标主机的IP层将数据部分上交给哪个处理过程,1表示为 ICMP 协议,2表示为 IGMP 协议,6表示为 TCP 协议,17表示为 UDP 协议
- 首部校验和:占16位,只检验数据报的首部不检验数据部分。这里不采用CRC校验码而采用简单的计算方法
- 源地址和目标地址:都各占4字节,分别记录源地址和目标地址
IP地址
- 它们可唯一标识 IP 网络中的每台设备
- 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
- IP 地址由两部分组成:
- 网络ID:
- 标识网络
- 每个网段分配一个网络ID
- 主机ID:
- 标识单个主机
- 由组织分配给 各设备
- 网络ID:
IP地址分类
- A类:
1-8 | 9-16 | 17-24 | 25-32 |
---|---|---|---|
0NNNNNNN | Host | Host | Host |
Range(1-126) |
- B类:
1-8 | 9-16 | 17-24 | 25-32 |
---|---|---|---|
10NNNNNN | Network | Host | Host |
Range(128-191) |
- C类:
1-8 | 9-16 | 17-24 | 25-32 |
---|---|---|---|
110NNNNN | Network | Network | Host |
Range(192-223) |
- D类:
1-8 | 9-16 | 17-24 | 25-32 |
---|---|---|---|
1110MMMM | Multicast Group | Multicast Group | Multicast Group |
Range(224-239) |
注意:
10.0.0.0
尾数为0表示该网段号(示例)10.255.255.255
尾数为255表示该网段的广播地址(示例)- D类是多播地址
- E类地址是240-255,为保留地址
无类地址
网络ID,主机ID不确定,32位之内灵活调整
-
无类域间路由(CIDR)表示法:
IP/网络ID位数 -
netmask:32位二进制数
网络ID的位数,netmask对应就是1,主机ID位数,netmask对应的就是0-
可成为netmask的数字:
二进制数 十进制数 00000000 0 10000000 128 11000000 192 11100000 224 11110000 240 11111000 248 11111100 252 11111110 254 11111111 255
-
特殊地址:
-
0.0.0.0
:
不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目标网络 -
255.255.255.255
:
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机 -
127.0.0.1
~127.255.255.254
:
本机回环地址,主要用于测试。在传输介质上永远不应该出现目标地址为127.0.0.1
的数据包 -
224.0.0.0
~239.255.255.255
:
组播地址,224.0.0.1
特指所有主机;224.0.0.2
特指所有路由器;224.0.0.5
指OSPF路由器;地址多用于一些特定的程序以及多媒体程序 -
169.254.x.x
:
如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样的地址
私有IP地址
类 | 私有 IP 地址范围 |
---|---|
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 |
公共IP地址
类 | 公共 IP 地址范围 |
---|---|
A | 1.0.0.0 到 9.255.255.255 11.0.0.0 到 126.255.255.255 |
B | 128.0.0.0 到 172.15.255.255 172.32.0.0 到 191.255.255.255 |
C | 192.0.0.0 到 192.167.255.255 192.169.0.0 到 223.255.255.255 |
IPv4地址格式:点分十进制记法
示例 | ||||
---|---|---|---|---|
IP地址是一个32位二进制数 | 10101100 | 00010000 | 10000000 | 00010001 |
可将此32位二进制数划分为四组8位二进制八位数,使之可读 | 10101100 | 00010000 | 10000000 | 00010001 |
每组二进制八位数(或字节)均可转换成十进制数 | 172 | 16 | 128 | 17 |
地址可使用点分十进制记法记录 | 172. | 16. | 128. | 17 |
公式:
- 网络(网段)数量=2^可变网络ID位数
- 一个网络的主机数量=2^主机ID位数-2
- 网络ID=IP地址和子网掩码netmask对位相 “与”
1) 和 "1" 相 “与” 保留原值
2) 和 "0" 相 “与” 都为 "0"
划分子网
- 将一个大网络(主机多=主机ID位数多,网络ID位数少)划分成多个小网络(主机少=主机ID位数少,网络ID位数多)
公式:
划分子网数=划分成2^N个(网络ID位向主机ID位借N位)
合并超网
- 多个小网合并成一个大网,主机ID位向网络ID位借位
网友评论