计算机网络_网络层

2016-06-19  本文已影响284人  srtianxia

网络层提供的两种服务

在计算机网络领域,网络层应该向运输层提供怎样的服务(面向连接还是无连接)曾引起了长期的争论,争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统

电信网的成功经验让网络负责可靠交付

虚电路.png

虚电路是逻辑连接

只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接。

请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。

因特网采用的设计思路

尽最大努力交付的好处

数据报服务


数据报服务.png 虚电路和数据报服务的对比.png

网际协议IP

网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有三个协议

网际IP层协议及配套协议.png

虚拟互连网络

互连在一起的网络要进行通信,会遇到许多问题要解决


问题.png

网络互连要使用一些中间设备
中间设备又称为中间系统中继系统

网络互连使用路由器

互联网络与虚拟网络.png

虚拟互连网络的意义

分组在互联网中的传送.png 网络层.png

如果我们只从网络层考虑问题,那么IP数据报就可以想象是在网络层中传送。

分类的IP地址

IP地址及其表示方法

IP地址的编制方法

分类IP地址

每一类地址都由两个固定长度的字段组成,其中一个 字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是**主机号 host-id
**,它标志该主机(或路由器)
可以记为

分类IP地址.png

IP地址中的网络号字段和主机号字段

IP地址中的网络号字段和主机号字段.png

点分十进制记法

点分十进制记法.png

常用的三种类别的IP地址

常用的三种类别的IP地址.png

IP地址的一些重要特点

同一局域网.png

观察上图

IP地址与硬件地址

比较重要的一点是要区别IP地址与硬件地址的区别

IP地址与硬件地址.png

从层次的角度来看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用 软件实现的)

从不同层次上来看IP地址和硬件地址

网络配置.png Paste_Image.png

需要注意一下几点

地址解析协议

地址解析协议.png 主机A广播发送ARP请求分组.png 主机B向A发送ARP响应分组.png

ARP高速缓存的作用

ARP应当注意的是

使用ARP的四种典型情况

为什么我们不直接使用硬件地址进行通信

IP数据报的格式

IP数据报的格式.png

各字段

IP数据报首部的可变部分

IP数据报转发分组的流程

四个A类网络通过三个路由器连接在一起,每个网络上都可能有成千上万个主机。可以想象,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。丹若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含四个项目。这样可以大大简化路由表。

IP数据报转发分组.png

使用这样的简化图,我们可以不用关心某个网络内部的具体拓扑结构及连接在该网络上有多少台计算机,他还强调了在互联网上转发分组时,是从一个路由器转发到下一个路由器

查找路由表

根据目的网络地址就能确定下一跳路由器,这一点做的结果是:

特定主机路由器

虽然因特网所有分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有这样的特例,即对特定的目的主机指明一个路由。这种路由叫做特定主机路由,采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。

默认路由

默认路由.png

必须强调指出

IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”,当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的** MAC 帧的首部,然后根据这个硬件地址**找到下一跳路由器。

分组转发算法

