呵呵哒学习笔记:《计算机网络》第三章 网络层
第五部分 网络层
1. 考试内容
(1)网络层的基本概念以及其服务
面向连接的通信方式:建立虚电路,以保证双方通信所需的一切网络资源。如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接。
请注意,电路交换的电话通信是先建立了一条真正的连接,而分组交换的虚连接和电路交换的连接只是类似,并不完全一样。
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
(2)IP地址的编码规则与分类、划分
网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有三个协议:IP地址的编码规则与分类、划分
地址解析协议ARP、网际控制报文协议ICMP、网际组管理协议IGMP、网际层的IP协议及配套协议
网络互相连接起来要使用一些中间设备,中间设备又称为中间系统或者中继系统
①物理层中继系统:转发器(repeater)
②数据链路层中继系统:网桥或桥接器(bridge)
③网络层中继系统:路由器(router)
④网桥和路由器的混合物:桥路器(brouter)
⑤网络层以上的中继系统:网关(gateway)
互联网可以由许多异构网络互联组成,分配的IP地址,就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符
IP地址的编址方法:分类的 IP 地址,子网的划分,构成超网。
两级的 IP 地址 :IP 地址 ::= { <网络号>, <主机号>}
分类的 IP 地址:A类,B类,C类地址都是单播地址
D类地址用于多播,E类地址保留
实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
IP地址不仅可以指明一个主机,还指明了主机所连接到的网络
点分十进制记法:192.168.1.1
一些特殊的IP地址:保留地址0.0.0.0 本地软件环回测试地址127.0.0.1
不指派地址 128.0.0.0 192.0.0.0
(3)子网与子网掩码
- 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网 络。
- 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减 少了若干个位。
- 子网掩码:使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。
- 默认子网掩码:原来两级IP时A、B、C类地址使用的网络号
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时 给出该网络的子网掩码。
- 不同的子网掩码得出相同的网络地址,但不同的掩码的效果是不同的
(4)NAT的基本原理
- 需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路 由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。
- 在专用网络内使用专用IP地址,仅在连接到英特网上的路由器时使用全球IP 地址。并且一定要使用全球IP才能和英特网连接
- 通过NAT地址转换表可以把IP数据报上的旧目的IP地址转换为新的目的IP 地址
- 使用端口号的NAT也叫网络地址与端口号转换NAPT
(5)IP协议与数据报结构
- 一个 IP 数据报由首部和数据两部分组成。
- 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
- 在首部的固定部分的后面是一些可选字段,其长度是可变的。
- 首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)
因此 IP 的首部长度的最大值是 60 字节。固定长度为20字节
- 总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报 的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU
- 标志(flag):占3位,目前只有前两位有意义
标志字段的最低位是MF。MF=1表示后面“还有分片”。MF=0表示最后一个分 片。标志字段中间的一位是DF,只有当DF=0时才允许分片。
- 片偏移(13 位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏 移以 8 个字节为偏移单位。
- 生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可通过的路由器数 的最大值。单位为跳数。数据报能在英特网中传输的最大跳数为255个路由器
- 协议(8 位)字段指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理过程
- 首部检验和(16 位)字段只检验数据报的首部,不检验数据部分。采用累加法, 以16位字为单位加
IP层分组转发的流程:分组转发算法
- 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
- 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是 间接交付,执行(3)。
- 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中 所指明的下一跳路由器;否则,执行(4)。
- 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳 路由器;否则,执行(5)。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由 器;否则,执行(6)。
报告转发分组出错。
(6)Internet自治系统与路由协议(RIP、OSPF、BGP)
路由选择协议的核心就是理想的路由算法,从路由算法的自适应性分类:静态路由 选择策略----即非适应路由选择、动态路由选择策略----即自适应路由选择
因特网采用分层次的路由选择协议
自治系统AS的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用 一种AS 之间的路由选择协议用以确定分组在 AS之间的路由.
因特网由两大类路由选择协议:内部网关协议IGP:即在一个自治系统内部使用路 由选择协议,常用的由RIP,OSPF;外部网关协议EGP:不在一个自治系统内部 使用的路由选择协议,常用的是BGP
自治系统之间的路由选择叫做域间路由选择,在自治系统内部的路由选择叫做域内 路由选择
内部网关协议RIP(路由信息协议):RIP是一种分布式的基于距离向量的路由 选择协议。基于UDP的应用层协议。
RIP协议中的“距离”也称为“跳数”,因为每经过一个路由器,跳数加一。
RIP允许一条路径最多只能包含15个路由器
“距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网。
RIP不能在两个网络之间同时使用多条路由。RIP选择一个具有最少路由器的路由
(最短路由),哪怕还存在另外一条高速(低时延)但路由器较多的路由。
RIP协议的三个要点:①仅和相邻路由器交换信息②交换的信息是当前本路由器所 知道的全部信息,即自己的路由表③按固定的时间间隔交换路由信息,例如,每 隔30s
距离向量算法
收到相邻路由器(其地址为 X)的一个 RIP 报文:
- 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并 把所有的“距离”字段的值加 1。
- 对修改后的 RIP 报文中的每一个项目,重复以下步骤:若项目中的目的网络 不在路由表中,则把该项目加到路由表中。否则,若下一跳字段给出的路由器地址 是同样的,则把收到的项目替换原路由表中的项目。否则,若收到项目中的距离小 于路由表中的距离,则进行更新,否则,什么也不做。
- 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可 达路由器,即将距离置为16(距离为16表示不可达)。
- 返回。
RIP2 的报文由首部和路由部分组成
路由部分:地址族标识符,路由标记,网络地址、该网络的子网掩码、下一跳路 由器地址以及到此网络的距离组成
RIP协议的特点:好消息传播的快,坏消息传播的慢
网络出故障的传播时间往往需要较长的时间
内部网关协议OSPF(开放最短路径优先)
- 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
OSPF 的区域(area):为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。
每一个区域的路由器数量不超过200个,分成两种区域,即主干区域和其他区域
划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。
在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。
OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。
OSPF不用UDP而是直接用IP数据报传送。OSPF构成的数据报很短,这样做可以减少路由信息的通信量,而OSPF协议中如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫做多路径间的负载平衡。
OSPF的5种分组类型:问候分组(Hello分组)、数据库描述分组、链路状态请求分组、链路状态更新分组,用洪泛法对全网更新链路状态,链路状态确认分组
OSPF还规定每隔一段时间,如30分钟,要刷新一次数据库中的链路状态,当互联网规模很大时候,OSPF协议要比距离向量协议RIP好得多。
(7)地址解析协议ARP的工作原理
ARP:地址解析协议。基本功能就是通过目标设备的IP地址,查询目标设备的MAC 地址,以保证通信的顺利进行。以太网的数据帧从一个主机到达内网的另一台主机是根 据48位的以太网地址(硬件地址)来确定接口的。而不是根据32为的IP地址。内核 必须知道目的端的硬件地址才能发送数据。P2P的连接不需要ARP的。
为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地 址到硬件地址的映射写入 ARP 请求分组
(8)路由器的基本功能与原理
路由工作在网络层:根据“路由表”转发数据、路由选择、路由转发
交换工作在数据链路层:根据“MAC地址表”转发数据、硬件转发
静态路由:
特点:①路由表是手工设置的②除非网络管理员干预,否则静态路由不会发生变化 ③路由表的形成后不需要占用网络资源
适用环境:①一般用于网络规模很小、拓扑结构固定的网络中
默认路由:
特点:①在所有路由类型中,默认路由的优先级最低
适用环境:①一般适应在只有一个出口的末端网络中②或作为其他路由的补充
- 用户模式:Router>
- 特权模式:Router#
- 全局配置模式:Router(config)#
- 接口配置模式:Router(config-if)#
- 子接口配置模式:Router(config)#interface fa0/0.1
- Router(config-subif)#
- Line 模式:Router(config-line)#
- 路由模式:Router(config-router)#
(9)理解ARP、RARP协议
ARP:地址解析协议。基本功能就是通过目标设备的IP地址,查询目标设备的MAC 地址,以保证通信的顺利进行。以太网的数据帧从一个主机到达内网的另一台主机是根 据48位的以太网地址(硬件地址)来确定接口的。而不是根据32为的IP地址。内核 必须知道目的端的硬件地址才能发送数据。P2P的连接不需要ARP的。
使用 ARP 的四种典型情况:①发送方是主机,要把IP数据报发送到本网络上的另一 个主机,这时用ARP找到目的主机的硬件地址②发送方式主机,要把IP数据报发送到 另一个网络上的一个主机,这时用ARP找到本网络上的一个路由器的硬件地址,剩下 的工作由这个路由器来完成。③发送方是路由器,要把IP数据报转发到本网络上的一 个主机上,这时候用ARP找到目的主机的硬件地址。④发送方是路由器,要把IP数据 包转发到另一个网络上的一个主机,这时用ARP找到本网络上另一个路由器的硬件地 址,剩下的工作由这个路由器来完成。
RARP:反向地址转换协议。允许局域网的物理及其从网络服务器的ARP表或者缓存 上请求其IP地址。局域网网关路由器中存有一个表以映射MAC和与其对应的IP 地 址。党设置一台新的机器时,其RARP客户机程序需要向路由器上的RARP服务器请 求想要的IP地址。假设在路由表中已经设置了一个记录,ARAP服务器将会返回IP地 址给机器。
(10)了解NAT、ICMP协议
①NAT协议的基本原理
- 需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路 由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。
- 在专用网络内使用专用IP地址,仅在连接到英特网上的路由器时使用全球IP 地址。并且一定要使用全球IP才能和英特网连接
- 通过NAT地址转换表可以把IP数据报上的旧目的IP地址转换为新的目的IP 地址
- 使用端口号的NAT也叫网络地址与端口号转换NAPT
②ICMP协议的基本原理
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
- 作用:用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、 主机是否可达、路由是否可用等网络本身的消息
- ICMP 不是高层协议,而是 IP 层的协议。
- ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发 送出去.
- ICMP 报文的格式:类型:1字节,代码:1字节,检验和:2字节;接下去 四个字节与类型有关,数据部分(差错报文):IP首部+IP数据报前8个字节
- ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
ICMP 差错报告报文共有 5 种:终点不可达 、源点抑制 、时间超过、参数问题 、 改变路由(重定向)
不应发送 ICMP 差错报告报文的几种情况
对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
①对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报 文。
②对具有多播地址的数据报都不发送 ICMP 差错报告报文。
③对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。
6.ICMP 询问报文有两种:回送请求和回答报文、时间戳请求和回答报文
7.ping报文就是ICMP报文
简答题:
(1)试简答说明下列协议的作用:IP、ARP和RARP,ICMP
IP 协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP 是 TCP/IP 体系中两个最 主要的协议之一,与 IP 协议配套使用的还有四个协议。
- ARP 协议:是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
- RARP协议:是解决同一个局域网上的主机或路由器的硬件地址和 IP 地址的映射问 题。
- ICMP协议 :提供差错报告和询问报文,以提高 IP 数据交付成功的机会
因特网组管理协议 IGMP :用于探寻、转发本局域网内的组成员关系。
(2)什么是最大传送单元 MTU ?它和 IP 数据报的首部中的哪个字段有关系?
答: IP 层下面数据链里层所限定的帧格式中数据字段的最大长度,与 IP 数据报首部中的总长度字段有关系
(3)简述无分类编址 CIDR
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP 地址从三级编址(使用子网掩码) 又回到了两级编址。
IP地址 ::= {<网络前缀>, <主机号>} 128.14.32.0/20
IP多播:可以明显减少网络中资源的消耗
- 多播使用组地址-----IP使用D类地址支持多播,多播地址只能用于目的地址,而不能用于源地址
- 因此TCP/IP协议使用的以太网多播地址块的范围是:从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF
- IP多播需要两种协议:网际组管理协议、IGMP多播路由选择协议
- 多播数据报和一般数据报的区别是使用D类IP地址作为目的地址
- IP多播的分类:在本局域网内进行硬件多播(IP地址到MAC地址的转换看待)和因特网的范围进行多播
(4)虚拟专用网v*n:利用公用的英特网作为本机构各专用网之间的通信载体。通过英特网传输的数据要加密
- 本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。
- 全球地址——全球唯一的IP地址,必须向因特网的管理机构申请。
- 专用地址:只能用于一个机构的内部通信,而不能用于和因特网上的主机通信,是本地地址
- 10.0.0.0 到 10.255.255.255
- 172.16.0.0 到 172.31.255.255
- 192.168.0.0 到 192.168.255.255
(5)本章中出现的几个表
- ARP缓存的映射表:主要内容是同一局域网内的主机路由器的IP地址与MAC地址
- 路由表:主要内容是目的地址,距离,下一跳的路由器
- NAT转换表:主要内容是内部专用IP地址与公网全球IP地址