6.1 交付
交付
(delivery)是指在网络层的控制下,底层各网络对分组的处理方式。需要使用两种不同的交付方法:直接交付,间接交付。
转发
(forwarding)指的是把分组交付到下一站的方式。
6.1.1 直接交付
直接交付时(direct delivery)时,分组的终点是一台与交付者连接在同一个网络上的主机。
发送方可以提取目的地址的网络地址(用掩码),然后用自己的网络地址相比较,想通就是直接交付。
直接交付时,发送方通过目的IP找到目的地物理地址,然后IP软件把目的地IP和目的地物理地址一起发给物理链路层,这个过程称为IP地址映射到物理地址。
6.1.2 间接交付
在间接交付(indirect delivery)时,分组经过了一个又一个的路由器,最后到达与终点连接在同一个网络上的路由器。
注意:直接交付是在终点的IP地址和终点的物理地址之间进行的地址映射,而间接交付是在下一个路由器的IP地址与下一个路由器的物理地址之间进行的地址映射。
另注:交付总是包括一个直接交付以及零个或多个间接交付。另外,最后的交付总是
直接交付
。
6.2 转发
当IP作为无连接的协议时,转发的基础是IP数据报的目的地址,而当IP作为面向连接的协议时,转发的基础则是附加在IP数据报上的标记。
6.2.1 基于目的地的转发
转发需要查询路由表。
下一跳方法:
(next hop method)的技术可以减少路由表中的内容,只记录下一跳的地址。
能够使路由表长度变小并简化查找过程的第二种技术称为
特定网络方法
(network-specific method)
特定主机法(host-specific method):目的地主机需要在路由表给出。我理解就是特定网络基础上检查路由。
默认方法:
default method 路由表不必都列出来,使用了默认的表项(0.0.0.0)
使用分类编制的转发
无子网划分的转发
有子网划分的转发
使用无分类编址时的转发
在使用无分类编址时,整个地址空间是完整的,没有划分类别。
分类编制的路由表设计三列(网络地址,下一跳地址,接口号),
但无分类编址的路由表至少需要四列(增加掩码/n)。
注意:网络地址的提取是在查找的同时完成的,因为目的地址本身没有什么可用来提取网络地址的信息。
地址聚合
当我们使用无分类编址时,路由表的表项数量很可能会增加,这是因为无分类编址的意图就是把整个的地址空间划分为很多个可管理的地址块。
路由表的规模变大就会导致搜索路由表的时间变长。人们设计了地址聚合(
address aggregation
)。
最长掩码匹配
(longest mask matching)
多级路由选择
多级路由选择解决路由表过于庞大的问题,我们可以在路由表中建立分等级的概念
路由表的查找算法
使用分类编址时的查找:路由表被划分为3张表A,B,C,当分组到达时,路由器根据默认掩码找出对应的表(A,B,C),然后路由器根据子表查询而不是查询整个大表。
在使用无分类编址:目的地址中没有网络的信息,最简单的,但不是最有效的搜索方法称为最长前缀匹配。而是使用前缀。
6.2.2 基于标记的转发
第4张讨论,无连接的网络(数据报方式)路由器根据首部的目的地址来转发该分组,而在面向连接的网路(虚电路方式)交换机根据附加在分组上的标志来转发该分组。
路由选择涉及到搜索过程,而交换则涉及直接的访问。
因为标记被用作交换表的索引,所以可以立即在表中找到对应的信息。
MPLS
MPLS
(
Multiprotocol Label Switching
,多协议标签交换)。起源于IPV4,最初是为提高转发速率设计。
一个新的首部,要在IP这样的协议模拟面向连接的交换,我们需要在首部增加标记字段,IPV4不允许扩展,所以把IP分组封装在MPLS分组。
l
标记(
Label)
:标签值字段,长度为
20bits
,用来标识一个
FEC
。
l
Exp
:
3bits
,保留,协议中没有明确规定,通常用作
CoS
。
l
S
:
1bit
,
MPLS
支持多重标签。值为
1
时表示为最底层标签。
l
TTL
:
8bits
,和
IP
分组中的
TTL
意义相同,可以用来防止环路。每经过一个路由器这个数值-1,到0时丢弃。
多级交换
多协议标记交换(Multi-protocol Label Switching,MPLS)中的标记堆栈使得多级交换成为可能。
6.3 路由器的结构
6.3.1 构件
一个路由器有四个构件:
输入端口
(input ports)、
输出端口
(output ports)、
路由选择处理器
(routing processro)以及
交换结
构(switching fabric)。
输入端口
输入端口执行路由器的物理层和数据链路层的功能。它从接收到的信号中得到的比特流,并把帧封装后得到分组,同时还要进行差错的检测和纠正。
输出端口:
功能与输入端口一样,但是顺序相反。
路由选择处理器
执行网络层的功能,他用目的地址找出下一跳地址,同时找出讲分组发送出去的端口号。这个动作成为查表。
交换结构
榕树交换结构
在每一个滴答(tick),对每一个终点只允许有一个分组发送。如果发送分组超过一个,那它们就必须等到下一个滴答。