应用层报文 -> 运输层报文段 -> 网络层数据报 -> 链路层帧
转发 和 路由选择
网络层的功能和服务
两台主机之间通过数台中间路由器相连,路由器具有截断的协议栈(即没有网络层之上的传输层和应用层)。网络层的目的看似非常简单:将分组从一台数据移动到另一台接收主机。为此,需要实现两项基本的功能:转发和路由选择
- 转发:将一个分组在单一的路由器中从一条输入链路移动到适当的输出链路(微观上);
一个立交桥
- 路由选择:当分组从发送放流向接收方时,网络层必须决定这些分组所采用的路由或路径,计算这些路径的算法被称为路由选择算法(宏观上)
宾夕法尼亚至佛罗里达 这条路径
每一台路由器都具有一张转发表(转发表是根据路由选择算法所决定的),路由器根据到达该路由器的分组(报文段)首部字段的值,从转发表中查找该分组将被转发的输出链路接口,然后将该分组移动到对应的输出链路。
连接建立
同运输层类似,网络层也能够在两台主机之间提供无连接服务或连接服务,但是仍有很大的区别:
- 仅在网络层提供连接服务的计算机网络被称为虚电路网络,比如ATM,帧中继的体系结构
- 仅在网络层提供无连接服务的计算机网络称为数据报网络,比如因特网
在数据报网络中,每当一个端系统要发送分组时,它就为该分组加上目的端系统的地址,然后将分组推进网络中,路由器无需维护任何虚电路。
当分组从源到目的地的传输过程中,中间路由器都使用分组的目的地址来转发该分组(通过将目标地址映射到转发表的输出链路出口)。
网络服务模型定义了分组在发送和接收端系统之间的端到端运输特性:
- 确保支付。该服务确保分组将最终到达目的地。
- 具有时延上界的确保支付。不仅确保支付,而且在特定的主机到主机时延上界内支付。
- 有序分组支付。确保分组以它们发送的顺序到达目的地。
- 确保最小带宽。该服务模仿在发送和接收主机之间的一条特定比特率的传输链路的行为。
- 确保最大时延抖动。确保位于发送方的两个相继分组之间的时间量等于在目的地接收到它们之间的时间量。
- 安全性服务。使用仅由源和目的主机知晓的一个秘密会话秘钥,在源主机中的网络层能够加密向目的主机发送的所有数据报负载。
网络层提供:尽力而为服务(best-effort service)
当然也有其他服务模型:ATM网络服务(CBR或ABR)
- 仅在网络层提供连接服务的计算机网络被称为虚电路网络,比如ATM,帧中继的体系结构
- 仅在网络层提供无连接服务的计算机网络称为数据报网络,比如因特网
虚电路网络:
包括ATM,帧中继的体系结构等网络体系采用虚电路网络。
组成:1、源和目的主机之间的路径。2、VC号沿着该路径的每段链路的一个号码。3、沿着该路径的每台路由器中的转发表表项。
无论何时跨越一台路由器创建一条新的虚电路,转发表就增加了一个新表项,终止一条虚电路,沿着该路径每个表中的相应项就被删除。
在沿着路由器传输的每条链路上,一个分组为什么不直接保持相同的VC号呢?
1、逐链路代替该号码减少了在分组首部中VC字段的长度。
2、通过允许沿着该虚电路路径每条链路有一个不同的VC号,大大简化了虚电路的建立。
在虚电路网络中,该网络的路由器必须为进行中的连接维持连接状态信息。
虚电路的3个阶段:
- 虚电路建立。发送运输层与网络层联系,指定接收方地址,等待网络建立虚电路。网络层决定路径并决定VC号,在每台路由器的转发表中增加表项。
- 数据传输。
- 虚电路拆除。
信令报文
数据报网络:
每当一个端系统要发送分组,它就为该分组加上目的端系统的地址,然后将分组推进网络中。无需建立任何虚电路,路由器不维护任何虚电路的状态信息。
当分组从源到目的地传输,它通过一系列路由器传递。这些路由器中的每台都使用分组的目的地址来转发该分组。特别是,每台路由器有一个将目的地址映射到链路接口的转发表;当分组到达路由器时,路由器使用该分组的目的地址在转发表中查找适当的输出链路接口,然后将分组向该接口转发。
转发表 地址的最长匹配规则
4.3路由器工作原理
一台路由器的组成部分:
- 输入端口。它要执行将一条输入的物理链路与路由器相连接的物理层功能,执行需要与位于入链路远端的数据链路层交互的数据链路层功能,在输入端口完成查找功能,决定输出端口。
- 交换结构。将路由器的输入端口和输出端口相连接。
- 输出端口。存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输入链路上传输这些分组。
管理控制平面(软件)—路由选择,用软件实现,在路由器选择处理器上执行
转发数据平面(硬件)— 需要高速,用厂商自己设计的硬件、或者是购买的商用硅芯片
4.4网际协议IP:因特网中的转发和编址
构成因特网的网络层有三个主要组件:1、IP协议。2、路由器选择部分。3、报告数据报中的差错和对某些网络层信息请求进行相应的设施。
IPV4
IPv4数据报中的关键字段:
- 版本号。规定了数据报的IP协议版本。
- 首部长度。确定IP数据报中数据部分实际从哪里开始。
- 服务类型。时不同类型的IP数据报能相互区分开来。
- 数据报长度。
- 标识、标志、片偏移。
- 寿命(TTL)。为0时,该数据报将被丢弃
- 协议。仅在一个IP数据报到达其最终目的地才会有用,指示了IP数据报的数据部分交给哪个特定的运输层协议。
- 首部检验和。帮助路由器检测收到的IP数据报中的比特错误。
- 源和目的IP地址。
- 选项。允许IP首部被扩张。
- 数据(有效载荷)。最重要的字段,包含要交付给目的地的运输层报文段。
ipv4编码 32bit
子网
子网掩码
无类别域间路由选择
2^32 一共约四十亿个IP地址
A类 2^8 =256
B类 2^16 =65536
B类 2^24 =65536*256
IP广播地址 255.255.255.255—>交付给网络内所有主机
IP地址 的获取
ICNAA 分配IP地址和DNS根服务器
动态主机配置协议(DHCP):即插即用协议
Dynamic Host Configuration
DHCP是一个客户-服务器协议,具有将主机连接进一个网络的网络相关方面的自动能力。
协议的四个步骤:
- DHCP服务器发现。通过使用一个DHCP发现报文来发现一个要与其交互的DHCP服务器。
- DHCP服务器提供。DHCP服务器收到一个发现报文时,用一个DHCP提供报文响应。
- DHCP请求。客户从一个或多个服务器中选择一个,并向服务器提供一个DHCP请求报文进行响应,回显配置参数。
- DHCP ACK。服务器用DHCP ACK报文对请求报文进行响应,证实所请求的参数。
网络地址转换(NAT):NetWwork Address Translation
NAT使能路由器对于外部世界来说不像一台路由器,更像一个具有单一IP地址的单一设备。从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。
在NAT路由器上有一张NAT转换表,包含了端口号及其IP地址。
注:NAT的主要问题是它妨碍P2P应用程序。
NAT被反对?不应该将端口号用于进程编址?
UPnP时一种允许主机发现并配置临近NAT的协议,允许外部主机使用UDP或TCP向NAT化的主机发起通信会话。提供了有效的NAT穿越解决方案,可能成为P2P应用程序的救世主。
因特网控制报文协议 ICMP
差错报告
ICMP是IP网际协议的上一层
ping
traceroute
4.5路由选择算法
图论
全局式路由选择算法
分散式路由器选择算法
负载敏感或负载迟钝
4.6 因特网中的路由选择
4.7 广播和多播路由选择
单播—点对点
广播—N次单播?
多播—