一、网络层服务
标记:
1. 网络层服务
网络层介于传输层和数据链路层之间,传输层提供端到端的进程间通信服务,数据链路层的功能是实现物理链路直接相连的两个节点之间的数据帧传输服务,网络层关注的是如何将承载传输层报文段的网络层数据报从源主机送达目的主机。
网络层主要功能:
1)转发(forwarding)
2)路由选择(routing)
3)连接管理(连接建立)
领会:
1. 网络层寻址
当一个分组到达路由器时,路由器会以该分组的网络层首部地址字段的值(比如目的IP地址)作为键,去转发表中查询相应的表项,从而获知该分组应转发至哪条链路上。
2. 转发与路由的基本概念
1)转发:
当通过一条输入链路接收到一个分组后,路由器需要决策通过哪条输出链路将分组发送出去,并将分组从输入接口转移到输出接口。
2)路由选择:
当分组从源主机流向目的主机时,必须通过某种方式决定分组经过的路由或路径,计算分组所经过的路径的算法被称为路由选择算法,或称为路由算法。
3. 转发与路由的区别与联系
路由选择和转发之间是相互作用的,路由器运行路由协议在网络上交换或收集计算路由所需要的信息(如网络拓扑信息等),并基于某种路由选择算法计算路由,然后将路由信息存储到路由转发表中。路由器在转发分组时,查询转发表,决策如何转发分组。
二、数据报网络与虚电路网络
标记:
1. 虚电路网络特点
1)仅在网络层提供连接服务。
2)虚电路是在源主机到目的主机的一条路径上建立一条网络层逻辑连接,为区别于电路交换中的电路,称之为虚电路。
3)在虚电路网络中,数据传输之前需要先建立虚电路,数据传输结束之后在拆除虚电路。
4)虚电路网络分组携带虚电路号(VCID),网络设备依据该VCID转发分组,同一对源和目的主机之间的分组都会途径相同的路径传输,不会出现乱序。
2. 数据报网络特点
1)仅在网络层提供无连接服务。
2)按照目的主机地址进行路由选择的网络称为数据报网络。
3)分组携带完整的目的网络地址,网络设备依据分组的目的地址进行转发,同一对源和目的主机之间的分组可能经由不同的路由器,到达目的顺序可能乱序。
领会:
1. 虚电路网络工作过程(VC由3个要素构成)
1)从源主机到目的主机之间的一条路径(即一系列的链路和分组交换机);
2)该路径上的每条链路各有一个虚电路标识(VCID);
3)该路径上每台分组交换机的转发表中记录虚电路标识的接续关系。
2. 数据报网络工作过程
当分组到达某台分组交换机(如路由器)时,该分组交换机检查该分组的目的地址,然后把它转发给某台邻近的分组交换机。
3. 虚电报网络的转发与路由
1)虚电路网络设备根据分组所携带的VCID判断其所属的虚电路,从而决策如何转发分组;
2)建立VC时需要路由选择,之后所有的分组都沿此路由转发。
4. 数据报网络的转发与路由
每个分组独立选择路由,转发表中维护转发信息。
5. 虚电路网络的转发表
虚电路路径上每台分组交换机的转发表中记录虚电路标识的接续关系。
6. 数据报网络的转发表
转发表中维护转发信息,相比虚电路网络的连接状态信息更新频率慢,根据在网络中运行的路由选择算法进行更新,通常需要1~5分钟。
7.虚电路交换与数据报交换的主要差别:是将顺序控制、差错控制和流量控制等功能交由网络来完成还是端系统完成,比较如下:
项目 | 虚电路交换 | 数据报交换 |
---|---|---|
端到端连接 | 需要先建立连接 | 不需要建立连接 |
地址 | 每个分组含有一个短的虚电路号 | 每个分组包含源和目的端地址 |
分组顺序 | 按续发送,按序接收 | 按序发送,不一定按序接收 |
路由选择 | 建立VC时需要路由选择,之后所有分组都沿此路由转发 | 对每个分组独立选择 |
转发节点失效的影响 | 所有经过失效节点的VC终止 | 除了崩溃时丢失分组外,无其他影响 |
差错控制 | 由通信网络负责 | 由端系统负责 |
流量控制 | 由通信网络负责 | 由端系统负责 |
拥塞控制 | 若有足够的缓冲区分配给已建立的VC,则容易控制 | 由端系统负责 |
状态信息 | 建立的每条虚电路都要占用经过的每个节点的表空间 | 网络不存储状态信息 |
通信类型 | 传输质量要求高的通信 | 数据传输,非实时通信 |
典型网络 | X.25、帧中继、ATM | 因特网 |
三、网络互连与网络互连设备
领会:
1. 网络互连的必要性
在真实的网络拓扑下,存在着许多不同类型的网络,如WAN、LAN等,网络层的下一层数据链路层使用了许多不用的协议,如以太网、802.11等,在网络的各个层次广泛应用着大量协议。
2. 网络互连的基本方法
1)协议转换:采用一类支持异构网络之间协议转换的网络中间设备,实现异构网络之间数据分组的转换与转发。
2)构建虚拟互联网络:是在现有的异构网络基础上,构建一个同构的虚拟互联网络,异构网络均只需封装、转发虚拟网络分组,同时引入虚拟互联网中间设备互连异构网络,实现在异构网络间转发统一的虚拟互联网的数据分组。
3)实现同构网络互连的典型技术是隧道技术。
3. 典型网络互连设备
中继器、集线器、交换机、网桥、路由器和网关等。
路由器是最典型的网络层设备
4. 路由器体系结构
1)输入端口:查找、转发、排队。从物理接口接收信号,还原数据链路层帧,提取IP数据报,根据IP数据报的目的IP地址检索路由表,决策将IP数据报交换到哪个输出端口。对已到达分组提供缓存排队功能。
2)输出端口:排队、缓存、管理;首先提供一个排队缓存功能,排队交换到该端口的待发送分组,并从队列中不断取出分组进行数据链路层数据帧的封装,通过物理线路端发送出去。输出端口同一时刻只能处理一个分组并将其发送至链路上。通常调度策略为FCFS(先到先服务),还有其他策略:按优先级调度、按IP数据报的服务类型调度等。
3)交换结构:完成将输入端口的IP数据报交换到指定的输出端口。主要包括基于内存交换(性能最低)、基于总线交换、基于网络交换(性能最好)3种交换结构。
4)路由处理器:负责执行路由器的各种指令,包括路由协议的运行、路由计算以及路由表的表更新维护等。
四、网络层拥塞控制
标记:
1. 网络层拥塞基本概念
1)拥塞是一种持续过载的网络状态,此时用户对网络资源的总需求超过了网络固有的容量。
2)拥塞控制就是端系统或网络节点,通过采取某些措施来避免拥塞的发生,或者对已经发生的拥塞做出反应,以便尽快消除拥塞。
3)发生原因:
①缓冲区容量有限
②传输线路的带宽有限
③网络节点的处理能力有限
④网络中某些部分发生了故障
2. 拥塞控制基本策略
流量感知路由、准入控制、流量调节和负载脱落
领会:
1. 流量感知路由基本原理
网络经常被抽象为一张带权无向图,网络中链路的权值根据网络负载动态调整,将网络流量引导到不同的链路上,均衡网络负载,从而缓解或避免拥塞的发生,是一种拥塞预防措施。
2. 准入控制基本原理
是一种广泛应用于虚电路网络的拥塞预防技术,基本思想是:对新建虚电路审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立该虚电路。
3. 流量调节基本方法
1)抑制分组:通知上有的最直接方式是直接告知对方
选择一个被拥塞的数据报,给源主机返回一个抑制分组,同时修改该分组首部中的标志位,不会被后续路由器再次选择发送抑制分组。
2)背压:使抑制分组逐跳发挥作用
可以使拥塞节点的拥塞状况很快得到缓解,代价是抑制分组途径的每一跳都需要分配更大的缓冲区。
4. 负载脱落基本原理
通过有选择的主动丢弃一些数据报,减轻网络负载,从而缓解或消除拥塞。选择丢弃哪些数据报是关键,通常与上层应用有关。
五、Internet网络层
标记:
1. Internet网络层主要协议及其功能
网际协议(Internet Protocol,IP)、路由协议以及互联网控制报文协议(Internet Control Message Protocol,ICMP)等内容。
1)IP定义了如何封装上层协议(如UDP、TCP等)的报文段,定义了Internet网络层寻址(IP地址)以及如何转发IP数据报等内容,是Internet网络层最核心的协议。
2)路由协议负责路由选择,决策依据是存储在路由器上的转发表中的路由选择信息。
3)ICMP的主要功能是支持主机或路由器进行差错报告和网络探测。
2. IP数据报结构
下图为IPv4数据报格式:
1)标志位:最高位保留,DF(Don’t Fragment)是禁止分片标志,MF(More Fragment)是更多分片标志;DF=0允许分片,DF=1禁止分片;MF=1表示该IP数据报一定是一个分片,且不是最后一位,MF=0需要判断DF字段与片偏移量,判断是否分片或者是否最后一片。
2)片偏移字段:以8字节为单位;等于0时,MF=0说明未分片,MF=1说明是第一片。
3)生存时间;Time To Live,TTL;表示IP数据报在网络中可以通过的路由器数(或跳步数);TTL=0路由器丢弃该数据报,并向源主机发送ICMP(Type=11,Code=0)报文;一个IPv4数据报最多能够经过28=256跳。
4)上层协议字段:TCP=6,UDP=17;IP利用该字段实现IP的多路复用与分解。
5)首部校验和:利用校验和实现对IP数据报首部的差错检测;16位都是1表示无差错,否则丢弃分组;首部校验和是逐跳校验、逐跳计算。
下图为IPv6数据报格式:
IPv6基本首部长度为固定40字节
IPv6长度为128位,通常采用8组冒号分隔的十六进制数地址形式表示,如:5000:0000:00A1:0128:4500:0000:89CE:ABCD
对于连续多组“0000”可以使用“::”代替,一个地址中只能用一次,如:8000:0000:0000:0000:4321:0501:0000:56CD可以表示为8000::4321:0501:0000:56CD
另一种表现形式是在IPv6地址中嵌入IPv4地址,即IPv6地址的低32位写成点分十进制形式,如:6700::89A1:0321:206.36.45.11
3种类型:单播地址、组播地址、任播地址
两个版本共存的有效解决方案是采用双协议栈,DNS感知通信另一个节点的协议版本,中间途径路由若不支持IPv6,可以采用隧道
与IPv4对比:
- 无分片相关字段,路由器丢弃大于MTU的数据报,避免数据报的分片和重组,加快IP转发速度;
- 无首部校验和
- 选项字段不再是首部一部分;
领会:
1. MTU的基本概念
一个数据链路层协议帧所能承载的最大数据量称为该链路的最大传输单元(Maximum Transmission Unit,MTU)。
2. 特殊IP地址
1)本地主机地址:0.0.0.0/32
2)有限广播地址:255.255.255.255/32
3)回送地址:127.0.0.0/8
3. 私有IP地址
保留用于内部网络,称为私有地址
私有地址类别 | 范围 |
---|---|
A类 | 10.0.0.0~10.255.255.255(或10.0.0.0/8) |
B类 | 172.16.0.0~172.31.255.255(或172.16.0.0/12) |
C类 | 192.168.0.0~192.168.255.255(或192.168.0.0/16) |
4. ICMP
互联网控制报文协议 Internet Control Message Protocol
主要功能:进行主机或路由器间的网络层差错报告与网络探测
5. DHCP
动态主机配置协议
作用:当一个组织分配到一个网络地址块后,为该组织内的主机和路由器接口动态分配IP地址。
DHCP是在应用层实现的,传输层使用UDP。
提供动态IP地址分配的网络需要运行DHCP服务器(端口号67),并且配置其可以为其他主机进行动态地址分配的IP地址范围等。
工作过程
1)DHCP服务器发现
2)DHCP服务器提供
3)DHCP请求
4)DHCP确认
6. 默认网关
0.0.0.0/0
7. NAT的原理
网络地址转换 Network Address Translation,NAT
通常运行在私有网络的边缘路由器
工作原理:
对于从内网出去,进入公共互联网的IP数据报,将其源IP地址替换为NAT服务器拥有的合法的公共IP地址,同时替换源端口号,并将替换关系记录到NAT转换表中;对于从公共互联网返回的IP数据报,依据其目的IP地址与目的端口号检索NAT转换表,并利用检索到的内部私有IP地址与对应的端口号替换目的IP地址和目的端口号,然后将IP数据报转发到内部网络。
应用:
1. IP数据报的分片
假设原IP数据报总长度为L字节,待转发链路的MTU为M字节,一个最大分片可封装的数据字节数应该是8的倍数,20表示IP数据报首部长度为20字节。
最大分片可封装的数据长度为:
d = ⌊ M − 20 8 ⌋ × 8 d=\left \lfloor \frac{M-20}{8}\right \rfloor\times 8 d=⌊8M−20⌋×8
需要的IP分片总数为:
n = ⌈ L − 20 d ⌉ n=\left \lceil \frac{L-20}{d}\right \rceil n=⌈dL−20⌉
每个IP分片的片偏移字段取值为:
F i = d 8 × ( i − 1 ) , 1 ⩽ i ⩽ n F_{i}=\frac{d}{8}\times (i-1) , 1\leqslant i \leqslant n Fi=8d×(i−1),1⩽i⩽n
每个IP分片的总长度字段为:
L i = { d + 20 , 1 ⩽ i ⩽ n L − d × ( n − 1 ) , i = n L_{i}=\left\{\begin{matrix} d + 20 , & 1\leqslant i \leqslant n\\ L - d \times (n-1) ,&i=n \end{matrix}\right. Li={d+20,L−d×(n−1),1⩽i⩽ni=n
每个分片的MF字段为:
M F = { 1 , 1 ⩽ i ⩽ n 0 , i = n MF=\left\{\begin{matrix} 1 , & 1\leqslant i \leqslant n\\ 0 ,&i=n \end{matrix}\right. MF={1,0,1⩽i⩽ni=n
2. IP地址
- 一台主机可能会同时具有多个IP地址。
- 严格来说,IP地址是与接口相关联的,而并不是与某台主机或是路由器一一对应的。
- IPv4地址长度为32位,共有232个不同的IP地址,大约43亿。
- 3种常用标记法:二进制标记法、点分十进制标记法、十六进制标记法。
方法 | 表示方法 |
---|---|
二进制标记法 | 11000000 10101000 00000001 01100101 |
点分十进制标记法 | 192.168.1.101 |
十六进制标记法 | 0xC0A80165 |
- IP子网大概念相当于位网络地址引入了层次。
- 基于IP子网概念,可以将主机IP地址划分为两部分:1)前缀(Prefix),即网络部分(NetID),用于描述主机所归属的网络;2)后缀(Postfix),即主机部分(HostID),用于表示主机在网络内的唯一地址。
- 早期的IP地址被设计为定长前缀,这种方式称为分类地址。
- 目前主流方式为无类地址,网络地址前缀长度可变。
分类地址:
分类寻址,依次从最高比特位逐步“二分”
类 | 前缀长度 | 前缀 | 首字节 | 规定 |
---|---|---|---|---|
A | 8位 | 0xxxxxxx | 0~127 | 可以分配给主机或路由器使用 |
B | 16位 | 10xxxxxx xxxxxxxx | 128~191 | 可以分配给主机或路由器使用 |
C | 24位 | 110xxxxx xxxxxxxx xxxxxxxx | 192~223 | 可以分配给主机或路由器使用 |
D | 不可用 | 1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx | 224~239 | 作为组播地址 |
E | 不可用 | 1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx | 240~255 | 保留 |