互联网层

IP协议栈
• 无连接协议
• 结构化的编址,用于寻址和转发
• 尽力而为的逐跳转发
• 与媒介无关,但可以适应多种数据链路
• IPv4和IPv6

IPv4 地址格式和表示方法
互联网层

• 网络号用于区分不同的IP网络
• 主机号用于标识该网络内的一个IP节点
• 掩码用于确认网络和主机,由连续的(2进制) 1和0组成,不可缺少
IPv4地址分类
互联网层特殊的IP地址
互联网层划分子网方法
互联网层

掩码中的1代表网络
掩码中的0代表主机
主机位全1的代表广播地址
主机位全0代表网络地址
重点
1.子网的数目=2 的M 次方(M代表子网位数)
2.主机数目= 2 的N次方-2(N代表主机位数),网络地址和广播地址不能分配给主机来使用
3.主机位为全1的地址是广播地址=下个子网号-1
4.主机位为全0的地址是网络地址

根据子网数划分子网
• 假设需要划分X个子网,每个子网包括尽可能多的主机,并且满足
2 M ≥X≥2 M-1 ,则子网号位数为M

根据主机数划分子网
• 假设每个子网需要划分Y个IP地址,并且满足2N≥ Y+2≥ 2N-1,则主机号位数为N,子网掩码位数为32-N

CIDR
• 消除了自然分类地址和子网划分的界限(超网)
• 将网络前缀相同的连续IP地址组成CIDR地址块
• 支持强化地址汇聚(子网是增加掩码长度,而汇总是减少掩码长度)
• 无类域间路由协议:RIPv2、EIGRP、OSPF、IS-IS、BGP

IP报文头部详解
互联网层① Version:4bit,表示IP协议版本号。
② IHL: 4bit,报文头长度HLEN,表示报文头长度(行数)。
③ TOS:8bit,Type of Service,服务类型,指示对本数据报的处理方式。
④ Total Length:16bit,数据包总长度,以Byte为单位表示整个IP数据报长度
⑤ Identifier:16bit,标识字段,是发送者赋予数据报的标识符,接收者利用这个信息和源地址判断收到的分组属于哪个数据报,以便进行重组。
⑥ Flags:3bit,标志位,只有低两位有效。第一bit为0时表示该分片是最后一片,如果该位是1表示后面还有分片。第二bit为0时表示可以对数据报进行分片,如果该位是1表示数据报不能分片。当该位设置为1而帧长度不匹配又必须分片时,设备就会将数据报丢弃并返回错误信息。
⑦ Fragment Offset:片偏移,指示本分片数据在初始数据报数据区中的偏移量,偏移量以8 Byte为单位,重组时分片顺序由片偏移提供。
⑧ Time To Live:生存时间,简称TTL,8bit,用来控制数据报在网络中存在的时间。默认255跳,数据报每经过一台路由器时,路由器将TTL值减1,一旦TTL=0,系统就丢弃该数据报,并返回错误信息。
⑨ Protocol:8bit,协议,表示该数据报携带的传输层的协议类型。
⑩ Header Checksum:16bit,头校验和,用于保证IP头数据的完整性。
⑪ Address:分为源IP地址和目的IP地址,各占32bit
⑫ Padding:当IP报文头长度不是32bit的整数倍时,填充0来凑齐32bit整数倍,没有实际意义。
⑬ Data:来自第4层的数据段。