【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 路由控制

news/2024/11/24 13:55:16/

目录

  • 一、概述
  • 二、路由表(Routing table)
  • 三、最长匹配、默认路由、特定主机路由
  • 四 、IP数据报路由过程
  • 五、路由聚合


在这里插入图片描述

一、概述

网际协议 IP 大致分为三大作用模块, ①IP寻址、 ②路由(最终节点为止的转发) 、③IP分包与组包。前面两篇文章讨论了IP地址的相关知识,本文继续讨论网际协议的第二个模块——路由,了解IP数据报是怎样从一个网络到另一个网络的。

在进行下面的阅读之前,先了解一个讨论路由时常用到的词语——“跳”,它是指网络中的一个区间。一跳的范围是指利用数据链路层以下分层的功能传输数据帧的一个区间,也就是主机 不经其他路由器 而能直接到达的相邻主机之间的一个区间。

在这里插入图片描述

二、路由表(Routing table)

路由表(Routing table)是路由器用来存储路由信息的数据结构,它包含了目的网络地址、下一跳路由器地址、距离、标志、参考计数、使用情况、接口等信息,其中最重要的是【目的网络地址下一跳路由器地址】。 实现IP通信的主机和路由器都必须持有一张这样的表。

🌰举例子
下图有4个网络,3个路由器,每个路由器都有两个IP地址:
路由器R1的两个IP地址位:10.0.0.420.0.0.7,分别连接网络1、网络2;
路由器R2的两个IP地址位:20.0.0.930.0.0.2,分别连接网络2、网络3;
路由器R3的两个IP地址位:30.0.0.940.0.0.2,分别连接网络3、网络4;
以路由器R2的路由表为例,由于R2同时连接在网络2和网络3上,如果目的网络是网络2或网络3,都可以通过接口0或接口1直接交付(需要利用ARP协议才能找到这些主机的地址);如果目的地址在网络1,则需要发往下一跳路由器R1,其IP地址为20.0.0.7;如果目的地址在网络4,则需要发往下一跳路由器R3,其IP地址为30.0.0.1
在这里插入图片描述

在这里插入图片描述

三、最长匹配、默认路由、特定主机路由

最长匹配

需要注意的是,一般使用IP地址的 网络地址(网络前缀) 部分来进行路由控制,而不是直接将源IP地址 和 目的IP地址记录在路由表中,这样可以节省大量存储空间。但也会导致查找路由表时可能得到多个匹配结果。那么该选择哪一条路由呢?
答案是,应该从匹配结果中选择相同位数最多的。
例如172.20.100.52的网络地址与172.20/16和172.20.100/24两项都匹配。 此时, 应该选择匹配度最长的
172.20.100/24。

默认路由

默认路由是指当路由表中没有与目标 IP 地址匹配的路由条目时,路由器会将数据包转发到默认路由所指定的下一跳地址。默认路由通常被称为缺省路由或零点路由。默认路由一般标记为0.0.0.0/0default

🌰举例子
如图,连接到网络N1的主机只需要三个路由条目,
第一个条目,目的网络是本网络N1,只要直接交付即可;
第二个条目,目的网络是网络N2,对应下一跳路由器R2;
第三个条目,默认路由,只要目的网络不是 N1 或 N2,就一律选择默认路由,把数据报间接交付路由器R1转发;
在这里插入图片描述

特定主机路由

特定主机路由是指在路由表中,为某个特定的主机地址(通常是指某个具体的 IP 地址)设置的路由条目。特定主机路由通常用于实现对某个特定主机的访问控制或优化路由转发的目的。

特定主机路由的配置方式与其他路由条目类似,需要指定目标地址、子网掩码、下一跳地址等参数。不同之处在于,特定主机路由的子网掩码通常是 255.255.255.255,表示只匹配该特定主机地址,而不匹配其他主机地址。

例如,假设一个企业内部的网络需要访问某个外部服务器的特定服务,但是该服务器的 IP 地址可能会变化,那么可以配置一个特定主机路由,将该服务的访问流量转发到一个固定的下一跳地址,从而实现对该服务的优化路由转发。

另外,特定主机路由也可以用于实现对某个特定主机的访问控制,例如限制某个主机的访问权限或者将某个主机的流量转发到一个特定的防火墙进行安全检查等。

在这里插入图片描述

