文章目录
第四章 网络层
4.1网络层的功能
4.1.1异构网络互连
中继系统分为一下四种:
(1)物理层中继系统:转发器,集线器。
(2)数据链路层中继系统:网桥和交换机
(3)网络层中继系统:路由器
(4)网络层以上的中继系统:网关
4.1.2路由与转发
路由器主要完成两个功能:一个是路由选择,另一个是分组转发,前者是根据特定的路由选择协议构造出路由表,同时不间断的进行给你个更新和维护路由表。后者处理通过路由器的数据流,最关键的就是转发表的查询,转发以及相关队列管理和任务调度。
(1)路由选择。按照复杂的分布式算法,动态的改变所选择的路由。
(2)分组转发。路由器根据合适的转发表将用户的IP数据报从合适的端口进行转发。
4.1.3SDN基本概念
网络层最主要的任务是转发和路由选择。可以将网络层抽象的划分为数据层面和控制层面。转发是数据层面实现的功能,路由选择是控制层面实现的功能。
路由器的主要工作就是收到分组,查找转发表,转发分组。
SDN的优点:
(1)全局集中式控制和分布式告诉转发,既有利于控制层面的全局优化,又利于高性能的网络转发。
(2)灵活可编程与性能的平衡。
(3)降低成本,讲网络和软件开发相分离。
SDN的缺点:
(1)安全风险,集中管理容易受攻击,如果崩溃,使得整个网络受到影响。
(2)瓶颈问题,原本分布式的控制层面集中化后,随着网络规模的扩大,控制器可能会成为网络性能的瓶颈。
4.1.4拥塞控制
拥塞控制的两种方式:
(1)开环控制。在设计网络的时候事先将有关发生拥塞的因素考虑到,力求在网络在工作时不产生拥塞。这是一种静态的预防方法。
(2)闭环控制。基于反馈环路的一种概念,是一种动态的方法。事先不考虑发生拥塞的因素,采用监听网络即使监听哪里发生了拥塞。
4.2路由算法
4.2.1静态路由与动态路由
路由转发分组是通过路由表进行转发的,路由表是通过各种算法得到的,路由算法分为一下两类:
静态路由算法(非自适应路由算法):由网络管理员手工配置的路由信息,不能及时的适应网络变化,对于简单的小型网络,可与采用静态路由。
动态路由算法(自适应路由算法):通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来。这些路由信息会在一定时间间隙内不断进行更新,以此来适应不断变化的网络,随时随地获得最优的寻路效果。
静态路由算法的特点是简便和开销较小,在拓扑变化不大的小的网络中运行效果比较好。动态路由算法能改善网络的性能并有助于流量控制。
常用的动态路由算法可以分为两类:距离-向量路由算法和链路状态路由算法。
4.2.2距离—向量路由算法
在距离-向量路由算法中,所有的结点都定期的将他们的整个路由选择表传达给所有与之直接相邻的结点。
这种路由选择表包含:
- 每条路径的目的地(另一结点)
- 路径的代价(也称距离)
4.2.3链路状态路由算法
链路状态路由算法的三个特征:
(1)向本自治系统中所有路由器发送信息。这里使用的泛洪法。
(2)发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
(3)只有当链路状态发生变化的时候,路由器才向所有路由器发送信息。
4.2.4层次路由
当网路扩大时,路由器的路由表比例地增长。
因特网把路由选择协议分为两大类:
(1)一个自治系统内部使用的路由选择协议称为内部网关协议,也称为路由选择协议。具体的协议有RIP,OSPF等。
(2)自治系统之间所使用的路由选择协议称为外部网关协议,也称域间路由选择,用在不同自治系统的路由器之间交换路由信息,并在不同自治系统之间选择最优路由。具体的协议有 BGP。
4.3IPV4
4.3.1IPV4分组
1.IPV4分组的格式
IP首部的部分重要字段含义:
(1)版本。指的是IP协议的版本,目前广泛使用的是4.
(2)首部长度。占4位。可以表示的最大的十进制数为15.
(3)总长度。16位,指的是首部和数据之和的长度。以太网帧的最大传输单元(MTU)为1500B。当一个IP数据报文封装成帧时,数据报的总长度一定不能超过最大的MTU的值。
(4)标识。每产生一个数据报就会加1,并赋值给标识字段。占16位。当一个数据报的长度超过网络的MTU时,必须分片,此时每个数据报片都复制一次标识号,以便能正确重新装成原来的数据报。
(5)标志。3位。标志字段的最低位为 MF,MF =1表示后面还有分片,MF =0表示最后一个分片。标志字段中间的一位是 DF,只有当 DF = 0 时才允许分片。
(6)片偏移。占 13 位。它指出较长的分组在分片后,某片在原分组中的相对位置。片偏移以8 个字节为偏移单位。除最后一个分片外,每个分片的长度一定是 8B 的整数倍。
(7)生存时间(TTL)。占8 位。数据报在网络中可通过的路由器数的最大值,标识分组在网络中的寿命,以确保分组不会永远在网络中循环。路由器在转发分组前,先把 TTL 减1若 TTL 被减为 0,则该分组必须丢弃。
(8)协议。占 8 位。指出此分组携带的数据使用何种协议,即分组的数据部分应上交给哪个协议进行处理,如TCP、UDP 等。其中值为6表示TCP,值为 17 表示UDP。
(9)首部校验和。占 16位。首部校验和只校验分组的首部,而不校验数据部分。
(10)源地址字段。占4B,标识发送方的IP 地址。
(11)目的地址字段。占4B,标识接收方的IP 地址。
在 IP数据报首部中有三个关于长度的标记,首部长度、总长度、片偏移,基本单位分别为 4B、1B、8B
2.IP数据报分片
当IP数据报的总长度大于链路MTU时,需要将IP数据报中的数据分装在较小的IP数据报,这些较小的数据报称为片。
4.3.2IPV4地址与NAT
1.IPV4地址
- 主机号权全为0表示本网络本身。如:202.98.174.0;
- 主机号全为1,称为直接广播地址。如:202.98.174.255
- 127.X.X.X保留为环回自检地址
- 0.0.0.0表示为本网络上的本主机
- 255.255.255.255表示整个TCP/IP网络的广播地址,又称为受限网络地址。
每个IP地址都由网络号和主机号两部分组成。
①主机号由该单位自行分配,方便IP地址的管理。
②路由器根据网络号来转发分组,从而减小路由表所占用的存储空间
IP地址标志一台主机和一条链路的接口。一台主机连接到连个网络时有两个相应的IP地址。
用转发器或桥接器(网桥)连接的若干LAN仍然是一个网络,因此该LAN中所有主机的IP地址的网络号必须相同,但主机号必须不同。
在IP地址中,所有分配到网络号的网络都是平等的。
同一局域网的网络号必须是相同的。
2.网络地址转换(NAT)
将专用网络地址转换为公用网络地址。对外部隐藏内部管理的IIP地址。降低了内网受到攻击的风险。私有IP地址只能用于LAN,不用于WAN连接。
IP地址只用于LAN,不用于WAN连接
私有IP网段如下:
A类:1个A类网段:10.0.0.0 ~ 10.255.255.255
B类:16个B类网段:172.16.0.0 ~ 172.31.255.255
C类:256个C类网段:192.168.0.0 ~ 192.168.255.255
普通路由器在转发IP数据报时,不改变其原目的地址和目的IP地址。而NAT服务器转发时,需要更换IP地址。
普通路由器仅工作在网络层,NAT路由器转发数据时需要查看和转换传输层的端口。
4.3.3子网划分与子网掩码,CIDR
1.子网划分
子网划分的思路:
- 子网划分属于一个单位内部的事情,单位对外表现为没有划分子网的网络。
- 三级IP地址的结构如下:IP = {<网络号>,<子网号>,<主机号>}
子网划分只把IP地址的主机号进行划分。不改变IP原来的网络号
对IPV进行子网划分时,子网号不能为全0或全1
2.子网掩码
(1)一台主机在设置IP地址信息得同时,必须设置子网掩码
(2)同属于一个子网得所有主机及路由器得相应端口,必须 设置相同得子网掩码
(3)路由器的路由表中,所包含信息的主要内容有目的网络地址,子网掩码,下一跳地址
3.无分类编址CIDR
CIDR地址块中的的地址数一定是2的整数次幂。网络前缀越短,其地址块包含的地址数就越多,地址块就会越小。
4.网络层转发分组的过程
4.3.4ARP,DHCP与ICMP
1.IP地址与硬件地址
路由器有多个IP地址,也有多个硬件地址
在网络层中只能使用IP地址来寻址
在局域网的链路层中,只能看到MAC帧
路由器只根据目的IP进行转发
2.地址解析协议(ARP)
无论网络层使用啥子协议,在实际网络层传输数据帧的时候最终必须使用硬件地址。
每台主机都设有一个ARP告诉缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称为ARP表,使用ARP来动态维护此表。
ARP用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果发现不在的话,需要进行转发分组。
3.动态主机配置协议(DHCP)
DHCP是应用层的协议,他是基于UDP的。
4.国际控制报文协议(ICMP)
为了提高IP数据报交付成功的机会,在网络层使用了ICMP来让主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据。ICPM是IP层协议(网络层协议)
ICMP报文有两种:ICMP差错报文和ICMP询问报文
差错报文用于目标主机或到目标主机路径上的路由器源主机报告差错和异常情况,有以下五种情况:
(1)终点不可达。当主机或路由器不能交付数据时,就向源点发送终点不可达报文。
(2)源点抑制。当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,让源点数据报的发送速率放缓。
(3)时间超时。超时的话,不仅需要将已收到的数据报片都丢弃,并向源点发送时间超过报文。
(4)参数问题。发送或者收到的字段的不争取时,就需要丢弃该数据报。并向源点发送参数问题报文。
(5)改变路由(重定向)。路由器把改变路由报文发送给主机,让主机直到下次应将数据报文发送给另外的路由器。
不应发送ICMP差错报告报文的几种情况:
(1)对ICMP差错报文不再发送ICMP差错报文
(2)对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
(3)对具有组播地址的数据报都不发送ICMP差错报告报文
(4)对具有特殊地址的数据报不发送
ICMP询问报文有4种类型:回送请求和回答报文,时间戳请求和回答报文,地址掩码请求和回答报文,路由器询问和通告报文,最常用的是前两类。
PING工作在应用层,它直接使用网络层的ICMP协议,未使用传输层的YCP和UDP
4.4IPV6
4.4.1IPV6的主要特点
为了解决IP地址耗尽的问题
①采用无类别编制CIDR,使IP地址的分配更合理
②采用NAT方法以节省全球IP地址
③采用具有更大地址空间的新版IPV6
IPV6的主要特点如下:
(1)更大的地址空间
(2)扩展的地址层次结构
(3)灵活的首部格式
(4)改进的选项
(5)允许协议继续扩展
(6)支持即插即用(自动配置)
(7)支持资源的预分配
(8)增大了安全性。身份验证和保密功能是IPV6的关键特征。
(9)IPV6首部必须是8B的整数倍,而IPV4首部是4B的整数倍
(10)IPV6一般不允许分片
4.4.2IPV6地址
IPV6数据报的目的地址可以是以下三种基本类型地址之一:
(1)单播。点对点通信
(2)多播。一点对多点的通信,分组被交付到一组计算机的每台计算机。
(3)任播。IPV6增加的一种类型。任播的目的站是一组计算机。数据报在交付的时候只交付其中的一台计算机。通常是距离最近的一台计算机。
用(自动配置)