文章目录
1: 网络层功能和服务
网络层实现从发送主机向接收主机传送数据段(segment)的服务,其中,发送主机负责将数据段封装到数据报(datagram)中,接收主机负责向传输层交付数据段(segment)。每个主机和路由器都运行网络层协议(路由器不运行之前的应用层协议和传输层协议)。
1. 网络层功能
- 转发和路由选择
转发
(forwarding): 将分组从单一路由器的输入端口转移到合适的输出端口
路由
(routing): 确定分组从源到目的经过的路径,主要包括路由算法 (routing algorithms)
- 连接建立
同传输层的TCP三次握手类似,某些网络层体系结构(ATM, 帧中继, X.25),在数据分组传输之前两端主机需要首先建立虚拟/逻辑连接,网络设备(如路由器)同时参与连接的建立。
- 网络层服务模型
因特网提供的是尽力而为服务,网络层服务提供两种服务方式,无连接服务(数据报网络)和连接服务(虚电路网络)
2. 数据报网络、虚电路网络
数据报(datagram)网络与虚电路(virtual-circuit)网络是典型两类分组交换网络;数据报网络提供网络层无连接服务
虚电路网络提供网络层连接服务。因特网采用的是数据报网络
-
虚电路网络 VC()
虚电路:一条从源主机到目的主机,类似于电路的路径(逻辑连接)。
虚电路的特征:- 分组交换
每个分组的传输利用链路的全部带宽
(和计算机网络1中的电路交换不同,电路交换占用的是部分资源)- 源到目的路径经过的网络层设备共同完成虚电路功能
虚电路的组成:VC路径上每个路由器都需要维护VC连接的状态信息!
-
数据报网络
网络层无连接服务,每个分组携带目的主机地址,路由器根据分组的目的主机地址转发分组(路由器基于路由协议/算法构建转发表、检索转发表来转发数据报分组、每个分组独立选路)。
转发操作:
因特网的网络层典型的数据报网络,它主要有下图三个组件:路由协议、IP协议、ICMP协议,接下来分别学习这三类协议
2:IP协议
1. IP数据报格式与分片
-
数据报格式
-
数据报分片
网络链路存在MTU (最大传输单元)(链路层数据帧可封装数据的上限),不同链路的MTU不同 ,因此就限制了IP分组的长度。
大IP分组向较小MTU链路转发时,可以被“分片” (fragmented):1个IP分组分为多片IP分组,IP分片到达目的主机后进行“重组”。
标识字段
:标识字段占16位:标识一个IP分组,IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识
片偏移字段
:占13位,一个IP分组分片封装原IP分组数据的相对偏移量,片偏移字段以8字节为单位示例:
2. IP4编址
-
接口概念
IP数据报中有源地址和目的地址,这种地址实际上是与接口相关联的。接口为主机/路由器与物理链路的连接,实现网络层功能,路由器通常有多个接口,主机通常只有一个或两个接口 (e.g.,有线的以太网接口,无线的802.11接口)
-
IP地址形式
IP4中的Ip地址长度为32位,32位编号标识主机、路由器的接口,IP地址与每个接口关联
。地址采用的是典型的点分十进制记法
那么,怎么为接口分配IP地址呢?
采取的方法为IP子网 -
IP子网以及子网掩码
将32位的IP地址分为高比特的网络号(NetID)+低比特的主机号(HostID)
- 子网划分
当网络号占用的比特少时,则子网包括的主机号范围就很大,这时候就需要将子网划分你为更小范围的网络。
- 子网掩码:网络号和子网号全为1,主机号全为0
- 子网掩码的应用
- 子网划分
-
CIDR与路由聚合
无类域间路由(CIDR: Classless InterDomain Routing):提高IPv4 地址空间分配效率,提高路由效率(将多个子网聚合为一个较大的子网,构造超网(supernetting))
路由聚合:将多个子网并成一个大网
3. DHCP协议:主机获取IP地址的协议
在第2节中,已经知道了IP地址是怎么编码以及划分的,那么的一个组织是如何为其设备得到一个地址块的,主机又是如何从地址块中分配到一个地址的呢?这里就是用到DHCP协议。
4. NAT协议:网络地址转换
动机以及优势:
- 只需/能从ISP申请一个IP地址 (IPv4地址耗尽)
- 本地网络设备IP地址的变更,无需通告外界网络
- 变更ISP时,无需修改内部网络设备IP地址
- 内部网络设备对外界网络不可见,即不可直接寻址(安全)
5. ICMP协议:控制报文协议
ICMP协议主要被主机和路由器用来彼此沟通网络层的信息,主要分为两类报文