第四章网络层
1.网络层的功能
思路:现在网络层的设计思路是,向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
OSI参考模型 | 各层次的传输单元 |
---|---|
应用层 | 报文 |
传输层 | 报文段 |
网络层 | IP数据报,分组(如果IP数据报过大就要切割成分组) |
数据链路层 | 帧 |
物理层 | 比特流 |
1. 异构网络互联
将两个及以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(及中间设备)相互连接起来,以构成更大的网络系统。
中间系统(中继系统/中间设备)分为:
- 物理层中继系统:中继器,集线器(Hub)
- 数据链路层:网桥或交换机
- 网络层中继系统:路由器
- 网络层以上的中集器:网关
注意:使用物理层或数据链路层的中继系统是,只是把一个网络扩大了,而从网络层的角度看,它仍是一个网络,不称为网络互联。网络互联通常是指用路由器进行网络互联和路由选择。路由器是一台专用计算机,用于在互联网中进行路由选择。
2. 路由与转发
路由器主要功能:
- 路由选择(确定那一条路径) :根据特定的路由选择协议构造出路由表,同时经常或定期的和相邻路由器交换路由信息而不断的更新和维护路由表。
- 分组转发(当一个分组到达时采取的动作):处理通过的路由器的数据流,关键操作是转发表查询,转发及相关队列管理和任务调度等。
3.拥塞控制
方法 | 区别 |
---|---|
开环控制 | 静态预设方法,事先将有关的因素考虑周到,中途不需修改 |
闭环控制 | 动态方法,采用监测网络系统去监视,将拥塞信息传到合适的地方 |
2.路由算法
1.静态路由和动态路由
- 静态路由算法:由网络管理员手动去配置路由表的信息。适合用于小型网络。
- 动态路由算法:指路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,而这些路由信息会在一定的时间间隔内不断的更新,以适应不断地网络变化,随时获得最优的寻路效果。常用的动态路由算法可分为两类:距离-向量路由算法 和 链路状态路由算法
静态路由 | 动态路由 |
---|---|
简便,开销小 | 可改善网络性能,有助于流量控制 |
2.距离-向量路由算法
在距离-向量路由算法中,所有的结点都定期地将他们的整个路由选择表传给所有与之直接相邻的节点。这种路由选择表包含:
- 每条路径的目的地。
- 路劲的代价(也称距离)。
注意: 这里的距离是一个抽象的概念,如RIP就将距离定义为“跳数”。跳数是指从源端口到达目的端口所经过的所有路由器的个数,每经过一个路由器,跳数加1。
路由表选择
- 被通告一条新的路由,若本结点路由表中不存在,则加入。
- 发来的路由信息有到达某个目的地的路由,代价小则换,否则不变。
缺点:更新报文的的大小与同学子网的节点个数成正比,大的通信子网将导致很大的跟新报文。由于更新报文发给直接邻接的节点,所以所有的节点都将参与路由选择信息交换。因此,在通信子网上传送的路由 选择信息的数量很容易变得非常大。
3.链路状态路由算法
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息,它们执行下述两项任务:
- 主动测试所有邻接结点的状态。
- 定期地将链路状态传播给所有其他结点。
链路状态路由的算法主要有三个特征:
- 向本自治系统中所有路由器发送信息,这里使用的方法是泛洪法,即路由器通过所有端口向所有相邻的路由器发送信息。而每个相邻路由器又将此信息发往其所有相邻路由器。
- 发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓“链路状态”,是指说明本路由器与那些路由器相邻及该链路的“度量”。对于OSPF算法,链路状态的“度量”主要用来表示费用、距离、时延、带宽等。
- 只有当链路状态发生变化时,路由器才能向所有路由器发送此信息。
由于一个路由器的链路状态只涉及相邻路由器的连通状态,与互联网规模没有直接关系,所以链路状态路由算法可以用于大型的或路由信息变化聚敛的互联网环境。
链路状态路由算法的主要优点:
- 每个路由结点都使用同样的原始状态数据独立地计算路径,而不依赖中间结点的计算;
- 链路状态报文不加改变地传播,因此采用该算法易于查找故障;
- 当一个结点从所有其他结点接受到报文时,它可以在本地立即计算正确的通路,保证一步汇聚。
- 由于链路状态报文仅运载来自单个结点关于直接链路的信息,其大小与网络中的路由结点数目无光,因此链路状态算法比距离-向量算法有更好的规模可伸展性。
距离-向量路由算法 | 链路状态路由算法 |
---|---|
每一个结点仅与它的直接邻居交谈,它为它的邻居提供从自己到网络中所有其他结点的最低费用估计。 | 每个结点通过广播的方式与所有其他结点交谈,它只告诉它们与它直接相连的链路费用。 |
4.层次路由
因特网将整个互联网划分为许多较小的自治系统(一个自治系统可能包含多个局域网),每个自治系统有权自主地决定本系统内应采用何种路由选择协议。如果两个自治系统需要通信,那么就需要一种在两个自治系统之间的协议来屏蔽这些差异。据此,因特网吧路由选择协议划分为两大类:
- 一个自治系统内部所使用的路由选择协议称为内部网关协议(IGP),也称 域内路由选择 ,具体的协议有RIP和OSPF等。
- 自治系统间所使用的路由选择协议称为外部网关协议(EGP),也称 域间路由选择 ,用在不同的自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优的路径。具体协议有BGP。
使用层次路由时,OSPF将一个自治系统在划分为若干个区域(Area),每个路由器都知道在本区域内如何把分组路由到目的地的细节。
3.IPV4
1.IPV4分组
一个IP分组由首部和数据部分组成。首部前一部分长度固定,共20B,是所有IP分组必须具有的。
1.IP数据报
协议:
- 面向连接 的 6 ——TCP
- 不面向连接 的 17(遗弃 )——UDP
2.IP数据报分片
除了最后一个分片其余分片都是8B
标志位有3bit,但只有后2bit有意义,分别是MF位和DF位
总长度 | 标识 | MF | DF | 片偏移 | |
---|---|---|---|---|---|
原始数据报 | 3820 | 123 | 0 | 0 | 0 |
数据报片1 | 1420 | 123 | 1 | 0 | 0 |
数据报片2 | 1420 | 123 | 1 | 0 | 175 |
数据报片3 | 1020 | 123 | 0 | 0 | 350 |
单位区分
首部长度 | 总长度 | 片偏移 |
---|---|---|
4B | 1B | 8B |
口诀: 一种八片首饰
2.IPv4地址与NAT
1.IPv4地址
IP地址的分类
特殊IP地址
私有IP地址
常用的三种IP地址的使用范围
网路地址转换NAT
网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
3.子网划分与子网掩码、CIDR
子网划分
子网掩码
网络号对应位数都为1,主机号对应位都为0。
常用的二进制——十进制转换
二进制 | 十进制 |
---|---|
10000000 | 128 |
11000000 | 192 |
11100000 | 224 |
11110000 | 240 |
11111000 | 248 |
11111100 | 252 |
11111110 | 254 |
11111111 | 255 |
无分类域间路由选择(CIDR)
构成超网
最长前缀匹配
4.ARP、DHCP、与ICMP
-
地址解析协议(ARP)
-
动态主机配置协议(DHCP)
-
网际控制报文协议(ICMP)