新华三学习系列
文章目录
五、IP协议基本原理
1、IP的定义
当前唯一的网络层协议标准
定义数据网络层的封装方式、编址方法
2、IP协议的作用
标识节点和链路
寻址和转发
适应各种数据链路
3、IP头部封装格式
Version(版本):IP协议的版本,IPv4协议版本号为4,IPv6协议版本号为6。
IHL(首部长度):IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。
Type Of Service(服务类型):也被称为区分服务,占 8 位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998 年 IETF 把这个字段改名为区分服务(Differentiated Services,DS)。只有在使用区分服务(QoS)时,这个字段才起作用。
Total Length(总长度):IP报文的总长度。报头的长度和数据部分的长度之和。总长度字段为 16 位,因此数据报的最大长度为 2^16-1=65535 字节。不过由于链路层的MTU限制。超过1480字节后就会被分片(以太帧MTU为1500的情况下,除去20字节的包头)
Identification(标识):唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。
Flags(标志):共3位。R、DF、MF三位。R暂未使用,其值为0,DF位:为1表示不分片,为0表示分片。MF位:为1表示“更多的片”,即后面还有分片,为0表示这是最后一个分片。
Fragment Offset(片位移):占 13 位,当报文被分片后,该字段标记该分片在原报文中的相对位置。片偏移以 8 个字节为偏移单位。所以,除了最后一个分片,其他分片的偏移值都是 8 字节(64 位)的整数倍。
Time to Live(生存时间):表示数据报在网络中的寿命,占 8 位。该字段由发出数据报的源主机设置。其目的是防止无法交付的数据报无限制地在网络中传输,从而消耗网络资源。路由器在转发数据报之前,先把 TTL 值减 1。若 TTL 值减少到 0,则丢弃这个数据报,不再转发。因此,TTL 指明数据报在网络中最多可经过多少个路由器。TTL 的最大数值为 255。若把 TTL 的初始值设为 1,则表示这个数据报只能在本局域网中传送。
Protocol(协议):表示该数据报文所携带的数据所使用的协议类型,占 8 位。该字段可以方便目的主机的 IP 层知道按照什么协议来处理数据部分。不同的协议有专门不同的协议号。TCP的协议号为6,UDP的协议号为17。ICMP的协议号为1,IGMP的协议号为2.
Header Checksum(首部校验和):用于校验数据报的首部,占 16 位。数据报每经过一个路由器,首部的字段都可能发生变化(如TTL),所以需要重新校验。而数据部分不发生变化,所以不用重新生成校验值。
Source Address(源IP地址):标识IP数据报文的源IP地址。占32位
Destination Address(目的IP地址):标识IP数据报文的目的IP地址。占32位
Options(可选字段):该字段用于一些可选的报头设置,主要用于测试、调试和安全的目的。这些选项包括严格源路由(数据报必须经过指定的路由)、网际时间戳(经过每个路由器时的时间戳记录)和安全限制。
Padding(填充):由于可选字段中的长度不是固定的,使用若干个 0 填充该字段,可以保证整个报头的长度是 32 位的整数倍。
数据部分:表示传输层的数据,如保存 TCP、UDP、ICMP 或 IGMP 的数据。数据部分的长度不固定
4、IP地址
格式:
32位长度,点分十进制
由网络位+主机位组成
网络位长度长度一致的是同一网段
分类:
A类:1.X.X.X-126.X.X.X 第一段开头为0
网络位划分—前8位为网络位,后24位为主机位
B类:128.X.X.X-191.X.X.X 第一段开头为10
网络位划分—前16位为网络位,后16位为主机位
C类:192.X.X.X-223.X.X.X 第一段开头为110
网络位划分—前24位为网络位,后8位为主机位
D类:224.X.X.X-239.X.X.X 第一段开头为1110
作用:组播地址,不可用于设备配置为地址
E类:240.X.X.X-255.X.X.X 第一段开头为11110
作用:科研用地址,不对公开发
IP地址分类的初衷是用来划分不同的网络规模
特殊地址:
127.X.X.X—本地环回地址,用于标识本机
主机位全0的地址—网络地址,用来标识某个网段
主机位全1的地址—本网段广播地址,即以此地址作为目的IP,本网段所有主机会收到广播包
255.255.255.255—本地局域网广播地址
0.0.0.0—任意IP地址,用于指定默认路由
公私网地址:
公网地址:
可以在互联网上寻址的地址,全球唯一,需要运营商分配
私网地址:
本地任意使用,无法在互联网上寻址
A类 10.X.X.X
B类 172.16.X.X-172.31.X.X
C类 192.168.X.X
自动私有地址:169.254.X.X—DHCP获取IP地址超时自动分配的地址
运营商专用私有地址: 100.64.X.X-100.128.X.X
5、IP数据转发原理
Gateway(网关):本网段出口的IP地址
如果目的IP和本机IP属于同一网段,会直接查询目的IP的MAC地址,并进行封装
如果目的IP和本机IP不属于同一网段,会查询网关IP地址的MAC地址,并进行封装
6、IP子网划分
子网掩码
产生背景:
通过自然分类来划分网络规模会造成大量IP地址浪费
IPv4地址资源已经全部耗尽
定义:
由连续的1或0组成的32位掩码,用来衡量IP地址网络位的长度,1对应部分为网络位,0对应部分为主机位
分类
主类掩码:和自然分类一致的子网掩码
VLSM:可变长子网掩码,通过把子网掩码变长来把一个网段划分为多个子网
CIDR:无类域间路由,通过把子网掩码缩短来把多个网段聚合为一个网段
VLSM算法
1.得出下列参数
掩码借位数 把原掩码的多少个0变成了1
掩码剩余位数
本段掩码剩余位数
2.计算划分结果
划分出的子网数 2^(借位数)
每个子网可用IP地址数 2^(剩余位数)-2
每个子网的间隔位数 2^(本段剩余位数)
3.列出每个子网
子网划分对应关系
25 255.255.255.128 126个可用IP
26 255.255.255.192 62个可用IP
27 255.255.255.224 30个可用IP
28 255.255.255.240 14个可用IP
29 255.255.255.248 6个可用IP
30 255.255.255.252 2个可用IP
31 255.255.255.254 2个可用IP PPP链路可用
32 255.255.255.255 1个可用IP 设备loopback接口可用