网络层
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位为数据报(数据报划分为了分组).
1 功能
1. 异构网互联
2. 路由和转发:路由选择,分组转发
3. 拥塞控制:开环控制(静态),闭环控制(动态)
2 路由算法
1. 静态路由(非自适应路由算法):
1)管理员手动配置路由信息;
2)优点是简便,可靠,适用于负荷稳定,拓扑变化不大的网络。
2. 动态路由(自适应路由算法):
1)路由表项通过相互连接的路由器之间彼此交换信息;
2)能改善网络性能并有助于流量控制;
3)分类:距离-向量路由算法(RIP),链路状态路由算法(OSPF)。
3.层次路由
因特网将整个互联网划分为许多较小的自治系统(其中包含很多局域网)
1)自治系统内使用的路由选择协议称为内部网关协议(IGP),也称域内路由选择,如 RIP,OSPF.
2)自治系统间使用的路由选择协议称为外部网关协议(EGP),也称域间路由选择,如 BGP.
3 IPv4
IP 定义数据传送的基本单位—— IP 分组以及其确切的数据格式。
1. 分组格式:首部 + 数据
首部:固定 20B ,其中协议表示应交付哪个传输层协议(6:TCP,17:UDP);
首部长度,总长度,片偏移的单位分别是 4B,1B,8B(1总8片的首4).
2. IP 数据报分片:
IP 数据报封装在链路层数据报中,所以链路层 MTU(最大传送单元) 严格限制了 IP 数据报的长度。
1)IP 首部中的标志位有 3 比特,后两比特分别是 DF 和 MF;
2)DF(Don't Fragment):1:禁止分片,0:允许分片;
3)MF(More Fragment):1:后面还有分片,0:此为最后一片。
3. IPv4 地址:
连接到因特网上的每台主机(或路由器)都分配一个 32 比特的全球唯一标识符,即 IP 地址。
1)分类:A,B,C,D,E 五类。
2)组成:网络号 + 主机号。
3)主机号全为 0 表示本网络本身,
主机号全为 1 表示本网络的广播地址,
127.0.0.0 为环路自检地址,表示任意主机本身,
0.0.0.0 表示本网络的本主机,
255.255.255.255 表示整个 TCP/IP 网络的广播地址。
4. NAT(网络地址转换):
表示通过将专用网络地址转换为公用地址从而隐藏内部管理的 IP 地址。
1)NAT 路由器至少有一个有效的外部全球地址。
2)NAT 路由表存放着 {本地 IP 地址:端口} 到 {全球 IP 地址:端口} 的映射。
5. 子网划分:
两级 IP 地址存在不够灵活,地址空间利用率低等缺点,所以再增加一个 “子网号字段” 变成三级 IP 地址。
1)IP 地址 = 网络号 + 子网号 + 主机号。
2)划分子网是从主机号里面进行划分,不改变原来的网络号。
3)子网号不能全 1 或 全 0,但随着 CIDR 的使用,全 1 全 0 的 子网号也能用。
4)不管哪一种,子网中主机号全 0 的地址表示子网的网络号,主机号全 1 的表示子网的广播地址。
6. 子网掩码:
为告诉主机或路由器对网络进行了子网划分,使用子网掩码来表达对网络中主机号的错位。
1)1 对应 IP 地址中的网络号,0 对应于 IP 中的主机号。
7. 无分类域间路由选择(CIDR):
CIDR 是在变长子网掩码的基础上提出的一种消除传统 A,B,C 类网络划分并可实现超网构造的 IP 地址的划分方式。
1)IP = 网络前缀 + 主机号。
2)将网络前缀都相同的连续 IP 地址组成 ”CIDR地址块“ ,这种地址的聚合称为路由聚合(构成超网)。
8. IP 地址和硬件地址:
IP 地址为网络层使用的地址,硬件地址是链路层使用的地址;
IP 地址放在 IP 数据报的首部,而 MAC 地址放在 MAC 帧的首部。
9. 地址解析协议(ARP):
在链路上传送数据帧时,最终必须使用硬件地址,因此需要完成 IP 地址到 MAC 地址的映射,这就是 ARP.
工作原理:
A 向 B 发送 IP 数据报,先查看自己的 ARP 高速缓存中有无 B 的 IP 地址;
有,就可查出对应的硬件地址,并写入 MAC 帧,然后发送到此硬件地址;
无,通过全为 1 的目的 MAC 地址来封装并广播 ARP 请求分组,B 收到后便会返回响应 ARP 分组,其中包含 IP 与 MAC 的映射关系, A 收到后便写入 ARP 缓存。
// ARP 请求分组是广播发送,ARP 响应分组是普通的单播。
10. 动态主机配置协议(DHCP):
DHCP 协议常用于给主机动态分配 IP 地址(应用层协议,基于 UDP)。
工作过程(全程广播):
① 主机广播 ”DHCP 发现“ 消息,试图找到 DHCP 服务器;
② DHCP 服务器收到后,广播 "DHCP 提供" 消息;
③ 主机收到回应后再广播 ”DHCP 请求“ 消息;
④ DHCP 服务器广播 ”DHCP 确认“ 消息,将 IP 地址分配给主机。
11. 网际控制报文协议(ICMP):
ICMP 用于主机和路由器来报告差错和异常情况。
分类:ICMP 差错报告报文,ICMP 询问报文。
ICMP 差错报告报文:
① 终点不可达;
② 原点抑制;
③ 时间超时;
④ 参数问题;
⑤ 改变路由(重定向)。
ICMP 询问报文:
① 回送请求和回答报文;
② 时间戳请求和回答报文;
③ 掩码地址请求和回答报文;
④ 路由器询问和通告报文。
// 分组网间 PING :测试两台主机之间的连通性
// Traceroute :用来跟踪分组经过的路由
4 IPv6
解决 IP 地址耗尽的措施:
1)采用 CIDR ,使 IP 分配更合理;
2)采用 NAT 以节省 IP 地址;
3)采用更大地址空间的新版本 IPv6.
1. 主要特点:
1)IPv6 增加到 128 位(16 字节)。
2)支持即插即用(自动配置),不用 DHCP。
3)IPv6 只有在源节点才能分片(端到端),在路由器中不能分片。
4)IPv6 的首部必须是 8B 的整数倍(IPv4 是 4B)。
2. IPv6 地址:
IPv6 数据报的目的地址可以是以下三种之一:
1)单播:传统的点对点通信;
2)多播:一点对多点的通信,分组被交付到一组计算机的每台计算机;
3)任播:其目的地址是一组计算机,但数据报只交付其中一台计算机,通常是最近的计算机。
3. IPv4 向 IPv6 的过渡:
1)双协议栈:让主机或路由器装有两个协议栈,一个 4 一个 6.
2)隧道技术:将整个 IPv6 数据报封装到 IPv4 数据报的数据部分,使其可在 IPv4 的隧道中传输。
5 路由协议
1. 路由信息协议(RIP):
RIP 是一种分布式的基于距离向量的路由选择协议,最大优点:简单。
1)RIP 会优先选择跳数少的路径。
2)RIP 规定一条路径最多包含 15 个路由器(距离为 16 表示不可达)。
3)RIP 规定每隔 30 s 仅和相邻路由器交换全部信息,180 s没动静表示 ”死掉“。
4)路由表项 = 目的网络 + 距离 + 下一跳路由器。
5)会出现慢收敛现象(坏消息传得慢)。
6)RIP 是应用层协议,使用 UDP 传送数据(端口:520)。
7)RIP 选择的路径不一定是时间最短,但是路由器最少。
2. 开放最短路径优先(OSPF)协议:
1)OSPF 使用洪泛法向所有路由器发送部分信息(与自己相邻的路由器的链路状况)。
2)只当链路状态发生变化时才交换信息。
3)OSPF 是网络层协议,直接使用 IP 数据报传送。
4)选择路径的原则是代价最小。
3. 边界网关协议(BGP):
BGP 是不同自治系统的路由器之间交换路由信息的协议。
1)只力求寻找一条较好(非最佳)的路由。
2)BGP 是应用层协议,基于 TCP.
3)与相邻路由器交换信息,首次交换整个路由表,非首次交换有变化的部分。
6 IP 组播
主机组播时仅发送一份数据,在传送路径出现分岔时才复制分组并转发。
组播仅应用于 UDP.
1. IP 组播地址:
1)组播数据报不提供可靠交付(UDP);
2)组播地址只能用于目的地址,不作为源地址;
3)对组播数据报不产生 ICMP 差错报文。
4)并非所有 D 类地址都可以作为组播地址。
IP 组播分为两类:一种是在本局域网上进行硬件组播,一种是在因特网的范围内进行组播。
2. IGMP 与组播路由算法:
IGMP 让连接到本地局域网上的组播路由器知道本局域网上是否有主机参加或退出了某个组播组。
组播路由算法:
1)基于链路状态的路由选择;
2)基于距离-向量的路由选择;
3)可建立在任何路由器协议上,称为协议无关的组播(PIM).
7 移动 IP
支持移动性的因特网体系结构与协议共称为移动 IP。
(使用移动 IP 可以让一个移动结点在不改变 IP 地址的情况下改变驻留位置)
1. 基于 IPv4 的移动 IP 定义三种功能实体:
1)移动节点:具有永久 IP 地址的移动节点;
2)本地代理:移动节点的永久 ”居所“ 称为归属网络,其中代表移动节点执行移动管理的实体为本地代理,它根据移动节点的转交地址,采用隧道技术转交数据包。
3)外部代理:在外部网络中帮助移动节点完成移动管理的实体。
2. 移动 IP 通信过程:
本地代理接受消息,传给外部代理,载传给移动主机。
8 网络层设备
1. 路由器的组成和功能:
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接异构网并完成路由转发。
两个主要功能:
1)分组转发:处理通过路由器的数据流。
2)路由计算:通过和其他路由器进行基于路由协议的交互,完成路由表的计算。
2. 路由表和路由转发:
路由表是路由选择算法得出的,主要用于路由选择。
1)路由表项 = 目的网络 IP 地址,子网掩码,下一跳 IP 地址,接口。
2)转发表是从路由表得出的,但是格式不同。
3)路由表用软件实现,转发表可以软件实现,甚至可用特殊的硬件来实现。