IP分组的交付和转发
·交付(delivery)是指在网络层的控制下,底层各网络对分组的处理方式。
·转发(forwarding)指的是把分组交付到下一站的方式。
·交付可分为直接交付和间接交付。
·直接交付时(direct delivery)时,分组的终点是一台与交付者连接在同一个网络上的主机。
·在间接交付(indirect delivery)时,分组经过了一个又一个的路由器,最后到达与终点连接在同一个网络上的路由器。
·注意:直接交付是在终点的IP地址和终点的物理地址之间进行的地址映射,而间接交付是在下一个路由器的IP地址与下一个路由器的物理地址之间进行的地址映射。
·另注:交付总是包括一个直接交付以及零个或多个间接交付。另外,最后的交付总是直接交付。
·当IP作为无连接的协议时,转发的基础是IP数据报的目的地址,而当IP作为面向连接的协议时,转发的基础则是附加在IP数据报上的标记。
·有一种称为下一跳方法(next hop method)的技术可以减少路由表中的内容。
·能够使路由表长度变小并简化查找过程的第二种技术称为特定网络方法(network-specific method)。
·另一种简化路由选择的技术称为默认方法(default method).
·在使用无分类编址时,整个地址空间是完整的,没有划分类别。
·分类编址的路由表可以设计为三列,但无分类编址的路由表至少需要四列。
·注意:网络地址的提取是在查找的同时完成的,因为目的地址本身没有什么可用来提取网络地址的信息。
·当我们使用无分类编址时,路由表的表项数量很可能会增加,这是因为无分类编址的意图就是把整个的地址空间划分为很多个可管理的地址块。
·路由表的规模变大就会导致搜索路由表的时间变长。
·地址聚合(address aggregation)和最长掩码匹配(longest mask matching)
·多级路由选择解决路由表过于庞大的问题,我们可以在路由表中建立分等级的概念。
·对于无分类编址的路由选择,我们只需要遵循无分类编址的规则,等级的划分是没有限制的。
·在使用无分类编址时,目的地址中没有网络的信息,最简单的,但不是最有效的搜索方法称为最长前缀匹配。
·路由选择涉及到搜索过程,而交换则涉及直接的访问。
·多协议标记交换(Multi-protocol Label Switching,MPLS)中的标记堆栈使得多级交换成为可能。
·一个路由器有四个构件:输入端口(input ports)、输出端口(output ports)、路由选择处理器(routing processro)以及交换结构(switching fabric)。
·输入端口执行路由器的物理层和数据链路层的功能。它从接收到的信号中得到的比特流,并把帧封装后得到分组,同时还要进行差错的检测和纠正。
·在每一个滴答(tick),对每一个终点只允许有一个分组发送。如果发送分组超过一个,那它们就必须等到下一个滴答。
网际协议版本4(IPv4)
·网际协议(Internet Protocol,IP)是TCP/IP协议簇在网络层使用的传输机制。
·IP是一种不可靠的无连接数据报协议—尽最大努力交付(best-effort delivery)的服务。
·网络层的分组称为数据报(datagram)。
·数据报是一个可变长度的分组,它由两部分组成:首部和数据。
·服务类型(type of service,TOS)
·数据长度=总长度-首部长度;总长度字段定义了包括首部在内的数据报总长度。
·源点通常不会对IP分组进行分片(fragmentation)。因为运输层会把数据划分成IP与源点使用的数据链路层可接纳的大小。
·数据报在到达最后终点之间可以经过多次的分片。
·数据报可以被源主机或途中的任何路由器分片,但数据报的重装却只能在目的主机上进行,因为每一个分片都变成了独立的数据报。
·当数据报被分片时,首部中的一些必要的部分必须被复制到所有分片中。
·对数据报进行分片的主机或路由器必须改变三个字段的值:标志、分片偏移和总长度。
·只有数据报中的数据是分片的。
·与一个数报的分片与重装有关的字段是:标识、标志和分片偏移。
·注意:所有分片的标识字段都是一样的。除最后一个分片外,所有分片的标志字段中的“还有分片”位均被置1.
·所有的分片都具有相同的标识号,它也是原始数据报的标识号。这个标识号在终点重装数据报时很有用。终点知道所有具有相同标识号的分片必须被组装成一个数据报。
·IP数据报的首部由两部分组成:固定部分(20字节)和可变部分(不超过40字节)。
·选项的格式:一个字节的类型字段,一个字节的长度字段以及可变长度的值字段。这三个字段经常被称为TLV(type-leght-value)。
·类型字段(type field)的长度为8位,它包括三个子字段:复制、类型和编号。
·长度字段(length field)定义选项的总长度,包括类型字段和长度字段本身。
·值字段(value field)包含的是某些特定选项所需的数据。
·无操作选项(no-operation option)是个1字节的选项,用作选项和选项之间的填充符。
·选项结束选项(end-of-option option)也是个1字节的选项,用于选项字段结束时的填充。
·记录路由选项(record-route option)是用来记录处理数据报的因特网路由器。
·严格源路由选项(strict-source-route option)被源点用来预先指定数据报在因特网中传送时的路由。
·时间戳选项(timestamp option)用来记录路由器处理数据报的时间。
·绝大多数TCP/IP协议采用的差错检测方法称为检验和(checksum)。检验和能够防止分组在传输期间出现的损坏。检验和是附加在分组上的冗余信息。
·IP中的检验和只覆盖首部,不包括数据。
·简单有效的适配层(simple and efficient adaptation layer,SEAL)
·IP协议使用的AAL层是AAL5(效率更高)。ATM网络在进入点路由器和离去点路由器之间建立一条路由。通过ATMARP,IP分组的下一跳地址能够被映射为离去点路由器的物理地址。
·每个连接到ATM网络上的路由器都有一个IP地址。IP地址在IP层指明了特定的路由器。但是它在ATM网络中没有任何作用。
·在一个网络中每个地址都是唯一的,且用网络管理员来指定。
·ATM网络内部的交换机根据虚电路标识符(VPI和VCI)来为信元选路。
·有三个安全问题是特别应用于IP协议的:分组窃取(packet sniffing)、分组篡改(packet modification)和IP伪装(IP spoofing)。
·目前我们可以用一种称为IPSec(IP安全性)的协议来保护IP分组不受上面所提到的各种攻击。
·IPSec能够提供以下四种服务:定义算法和密钥、分组加密、数据完整性、起源鉴别。
·可以认为IP软件包包含八个构件:首部添加模块、处理模块、转发模块、分片模块、重装模块、路由表、MTU表和重装表。此外,在软件包中还包括一些输入和输出队列。
·这个软件包接受来自数据链路层和高层协议的应用。
·首部添加模块(headr-adding module)接受来自高层协议的数据及其目的IP地址。
·处理模块(processing module)是IP软件包的核心。
·我们的软件包使用了两种类型的队列:输入队列和输出队列。输入队列(input quenes)存放的是来自数据链路层或高层协议的数据报。输出队列(output squenes)存放的是将要发送到数据链路层或高层协议的数据。
·处理模块从输入队列中取出数据报。分片和重装模块则向输出队列中添加数据报。
·转发模块(forwarding module)接收来自处理模块的IP分组。
·分片模块使用MTU表找出特定接口的最大传送单元(maximum transfer unit,MTU)。
·分片模块(fragmentation module)接收来自转发模块的IP数据报。
·转发模块给出了IP数据报、下一站的IP地址,以及发送这个数据报所必须通过的接口号。
·重装表(ressembly table)是重装模块使用的。
·数据报标识符是一个数字,它唯一地定义了一个数据报以及属于该数据报的所有分片。
·重装模块(ressenbly module)接收来自处理模块的,且已到达最终目的地的数据报分片。
阅读(3854) | 评论(0) | 转发(0) |