四 、IP数据报路由过程

IP数据报路由过程是指当一个IP数据报从源主机发送到目标主机时,经过的路由选择过程。路由选择过程通常包括以下步骤:

检查目标IP地址是否在本地子网中。如果是,则将数据包直接发送到目标主机。

如果目标IP地址不在本地子网中,则检查本地路由表中是否有与目标IP地址匹配的路由。如果有,则将数据包发送到匹配的下一跳路由器。

如果本地路由表中没有与目标IP地址匹配的路由,则将数据包发送到默认网关。

在下一跳路由器上重复上述步骤,直到数据包到达目标主机。

在路由选择过程中,可以使用静态路由或动态路由来实现路由表的更新。静态路由需要手动配置路由表,而动态路由可以自动学习网络拓扑信息并更新路由表。

在这里插入图片描述

五、路由聚合

路由聚合是一种路由技术,它通过将多个子网的路由信息合并成一个更具体的路由信息,从而减少路由表的大小和网络中路由器之间的路由信息交换量。路由聚合可以使用CIDR(无类域间路由)技术来实现。

在路由聚合中,将多个具有相同前缀的子网路由信息合并成一个更具体的路由信息。例如,假设有三个子网,分别是192.168.1.0/24、192.168.2.0/24和192.168.3.0/24,它们的路由信息可以被合并成一个更具体的路由信息192.168.0.0/16,这样就可以减少路由表的大小。

路由聚合可以减少路由表的大小,降低路由器之间的路由信息交换量,并提高路由器的性能。但是,它也可能会导致路由器之间的路由信息不够精细,可能会出现路由环路等问题,因此需要谨慎使用。


参考资料:
《计算机网络》第7版 谢希仁 编著
《图解TCP/IP》第5版
在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁


http://www.ppmy.cn/news/99512.html

相关文章

基于Open3D的点云处理6-点云去噪

当我们从扫描设备获取点云数据时,数据会包含噪声和伪影,点云噪声特性包括不真实的点、孤立点、不规则,基于噪声特性对器进行去除; 统计滤波 Statistical Outlier Removal(SOR)(去除离群点&…

计算机体系结构标量处理机

先行控制技术 缓冲深度的设计方法 以先行指令缓冲栈为例。 假设缓冲深度为 D 1 D_1 D1​,考虑以下两种极端情况。 (1)先行指令缓冲栈已经充满,此时指令流出速度最快,例如连续分析RR型指令 ,设这种指令序…

summernote编辑内容在前端的显示

summernote编辑内容在前端的显示 summernote编辑器编辑的内容保存的时候是带有html标签的,那么小编在这里总结了两种方法,把这些内容在前端显示出来。 1使用htmlspecialchars_decode() 函数 我们可以在Controller里面将这个字段的内容用htmlspecialchar…

Fiddler抓包工具之fiddler设置抓HTTPS的请求证书安装

设置抓HTTPS的请求包 基础配置: 路径:启动Fiddler 》Tools》Options》HTTPS 注意:Option更改完配置需重启Fiddler才能生效 选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求,如果是第一次会弹出证书安装提…

全国酒店评论数据

评论数据字段内容: id int(11) NOT NULL AUTO_INCREMENT, fetchTime datetime DEFAULT NULL, hotelId int(11) NOT NULL, hotelName varchar(100) DEFAULT NULL, hotelEnName varchar(50) DEFAULT NULL, hotelUrl varchar(500) DEFAULT NULL, …

区块链复习

文章目录 简答题第一章1.区块链的概述(问题:区块链是通过哪些机制实现信任的?)2.哈希函数的性质(问题:区块链为什么能够保证链上数据的不可篡改?)3.区块链的特点(P18-P19…

2023/5/28总结

static static:静态,可以修饰成员方法,成员变量。(是所有成员共享的) static修饰的特点: 被类的所有对象共享(判断是否使用静态关键字的条件)可以通过类名和对象名调用在定义对象时,…

基于博奇编码的计算全息图及再现研究

一、引言 全息技术作为一种新的成像技术近年来得到迅速的发展,计算机制全息图不需要实物的存在,同时还能通过计算机实现像的再现。计算全息图主要包括迂回位相型计算全息图和修正离轴参考光计算全息图,这两类全息图由不同的编码方式得到。前…