计算机网络网络层(中)

一、IP层转发分组的过程

(一)基于终点的转发

        1.分组在互联网中是逐跳转发的。

        2.基于终点的转发:基于分组首部中的目的地址传送和转发。

        3.为了压缩转发表的大小,转发表中最主要的路由是(目的网络地址,下一跳地址),查找转发表的过程就是逐行寻找前缀匹配。(不是(目的地址,下一跳地址))

(二)最长前缀匹配

        1.使用CIDR时,在查找转发表时可能会得到不止一个匹配结果。

        2.最长前缀匹配原则:选择前缀最长的一个作为匹配的前缀。

        3.网络前缀越长,其地址块就越小,因而路由就越具体。

        4.把前缀最长的排在转发表第一行。

例1:三个子网通过两个路由器互连在一起,主机H1发送出一个分组,其目的地址是128.1.2.132(源主机是H1,目的主机是H2)。试讨论分组怎么从源主机传送到目的主机。

例2:路由器R1收到目的地址为128.1.24.1的分组,请给出分组的转发接口。

(1)H1首先确定目的主机是否连接在本网络上?(基于终点转发)

        若目的主机在本网络上,直接交付不需要利用路由器;若目的主机不在本网络上,间接交付,把分组发给连接在网络上的路由器。

        主机H1先把要发送的分组的目的地址和本网络N1的子网掩码按位进行AND运算,得出运算结结果。若运算结果等于本网络前缀,表明目的主机连接在本网络上;否则目的主机没有连接在本网络上。

        例1 根据如下运算,目的主机并不在本网络上,源主机H1必须把分组发送给路由器R1,由路由器R1完成后续任务。

(2)把进入进入R1的分组的目的地址分别和路由器转发表R1的转发表进行按位与运算(逐行寻找前缀匹配)

        例1 根据如下运算在网络N2上进行分组的直接交互。

        查找转发表的过程是寻找前缀匹配的过程。

(3)若目的地址和路由器R1的转发表子网掩码进行按位AND运算,运算结果均为匹配则使用最长前缀匹配。

        例2 选择A公司即128.1.24.0/24作为接口转发。

(三)两种特殊路由

        1.主机路由:又叫特定主机路由,是对特定目的主机的IP地址专门指明的一个路由,网络前缀是a.b.c.d/32,放在转发表的最前面。

        2.默认路由:不管分组的最终目的网络在哪里,都由指定的路由器R来处理,用特殊前缀0.0.0.0/0表示。

(四)路由器分组转发算法

(五)使用二叉线索查找转发表

        1.二叉线索:一种特殊结构的树,可以快速在转发表中找到匹配的叶节点。

        2.从二叉线索的根节点自顶向下的深度最多有32层,每一层对应IP地址中的一位。

        3.为简化二叉线索的结构,可用唯一前缀来构造二叉线索。

        4.为了提高二叉线索的查找速度,广泛使用各种压缩技术。

        5.规则:先检查 IP 地址左边的第一位,如为 0,则第一层的节点就在根节点的左下方;如为 1,则在右下方。然后再检查地址的第二位,构造出第二层的节点。依此类推,直到唯一前缀的最后一位。每个叶节点代表一个唯一前缀。为检查网络前缀是否匹配,必须使二叉线索中的每一个叶节点包含所对应的网络前缀和子网掩码。

        6.在二叉树中查找IP地址:

        (1)找到了一个叶节点。

        (2)将目的 IP 地址和该叶节点的子网掩码进行按位 AND 运算,看结果是否与叶节点的网络前缀相匹配。

        (3)若匹配,就按下一跳的接口转发该分组。否则,就丢弃该分组。

        (4)查到第三个字符 0 时,在二叉线索中找不到匹配的。说明这个地址不在这个二叉线索中。

        (5)检查是否存在默认路由。若有,把分组传送到指明的默认路由器,否则丢弃该分组。

二、网际控制报文协议ICMP

