计算机网络——网络层(二)

文章目录

四、因特网的路由选择

五、网际控制报文协议ICMP

六、虚拟专用网VPN和网络地址转换NAT

七、IP多播技术

八、结语


四、因特网的路由选择

4.1 路由选择分类

4.2 因特网采用分层次的路由选择协议

4.3 路由信息协议RIP

4.3.1 路由信息协议RIP的相关基本概念

4.3.2 RIP的基本工作流程

4.3.3 RIP的距离向量算法

4.3.4 RIP存在的问题

4.3.5 RIP版本和相关报文的封装

4.3.6 RIP的优缺点

4.4 开放最短路径优先OSPF

4.4.1 OSPF的相关基本概念

开放最短路径优先(Open Shortest Path First,OSPF)协议是为了克服路由信息协议RIP的缺点在1989年开发出来的。

  • "开放"表明OSPF协议不是受某一厂商控制,而是公开发表的。
  • "最短路径优先"是因为使用了Dijkstra提出的最短路径算法(Shortest Path First,SPF)。

注:

"开放最短路径优先"只是一个路由选择协议的名称,但这并不表示其他的路由选择协议不是"最短路径优先"。实际上,用于自治系统AS内部的各种路由选择协议(例如RIP),都要寻找一条"最短"的路径。

  • OSPF是基于链路状态的,而不像RIP是基于距离向量的。
  • OSPF基于链路状态并采用最短路径算法计算路由,从算法上保证了不会产生路由环路。
  • OSPF不限制网络规模,更新效率高,收敛速度快。
1.链路状态

链路状态(Link State,LS)是指本路由器都和哪些路由器相邻,以及相应链路的"代价(cost)"。("代价"用来表示费用、距离、时延和带宽等,这些都是由网络人员来决定)。

2.OSPF路由器邻居关系的建立和维护

OSPF邻居路由器之间通过交互问候(Hello)分组来建立和维护邻居关系。

  • 问候(Hello)分组封装在IP数据报中,发送组播地址224.0.0.5。IP数据首部中的协议号字段的取值为89,表明IP数据的数据载荷为OSPF分组。
  • 问候(Hello)分组的发送周期为10秒。
  • 若40秒未收到来自邻居路由器的问候分组,则认为邻居路由器不可达。
  • 每个路由器都会建立一张路由表。

注:

OSPF分组直接使用网际层的IP数据进行封装,而不像RIP报文需要使用运输层用户数据报协议UDP封装,从数据包按网络体系结构逐层封装的角度看,OSPF属于网际层协议,而RIP属于应用层协议(但其核心功能是路由选择,属于网际层)。

3.链路状态通知

使用OSPF的每个路由器都会产生链路状态通告(Link State Advertisement,LSA)。

LSA包含以下两类链路状态信息:

  • 直连网络的链路状态信息
  • 邻居路由器的链路状态信息
4.链路状态更新分组

链路状态通告LSA被封装在链路状态更新(Link State Update,LSU)分组中,采用可靠的洪泛法(Flooding)进行发送。

  • 洪泛法的要点是路由器向自己所有的邻居路由器发送链路状态更新分组,收到该分组的各路由器又将该分组转发给自己所有的邻居路由器(但其上游路由器除外),以此类推。
  • 可靠是指收到链路状态更新分组后要发送确认,收到重复的更新分组无需要再次转发,但要发送一次确认。
5.链路状态数据库
  • 使用OSPF的每一个路由器都有一个链路状态数据库(Link State Database,LSDB),用于存储链路状态通告LSA。
  • 通过各路由器洪泛法送封装又各自链路状态通告LSA的链路状态更新分组LSU,各路由器的链路状态数据库LSDB最终将达到一致。
6.基于链路状态数据库进行最短路径优先计算

使用OSPF的各路由器,基于LSDB进行最短路径优先计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。

4.4.2 OSPF的五种分组类型

4.4.3 OSPF的基本工作过程

4.4.4 多点接入网络中的OSPF路由器

4.4.5 OSPF划分区域

  • 自治系统边界路由器(AS Border Router,ASBR):R6
  • 主干路由器(Backbone Rounter,BBR):R3、R4、R5、R6和R7
  • 区域内路由器(Internal Router,IR):区域1内的R1和R2,区域2内的R8,区域3内的R9
  • 区域边界路由器(Area Border Router,ABR):R3、R4和R7
  • 为了使OSPF协议能够用于规模很大的网络,OSPF把一个自治系统AS再划分为若干个更小的范围,称为区域(area)。

4.5 边界网关协议BGP

4.5.1 BGP的相关基本概念

  • 边界网关协议(Border Gateway Protocol,BGP)属于外部网关协议EGP这个类别,用于自治系统AS之间的路由选择协议。
  • 由于在不同AS内度量路由的"代价"(距离、宽带、费用等)可能不同,因此对于AS之间的路由选择,使用统一的"代价"作为度量来寻找最佳路由是不行的。
  • AS之间的路由选择还必须考虑相关策略(政治、经济、安全等)。

