网络层提供的两种服务
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
网络层不提供服务质量的承诺
虚电路服务和数据包服务
虚电路服务和数据包服务对比
网际协议IP
与IP协议配套使用的还有三个协议:
- 地址解析协议ARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
层次关系
虚拟互联网络
将网络互相连接起来要使用一些中间设备。根据设备所在的层次,可以有下面四种:
- 物理层使用的中间设备叫转发器。
- 数据链路层使用的设备叫做网桥或桥接器。
- 网络层使用的中间设备叫做路由器。
- 在网络层以上使用的中间设备叫做网关。
分类的IP地址
IP地址及其表示方法
一个IP地址在整个互联网内是唯一的
点分十进制的记法
IP地址的指派范围
IP地址的特点:
- 每一个IP号都由网络号和主机号构成。
- 实际上IP地址是标志一台主机(或路由器)和一条链路的接口。
- 用转发器和网桥连接起来的若干个局域网仍为一个网络
- 在IP地址中,所有分配到网络号的网络都是平等的
IP地址与硬件地址
从不同层次上看IP地址和硬件地址
强调点:
- 在IP层抽象的互联网上只能看到IP数据报
- 路由器只根据目的站的IP地址的网络进行路由选择
- 在局域网的链路层,只能看见MAC帧
- IP层抽象的互联网却屏蔽了下层这些复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和路由器之间的通信。
地址解析协议ARP
解决已经知道了一个机器的IP地址,需要找出其相应的硬件地址。
ARP是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题。
每一台主机都设有一个ARP高速缓存
ARP请求响应分组
IP数据报的格式
总长度单位1B,片偏移单位是8B,首部长度单位4B
一种八篇的首饰(一总八片的首四)
- 版本:IPv4 / IPv6
- 首部长度:单位是4B,最小为5
- 区分服务:指示期望获得哪种类型的服务。
- 总长度:首部+数据,单位是1B
- 生存时间(TTL):IP分组的保质期。经过一个路由器-1,变成0则丢弃
- 协议:数据部分的协议
- 首部校验和:只检验首部
- 源IP地址和目的IP地址:32位
- 可选字段:0~40B,用来支持排错,
- 填充:全0,把首部补成4B的整数倍
IP数据报分片
最大传送单元
链路层数据帧可封装数据的上限
以太网的MTU是1500字节
IP数据包跟分片相关的属性
-
标识:同一数据报的分片使用同一标识
-
标志:只有2位有意义 x_ _
中间位DF
DF=1,禁止分片
DF=0,允许分片
最低位MF
MF=1,后面“还有分片”
MF=0,代表最后一片/没分片
-
片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B位单位。
划分子网和构造超网
分类的IP地址的弱点:
- IP地址空间的利用率有时很低
- 两级IP地址不够灵活
划分子网
思想
本单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。
子网号能否全0或全1看情况
主机号不能全0或全1
子网数目减2 全零全一不可用
子网掩码
子网划分
无分类编址CIDR(构成超网)
无分类域间路由选择CIDR:
- 消除了传统的A类,B类和C类地址以及划分子网的概念。
CIDR记法:IP地址后加上“/”,然后协商网络前缀(可以任意长度)的位数,e.g. 128.14.32.0/20
- 融合子网地址与子网掩码,方便子网划分。 CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址快”。
构成超网
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合
方法:将网络的前缀缩短
最长前缀匹配
使用CIDR时,查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。
例题
答案:B
网际控制报文协议ICMP
ICMP为了更有效地转发IP数据报和提高交付成功的机会
ICMP协议支持主机或路由器:
- 差错报告:发送特定ICMP报文
- 网络探询
ICMP差错报告报文(五种)
- 终点不可达
- 源点抑制(拥塞丢数据)(已作废)
- 时间超过 TTL=0
- 参数问题 首部字段出问题
- 改变路由(重定向) 值得更好的路由
ICMP差错报告报文数据字段
不应该发送ICMP差错报文的情况
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有组播地址的数据报文都不发送ICMP差错报告报文
- 对具有特殊地址的数据报不发送ICMP差错报告报文(127.0.0.0)
ICMP询问报文
- 回送请求和回答报文 ping测试
- 时间戳请求和回答报文
ICMP的应用
PING 使用了ICMP回送请求和回答报文
Traceroute 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文
因特网的路由选择协议
路由算法的分类
静态路由算法
(非自适应路由算法)管理员工配置路由信息
优点:简便,可靠,在负荷稳定,拓扑变化不大的网络中运行效果很好
缺点:路由更新慢,不适合大型网络
动态路由算法
(自适应路由算法)
优:路由更新快,适用大型网络
缺:算法复杂,增加网络负担
分类
-
全局性 链路状态路由算法OSPF
所有路由掌握完整的网络拓扑和链路费用信息
-
分散性 距离向量路由算法 RIP
路由器只掌握物理相连的邻居及链路费用
分层次的路由选择协议
- 因特网规模很大
- 许多单位不想让外界知道自己的路由选择协议,但还想炼乳因特网
自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
路由选择协议分类
- 内部网关协议IGP RIP、OSPF
- 外部网关协议EGP BGP
RIP协议
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。
RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)
距离:通常称为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达
RIP 协议只适用与小互联网
RIP协议路由信息交换细节
RIP协议和谁交换?多久交换一次?交换什么
- 仅和相邻路由器交换信息
- 路由器交换的信息是自己的路由器
- 每30秒交换一次信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。
经过若干次更新后,所有路由表都最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。
距离向量算法
例题
RIP协议的报文格式
RIP协议特点:好消息传得快,坏消息传得慢
OSPF协议
链路状态路由算法
- 每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居节点的网络地址
- 设置到它的每个邻居的成本度量metric
- 构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
- 如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送【LSR链路状态请求分组】
- 收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新
- 更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。
只要一个路由器的链路状态发生变化:
- 洪泛发送[LSU链路状态更新分组]进行更新.
- 更新完毕后,其他站返回一个[LSAck链路状态确认分组]进行确认.
- 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径
OSPF分组
OSPF其他特点
- 每隔30秒,要刷新一次数据库中的链路状态
- 由于一个路由器的链路状态只设计到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系.因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好很多
- OSPF不存在坏消息传的慢的问题,它的收敛速度快.
路由协议比较(三种)
IPv6
IPv6数据报格式
IPv6和IPv4
IPv6地址表示形式
IPv6基本地址类型
- 单播
- 多播
- 任播
IPv6向IPv4过渡的策略
- 双栈协议 同时启用IPv4和IPv6协议栈
- 隧道技术 隧道协议将其他协议的数据帧或包重新封装