408-计算机网络-网络层
网络层
概述和功能
任务
- 把分组从源端传送到目的端
- 传输单位是数据报
功能
- 路由选择分组转发
- 异构网络互连
- 拥塞控制
转发
硬件结构
-
路由器
-
转发表
- 目的网络地址
- 目的网络子网掩码
- 下一跳地址
-
路由器转发分组的算法步骤
-
提取目的网络IP地址
-
是否直接交付(目的IP在此路由器管辖的网络内)
-
特定主机路由
- 在路由表中有一个特定主机路由
- 若IP地址与特定主机路由就查找到
-
检测路由表中有无路径
- 遍历路由表,若有就直接交付
- 应该每一行都有一个对应的子网掩码,先把目的IP地址与子网掩码相与,然后与那一行的网络地址比较,若相同就把IP数据报发过去
-
默认路由0.0.0.0
-
生存时间为0就丢弃
-
-
协议
-
ICMP网际控制报文协议:
(与IP协议合作的协议)-
功能
- 更加有效地转发IP数据报
-
类型
-
ICMP差错报文
-
都是向原点发送的报文
-
报文格式
-
不发送ICMP数据报的情况
- 组播是1点到多点
-
-
ICMP询问报文
-
四种
- ping就是ICMP询问报文
-
应用
-
traceroute如何实现
- 发送N个ICMP数据报,TTL分别是1,2,3,4…N
-
-
-
-
IGMP(组播路由器使用的协议)
-
IP
-
IP数据报格式
-
首部
-
固定部分
20字节
(每行4字节,32比特)-
第一行
-
0-3比特
版本-
IPV4
IPV6
-
4-7比特
首部长度(4B一个单位)- 4位表示16个二进制数据
- 单位为4B
- 0-15
- 0-60B
-
8-15比特
区分服务- 期望获得的服务
- 强调数据报的优先级
-
16-31比特
总长度- 首部长度+数据长度
- 单位是1B
- 0-65535
- 0-65535B
-
-
第二行:实现IP数据报分片功能
-
0-15
标识- 数据报的序号
- 属于同一数据报的所有分片的标识都相同
-
16-18
标志-
只有17,18位有意义
-
17:DF
- 1:禁止分片
- 0:允许分片
-
18:MF
- 1:后面还有分片
- 0:最后一个分片
-
-
19-31:片偏移
- 此片的最开头在原分组的相对位置
- 单位为8B
-
-
第三行
-
0-7比特
生存时间- 每经过一个路由器就减一
-
8-15比特
协议-
TCP6
- 面向连接非常6
-
UDP17
- 非连接经常遗弃(17)
-
16-31
首部检验和
-
-
第四行
- 源地址
-
第五行
- 目的地址
-
-
可变部分
-
长度0-40B
-
填充字段
- 首部必须是4B的整数倍
-
-
-
TCP报文(数据部分)
-
-
IP数据报分片过程
-
最大传送单元MTU
- 以太网MTU是1500字节
- 数据报想要在以太网内传播,就必须在加上帧头和帧尾后,长度不超过1500字节
- 帧首部和尾部加起来是80字节
- 所以IP数据报不超过1420B
-
-
-
ARP
-
主要任务就是解决下一跳往哪走的问题,而帧往哪走需要MAC地址来导向
-
一个主机发送数据的过程
- 应用层的数据分片成为传输层的报文
- 传输层的一个报文段加上原IP地址和目的IP地址成为了网络层的数据报
- 网络层的数据报在数据链路层加上了源MAC地址和目的MAC地址
- ARP协议就在此时生效
- 装入目的MAC地址时,首先设置为FF-FF-FF-FF-FF-FF,意思是广播地址,然后发送一个ARP报文
-
局域网内的———集线器,交换机,所有终端以及管辖此局域网的路由器都可以收到ARP此广播请求
- 三种情况
- 目的IP地址就在发送方保存的ARP表中
- 根据ARP表项把帧首部的目的MAC地址填入
然后发送到对应主机
- 目的IP地址在局域网内
(发送方把目的IP地址与本局域网内对应的子网掩码相与,若网络号和此网络的网络号相同,就说明目的地址在局域网内)
- 若局域网内收到ARP请求的某个设备,相应了此请求,而且此设备的IP地址与ARP报文内的目的IP地址相同,就向发送ARP报文的设备回复一个单播的ARP报文,存放此设备的MAC地址
- 所以发送方的目的MAC地址就填入对应主机的MAC地址
而且,发送方的ARP表加入一个表项,是IP地址和MAC地址的映射
- 目的IP地址不在局域网内
- 目的MAC地址填入默认路由器的MAC地址
- 若不知道默认路由器的MAC地址,只知道默认路由器的IP地址,就先发送一个ARP报文,目的IP地址填入默认路由器的IP地址,然后会得到对应的MAC地址
- 路由器根据目的IP地址,查找路由表下一条地址,找到之后就向目的地址发送一个ARP请求。请求内包括发送方IP地址,目的IP地址,发送路由器的MAC地址,下一条路由器的MAC地址
- 若不知道下一条路由器的MAC地址,就重复这一步
- 终于知道链路层为啥是点对点的了,因为使用MAC地址寻找帧的接收方,而找接收方只能广播式地找
- 最终会找到目的主机,此时路径上所有设备的ARP表都存放着路径内下一条的MAC地址
-
-
DHCP(动态分配IP地址)
-
主机如何获得IP地址
-
静态配置
- 终端固定
-
动态配置
- 终端不固定,比如手机连无线网
- 在局域网内需要DHCP服务器来对手机分配IP地址
-
-
性质
- 应用层协议
- C/S方式
- 客户端和服务器通过广播进行交流
- 使用UDP
-
过程
-
IPV4分组
网络层编址
-
基本编址形式
-
分类的IP地址
-
特殊IP地址
- 网络和主机号都全0:默认路由
- 网络号全0:本网内的主机
- 网络号和主机号都全1:本网内的广播
- 主机号全0:表示一个网络
- 主机号全 1:对特定网络上的所有主机进行广播
- 网络号为127,主机号不是全0页不是全1,本地环回地址
-
私有IP地址
-
A中网络数-2是因为,127被占用为本地环回地址
全0被占用为特殊IP地址
-
-
子网划分与子网掩码
-
子网划分:原IP结构(网络号+主机号)
划分子网后的IP结构(网络号+子网号+主机号) -
内部单位划分子网后,对外仍然表现为一个网络
-
子网掩码
- 每个子网拥有一个单独的子网掩码
- 连续的1和连续的0构成的二进制数
- 比如单位内分配主机号的位数为8位,那么子网掩码后8位全0,剩下24位就全1
- 子网掩码与IP地址相与,若得到的网络号与此子网的网络号相同,说明目的主机就在此子网内
-
-
无分类编制CIDR
-
把IP地址分为(网络前缀+主机号)
-
地址掩码(子网掩码)
- 128.14.32.0/20
- 20就是子网掩码的1的位数
-
应用
-
构成超网(路由聚合):将多个子网聚合成一个较大的子网
- 为了减少路由器中减少路由表的行数
- 将所有子网的网络地址取交集
- 结果是路由表中,目的网络的网络号中的网络前缀的位数变少了
-
最长前缀匹配
- 匹配好几个的时候,找到网络前缀最长的路由
-
-
网络地址转换NAT
- 把一个主机的私有地址(10 ,172.16,192.168)转换为全球IP地址
- 使用NAT转换表
IPV6
-
数据报格式
-
优先级:数据报的优先级
-
流标签:属于同一个流的数据报都有同样的流标签
-
有效载荷长度:扩展首部+有效数据大小
-
下一个首部:指向下一个扩展首部
-
跳数限制:相当于TTL
-
与IPV4的区别
-
地址表示形式
-
基本地址类型
-
向IPV4过渡的策略
-
隧道技术
移动IP
- 看不懂
- 子主题 3
路由选择
路由选择算法
-
静态路由(非自适应)
- 管路员手工配置路由信息
-
动态路由
-
链路状态路由算法
(全局性)
OSPF-
记住【】内的字
先【打招呼】,再给邻居传个【目录】,邻居看完目录发现自己缺东西,就给我【请求】要更新它的分组,然后我发【更新后的分组】,邻居收到回复一个【确认】
发送的数据,都通过IP数据报传送 -
OSPF
-
区域
-
主干区域
- 主干路由器
- 自制系统边界路由器
-
内部区域
- 区域边界路由器
- 区域内部路由器
-
-
OSPF分组
-
OSPF特点
-
使用了地杰斯特拉提出的最短路径算法SPF
-
最主要的特征是使用了链路状态协议
-
特点
-
-
-
距离向量路由算法
(分散性)
RIP(应用层协议,使用UDP传送数据)-
距离向量算法
-
适合小网络
-
慢收敛:好消息传得快,坏消息传的慢
-
RIP协议
-
路由表元素只存目的网络、到达目的网络的距离以及下一跳路由器
-
距离为16表示不可达
-
路由器的特点
- 只和相邻路由器交换信息
- 交换的信息是自己的路由表
- 每30秒交换一次陆游信息
-
RIP协议报文格式
- 只有在路由器使用距离向量算法交换陆游信息时,才会交换RIP报文
-
-
-
路由选择协议(层次路由)
-
自制系统AS
- 比如学校网络,学校内不想让外界知道自己的网络拓扑情况
-
自制系统内IGP
一个AS内使用的- RIP(应用层协议,使用UDP传送数据)
- OSPF
-
自制系统间EGP
AS之间使用的-
BGP(应用层协议,借助TCP传送)
-
需要解决的问题
-
和其他自制系统的BGP发言人交换信息
-
交换网络可达性的信息
-
发生变化时更新变化的信息
-
-
交换信息的过程
-
报文格式
-
特点
-
四种报文
-
-
-
三种协议比较
IP组播(多播)
-
三种传播方式
-
组播传播方式
-
IP组播地址
- D类地址
-
硬件组播(局域网内)(可能会靠)
-
IGMP网际组管理协议(组播路由器使用的协议)
- 使用IP数据报传输数据
网络层设备
路由器
-
输入端口
-
输出端口