注:BGP只能是力求寻找一条能够到达目的网络且比较好的路由(即不能兜圈子),而并非要寻找一条最佳路由。

  • 在配置BGP时,每个AS的管理员要选择至少一个路由器作为该AS的"BGP发言人"。
  • 一般来说,两个BGP发言人都是通过一个共享网络连接在一起的,而BGP发言人往往就是BGP边界路由器。

4.5.2 BGP-4的四种报文

4.6 路由器的基本工作原理

五、网际控制报文协议ICMP

5.1 网际控制报文协议ICMP概述

5.2 ICMP报文种类

5.3 ICMP的典型应用

5.3.1 分组网间探测PING

5.3.2 跟踪路由

六、虚拟专用网VPN和网络地址转换NAT

6.1 虚拟专用网

6.2 网络地址转换

6.2.1 最基本的NAT方法

6.2.2 网络地址与端口号转换方法

七、IP多播技术

7.1 IP多播技术的相关基本概念

多播(Multicast,也称为组播)是一种实现"一对多"通信的技术,与传统单播"一对一"通信相比,多播可以极大地节省网络资源

因特网上进行的多播,称为IP多播

7.2 IP多播地址和多播组

7.3 在局域网上进行硬件多播

由于IP多播地址与多播MAC地址的映射关系不是唯一的,因此收到IP多播数据报的主机还要在网际层利用软件进行过滤,把不是主机要接收的IP多播数据报丢弃。

7.4 在因特网上进行IP多播需要的两种协议

要在因特网上进行IP多播,就必须要考虑IP多播数据报经过多个多播路由器进行转发的问题。

  • 多播路由器必须根据IP多播数据报首部中的IP多播地址,将其转发到有该多播组成员的局域网。

在因特网上进行IP多播需要的两种协议:IGMP协议多播路由转发协议

7.5 网际组管理协议IGMP

7.5.1 IGMP的三种报文类型

7.5.2 IGMP的基本工作原理

IGMP(网际组管理协议)工作在主机与本地多播路由器之间,核心就是:主机告诉路由器自己要加入/离开哪个多播组,路由器维护组成员关系。

简单流程:

  1. 主机主动加入

主机想要接收某个多播组数据时,主动发送 IGMP 报告报文,声明加入该组。

  1. 路由器周期性查询

多播路由器定时发送 IGMP 查询报文,询问本网段内还有哪些主机在接收多播。

  1. 主机响应查询

网段内属于该组的某一台主机随机发送报告响应,代表本组仍有成员。

  1. 组成员离开

主机离开时发送 离开报文;路由器收到后会发送特定组查询,确认无其他成员后,停止转发该组流量。

IGMP 让本地路由器知道本网段有没有人需要某个多播组,从而决定要不要转发该多播数据到这个网段。

7.6 多播路由选择协议

7.6.1 多播路由选择协议

多播路由选择协议的主要任务 是:在多播路由器之间为每个多播建立里一个多播转发树。

  • 多播转发树连接多播源和所拥有该多播组成员的路由器。

目前有以下两种方式来构建多播转发树:

  • 基于源树(Source-Base Tree)多播路由选择
  • 组共享树(Group-Shared Tree)多播路由选择

7.6.2 因特网的多播路由选择协议

八、结语

本篇文章我们学习了因特网的路由选择,网际控制报文协议ICMP,虚拟专用网VPN和网络地址转换NAT以及IP多播技术,明天我们将会把网络层剩余部分更完,数据链路层笔记剩余部分明天也会更新完毕。

相关推荐
of Watermelon League2 小时前
SQL server配置ODBC数据源(本地和服务器)
运维·服务器·github
Run_Teenage2 小时前
Linux:理解中断
linux·运维·服务器
深蓝海拓2 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十一)框架的进一步完善:UI的自动周期更新以及下行数据的生成和处理
网络·笔记·python·学习·ui·plc
北山有鸟2 小时前
解析 Linux 内核驱动中的“换行美学”
linux·运维·服务器
Run_Teenage2 小时前
Linux:信号保存与捕捉
运维·服务器
水冗水孚2 小时前
以Vultr供应商的VPS为例、十分钟自建一个自己的VPN(图文并茂)
运维·服务器
巨大八爪鱼2 小时前
【方法】Tomcat网站添加用户名密码弹窗认证
运维·服务器·tomcat·jsp·mod_jk
古城小栈2 小时前
2026 年 Rust 异步 HTTP 首选:reqres,轻量、高效、开箱即用
网络·http·rust
Full Stack Developme2 小时前
HTTP 转发 与 重定向
网络·网络协议·http