(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。

划分子网和构成超网

划分子网

从两级IP地址到三级IP地址

在 ARPANET 的早期,IP 地址的设计确实不够合理。

三级IP地址

从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。

划分子网的基本思路

划分子网.png 一个为划分子网的B类网络.png 划分为三个子网后对外仍是一个网络.png

划分子网后变成了三级结构

子网掩码

IP地址的各字段和子网掩码

IP地址的各字段和子网掩码.png

请注意现在子网号为3的网络的网络地址是145.13.3.0(既不是原来两级的IP地址的网络地址145.13.0.0,也不是简单的子网号3),为了使路由器能很方便的从数据报中的目的IP地址中提取所要找的子网的网络地址,路由器就要使用三级IP地址的子网掩码(如上图,三级IP地址的子网掩码),它也是32位,由一串1和跟随的一串0组成。子网掩码中的1对应于IP地址中原来二级地址中的16位网络号加上新增加的8位子网号,而子网掩码中的0对应于现在的8位主机号。虽然RFC文档中没有规定子网掩码中的一串1必须是连续的,但却极力推荐在子网掩码中选用连续的1,以避免发生错误

IP地址 AND 子网掩码 = 网络地址

不管有没有划分子网,只要把子网掩码和IP地址进行逐位相运算,就立即得出网络地址来,这样路由器处理到来的分组时可以采用相同的算法。

IP地址 AND 子网掩码 = 网络地址.png

归纳下上述的要点,从网络145.13.0.0外面看,这就是一个普通的B类网络,但进入这个网络后(即到了路由器),就看到了还有许多网络(即划分了子网后的许多网络),其网络地址为145.13.x.0(这里x可以表示不同的数值),而这些网络的子网掩码都是24个连1跟上8个连0。总之,在这个网络的内外,看到的网络是不同的

为了更便于查路由表,现在因特网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码,默认子网掩码中1的位置和IP地址中的网络号字段正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相与,就应当能够得出该IP地址的网络地址来,这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址 (书上原话 没懂 !!!!)

默认子网掩码

默认子网掩码.png

子网掩码是一个重要属性

P137有一个表格写B类子网划分选择(使用固定长度子网)

例题

例题.png 例题.png

使用子网掩码的分组转发过程

算法

使用子网掩码的分组转发过程.png

有一个例题请见教材P139

无分类编址CIDR(无分类域间路由选择)

网络前缀

划分子网在一定程度上缓解了因特网在发展中遇到的困难。然而在 1992 年因特网仍然面临三个必须尽早解决的问题,这就是:

IP地址问题的演进

CIDR最主要的特点

无分类的两级编址

无分类的两级编址的记法是:


无分类的两级编址.png

CIDR 还使用斜线记法(slash notation),它又称为CIDR记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”

为了更方便的进行路由选择,CIDR使用32位的地址掩码,地址掩码由一串1和一串0组成,而1的个数就是网络前缀的长度。例如/20地址块的地址掩码是:11111111 11111111 11110000 00000000 20个连续的1,斜线记法中,斜线后面的数字就是地址掩码中1的个数

CIDR地址块

CIDR地址块.png

路由聚合(route aggregation)

CIDR记法的其他形式

CIDR记法的其他形式01.png CIDR记法的其他形式02.png

构成超网

CIDR地址块划分举例

CIDR地址块划分举例.png

这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

// 这里还没太懂.... 就是共有多少个几类网络那里

最长前缀匹配

最长前缀匹配举例01.png 最长前缀匹配举例02.png 选择最长前缀的地址.png

使用二叉线索树查找路由表

用5个前缀构成的二叉线索

5个前缀构成的二叉线索.png
所谓唯一前缀就是在表中所有的IP地址中,该前缀是唯一的,这样就可以用这些唯一前缀来构造二叉线索,在进行查找时只要能够和唯一前缀相匹配就行了。
从上至下来查找

网际控制报文协议ICMP

报文格式

报文格式.png

ICMP报文的种类

ICMP差错报告报文共有5种

ICMP差错报告报文的数据字段的内容

ICMP差错.png

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

ICMP询问报文

ICMP的应用举例

具体命令行命令见 P149

因特网的路由选择协议

有关路由选择协议的几个基本概念

理想路由算法

关于最佳路由

从路由算法的自适应性考虑

分层次的路由选择协议

自治系统AS(Autonomous System)

因特网有两大路由选择协议

自治系统和内部网关协议、外部网关协议

自治系统和内部网关协议、外部网关协议.png

这里要指出两点

因特网的路由选择协议

内部网关协议RIP(Routing Information Protocol/路由信息协议)

工作原理

距离的定义

RIP协议的三个要点

路由表的建立

距离向量算法

距离向量算法.png

P154有一道例题

路由器之间交换信息

RIP2协议的报文格式

RIP2协议的报文格式.png

RIP2的报文由首部和路由部分组成

RIP协议的优缺点

RIP协议的优缺点01.png RIP协议的优缺点02.png RIP协议的优缺点03.png RIP协议的优缺点04.png RIP协议的优缺点05.png RIP协议的优缺点06.png

内部网关协议OSPF(Open Shortest Path Frist/开放最短路径优先)

它是为了克服RIP的缺点在1989年开放出来的

OSPF 协议的基本特点

三个要点

链路状态数据库

OSPF的区域(area)

划分为两种不同区域

划分两种不同的区域.png

主干区域的作用是用来连通其他在下层的区域。从其他区域来的信息都由区域边界路由器进行概括。上图中R3,R4,R7都是区域边界路由器,显然每一个区域至少有一个区域边界路由器,在主干区域的路由器叫做主干路由器,如R3,R4,R5,R6,R7,一个主干路由器可以同时是区域边界路由器,如R3,R4,R7,在主干区域还要有一个路由器专门和本自治系统外的其他自治系统交换路由信息。这样的路由器叫做自治系统边界路由器(R6)

OSPF直接用IP数据报传送

OSPF的其他特点

OSPF分组

OSPF分组.png

OSPF的5种分组类型

OSPF的基本操作

OSPF的基本操作.png

OSPF使用的是可靠的洪泛法

OSPF使用的是可靠的洪泛法.png

假设路由器R用洪泛法发出链路状态更新分组。图中的一些小箭头表示更新分组。第一次先发给相邻的三个路由器。这三个路由器将收到的分组再进行转发时,要将其上游路由器除外。可靠的洪泛法是在收到更新分组后要发送确认(收到重复更新的分组只需发送一次确认,图中蓝绿箭头表示确认分组)

OSPF的其他特点

外部网关协议BGP

BGP使用的环境与内部网关协议不同的原因

BGP发言人

BGP交换路由信息

BGP发言人和自治系统AS的关系

BGP发言人和自治系统AS的关系.png

每个BGP发言人除了运行BGP协议外,还必须运行自治系统所使用的内部网关协议,如OSPF或RIP。

AS的连通图举例

AS的连通图举例.png

它是树形结构不存在回路

BGP发言人交换路径向量

BGP发言人交换路径向量01.png BGP发言人交换路径向量02.png

BGP协议的特点

BGP共使用四种报文

在 RFC 2918 中增加了 ROUTE-REFRESH 报文,用来请求对等端重新通告。

BGP报文具有通用的首部

BGP报文具有通用的首部.png

路由器在网际互连中的作用

路由器的结构

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。

典型的路由器结构

下图的方框中的1,2,3分别代表物理层,数据链路层和网络层的处理模块

典型的路由器结构.png
从图中可以看出,整个路由器结构可以划分为两大部分 路由选择部分和分组转发部分。

路由选择部分也叫作控制部分,其核心构件是路由选择处理机。路由选择处理机的任务是根据所选定的路由选择协议(上面的内部/外部...协议)构造出路由表,通常经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。

分组转发部分是本节要讨论的问题,它由三部分组成:交换结构、一组输入端口、一组输出端口(这里的端口就指的是硬件接口)

图中的交换结构又称为交换组织,它的作用是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。交换结构本身就是一种网络,但这种网络完全包含在路由器中,因此交换网络可看成是在路由器中的网络

转发和路由器选择的区别

路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别

输入端口对线路上收到的分组的处理

数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理,这会产生一定的时延


输入端口对线路上收到的分组的处理.png

有一详细的过程请看P167

输出端口将交换结构传送来的分组发送到线路

当交换结构传送过来的分组先进行缓存。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。


输出端口将交换结构传送来的分组发送到线路.png

分组丢弃

交换结构

交换结构是路由器的关键构件,正是这个交换结构将分组从一个输入端口转移到某个合适的输出端口。

交换结构.png

IP多播

IP多播的基本概念

不使用多播.png

多播可以明显地减少网络中资源的消耗

多播可以明显地减少网络中资源的消耗.png

IP多播的一些特点

在局域网上进行硬件多播

D类IP地址与以太网多播地址的映射关系

有一段介绍P171

D类IP地址与以太网多播地址的映射关系.png

网际组管理协议IGMP和多播路由选择协议

IP多播需要两种协议

IGMP使多播路由器知道多播组成员信息

IGMP使多播路由器知道多播组成员信息.png

IGMP的本地使用范围

多播路由选择协议比单播路由选择协议复杂的多

IGMP是整个网际协议IP的一个组成部分

IGMP可分为两个阶段

上一篇 下一篇

猜你喜欢

热点阅读