(一)ICMP报文的种类

        1.ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。

        ICMP是互联网的标准协议。

        但是ICMP不是高层协议,而是IP

        2.ICMP报文的格式

        3.IPCM报文的种类

        (1)差错报文

                类型的值3                终点不可达

                类型的值11              时间超过

                类型的值1                参数问题

                类型的值5                改变路由

        (2)询问报文                

                类型的值8或者0        回送请求或回答

                类型的值13或14       时间戳请求或回答

        3.不应该发送ICMP差错报文的几种情况

        (1)对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。

        (2)对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。

        (3)对具有多播地址的数据报都不发送 ICMP 差错报告报文。

        (4)对具有特殊地址(如127.0.0.0 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

        4.ICMP询问报文

        (1)回送请求和回答

                由主机或路由器向一个特定的目的主机发出的询问。

                收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。

                这种询问报文用来测试目的站是否可达,以及了解其有关状态。

        (2)时间戳请求和回答

                请某台主机或路由器回答当前的日期和时间。

                时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从1900 年 1 月 1 日起到当前时刻一共有多少秒。

                时间戳请求与回答可用于时钟同步和时间测量。

(二)ICMP的应用举例

1.PING (Packet InterNet Groper)

        用来测试两个主机之间的连通性。

        使用了 ICMP 回送请求与回送回答报文。

        是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。

2.Traceroute

        这是UNIX操作系统中名字。在 Windows 操作系统中这个命令是 tracert。

        用来跟踪一个分组从源点到终点的路径。

        它利用 IP 数据报中的 TTL 字段、ICMP 时间超过差错报告报文和ICMP 终点不可达差错报告报文实现对从源点到终点的路径的跟踪。

三、IPv6

        IP是互联网的核心协议;

        IPv4地址耗尽问题:到2011年2月,IANA IPv4的32位地址已经耗尽;各区域互联网地址分配机构也相继宣布地址耗尽;我国在2014-2015年也逐步停止了向新用户和应用分配IPv4地址。

        根本解决措施:采用具有更大地址空间的新版本的IP,即IPv6。

(一)IPv6的基本首部

        1.IPv6仍支持无连接的传送:

        (1)将协议数据单元PDU称为分组。

        (2)主要变化:更大的地址空间:将地址从IPv4的32位增加到128位;

                                  扩展的地址层次结构:可以划分为更多的层次;

                                  灵活的首部格式:定义了许多可选的扩展首部;

                                  改进的选项:允许数据报包含有选项的控制信息,其选项放在有效载荷中;

                                  允许协议继续扩充:更好的适应新的应用;

                                  支持即插即用(自动配置):不需要使用DHCP;

                                  支持资源的预分配:支持实时视像等要求保证一定的带宽和时延的应用;

                                  IPv6首部改为8字节对齐:首部长度必须为8字节的整数倍。

        2.IPv6数据报的一般形式

        (1)由两大部分组成:基本首部、有效载荷

        (2)有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部,再后面是数据部分。

        (3)IPv6基本首部和有效载荷

       

        3.IP数据报的基本首部

        (1)首部长度:固定的40字节

        (2)首部字段数:只要八个

                版本:4位,指明了协议的版本,对IPv6该字段总是6;

                通信量类:8位,这是为了区分不同的IPv6数据报的类别或优先级,目前正在进行不同的通信量类性能的实验。

                流标号:20 位, “流”是互联网络上从特定源点到特定终点的一系列数据报, “流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。

                有效载荷长度:16 位,它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。

                下一个首部:8 位,相当于 IPv4 的协议字段或可选字段。

                跳数限制:8 位,源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减 1。当跳数限制的值为零时,就要将此数据报丢弃。

                源地址:128 位。是数据报的发送站的 IP 地址。

                目的地址:128 位。是数据报的接收站的 IP 地址。

        (3)IPv6对首部的主要更改:

                取消了首部长度字段;

                取消了服务类型字段;

                取消了总长度字段改用有效载荷长度字段;

                把TTL字段改为跳数限制字段;

                取消了协议字段,改用下一个首部字段;

                取消了检验和字段;

                取消了选项字段,而用扩充首部来实现选项功能。

        4.IPv6的六种扩展首部

        (1)逐跳选项(2)路由选择(3)分片(4)鉴别(5)封装安全有效载荷(6)目的站选项

(二)IPv6的地址

        1.三种基本类型

        (1)单播 (unicast):传统的点对点通信。

        (2)多播 (multicast):一点对多点的通信。

        (3)任播 (anycast):IPv6 增加的一种类型。任播的终点是一组计算机,但数据报在交付时只交付其中的一个。通常是按照路由算法得出的距离最近的一个。

        2.节点与接口

        (1)IPv6将实现IPv6主机路由器均称为节点。

        (2)一个节点可能有多个与链路相连的接口。

        (3)IPv6地址是分配给节点上接口的。

                一个具有多个接口的节点可以有多个单播地址。

                其中的任何一个地址都可以当作到达该节点的目的地址。

        3.冒号十六进制记法

       (1)在 IPv6 中,每个地址占 128 位,地址空间大于 3.4 * 10^38。

        (2)冒号十六进制记法:16位的值可以用十六进制值表示,各值之间用冒号分隔。

        4.零压缩:一串连续的零可以用一对冒号代替,在任一地址中只能使用一次零压缩。

        5.点分十进制记法的后缀:CIDR 的斜线表示法仍然可用,但取消了子网掩码。

                 CIDR 记法地址:  2001:0DB8:0:CD30:123:4567:89AB:CDEF/60

                IPv6 的地址是:  2001:0DB8:0:CD30:123:4567:89AB:CDEF

                其子网号是:  2001:0DB8:0:CD30::/60 

        6.IPv6地址分类:        

(三)从IPv4向IPv6过渡

        1.方法:逐步演进向后兼容

        2.向后兼容:IPv6系统必须能够接收和转发IPv4分组,并且能够为IPv4分组选择路由。

        3.两种过度策略:

        (1)使用双协议栈

       

        (2)使用隧道技术

(四)ICMPv6

        (1)IPv6 也需要使用 ICMP 来反馈一些差错信息。新的版本称为 ICMPv6。

        (2)ICMPv6报文的分类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值