5.2.10 IP分组的转发(一)

news2024/11/17 5:21:36

5.2.10 IP分组的转发(一)

我们已经知道对于IP协议来说提供的是无连接、不可靠、尽力而为的IP分组交付服务,这里我们就学习一下一个IP分组是如何从源主机交付给目的主机的。如果在因特网上有两台主机发送数据的时候,分组究竟是如何经过若干台路由器的转发到达目的地的呢?首先我们要先认识一下工作在网络层中的一个非常重要的网络设备----路由器。

一、路由器

  • 路由器实际上就是一种通信专用的计算机,具有和计算机类似的结构

  • 每台路由器与两个或两个以上的物理网络有直接的连接。路由器的每个网络接口(network interface)都提供了双向通信,包含输入和输出端口。

  • 接口:路由器的接口又可以分为控制台接口、局域网接口、广域网接口等。

  • 整个路由器的结构可分为两大部分:路由选择部分分组转发部分。如图

    路由器结构

    路由选择部分简单的说就是按照选定的路由选择协议构造并且维护路由表(这个后面介绍)

  • 分组转发部分由三部分组成:如上图,位于中间的交换结构一组输入端口一组输出端口

    如图

    输入端口

    路由器在输入端口接收分组,从分层的角度来看,

    1. 首先按照物理层协议进行比特流的接收
    2. 再按照数据链路层协议接收并封装了IP分组的帧
    3. 再经过数据帧中的帧校验序列检测该帧如果是正确的情况下再将该帧中封装的IP分组交由网络层处理,此时如果网络层模块在忙,数据报或者是IP分组被暂存在输入队列中等待处理
    4. 排队结束之后网路层模块再根据IP分组首部中的目的主机IP地址来查找路由表,根据查找到的下一跳路由器的IP地址,以及本路由器对应的输出端口,经过交换结构再把该IP分组送到刚刚查找到的输出端口。

    如图:

    输出端口

    1. 与输入端口一样,输出端口也设置有队列,当交换结构传送过来的分组到达速率超过输出链路的发送速率时,就把来不及发送的IP分组先暂存在队列中。
    2. 排队结束以后,输出端口中的数据链路层处理模块再把IP分组加上帧的首部和尾部,也就是把它封装在一个新的数据帧里面
    3. 封装之后通过网卡的RJ45接口交给物理层实体之后发送到传输线路上

    在实际应用中对于路由器中输入或者是输出队列产生溢出是造成分组丢失的重要原因。

二、直接交付与间接交付

刚刚我们也说过在互联网中每台路由器至少要互联两个物理网络,也就是至少与两个物理网络有直接的联系,对于主机来说通常都是只与一个物理网络连接,或者说主机只属于一个物理网络,但实际上不管是主机也好、路由器也好都要参与到IP分组的传送的过程,当一个主机上的应用程序试图进行通信的时候,TCP/IP协议将会产生若干个IP分组,对于主机来说就要做出最初的转发决策,也就是决定将这一个IP分组发往何处,在学习转发策略之前,我们先学习熟悉一下直接交付和间接交付的概念。

(一)直接交付

如图

直接交付

当源主机A和目的主机B他们是在同一个物理网络中的时候不需要通过路由器转发这种方式就称为直接交付。

(二)间接交付

如图

间接交付

源主机A和目的主机C不是连接在同一个物理网络,此时就应该将IP分组发送给本网络上的某一个路由器,路由器再按照转发表指出的路由将IP分组转发给下一台路由器如此以来就被成为间接交付。

当IP分组可以直接交付的时候,可以通过我们学习过的地址解析协议ARP去获取,比如说对于A主机来说,根据ARP协议获取目的主机B的MAC地址,再将IP分组封装在物理帧中直接发送给目的主机。

如果不在同一个物理网络中的时候,就将IP分组交给本地路由器的一个本地网络连接,此时我们通过ARP获取的是第一跳,也就是默认路由器的MAC地址,然后再将IP分组封装到帧中,发动给路由器。每个路由器都将IP分组间接交付给下一台路由器,直到IP分组到达路径上最接近目的主机的路由器,然后由该路由器将IP分组通过直接交付的方式送达给目的主机,也就是说对于TCP/IP互联网中的路由器形成了一个相互协作的互联结构,对于源和目的主机不在一个物理网络上的IP分组先被源主机传送给本地路由器,再经过若干次间接交付,最后抵达的是可以进行直接交付的路由器,也就是到达最后一跳,最后再被直接交付,也就是说直接交付是任何IP分组传输的最后一步

根据以上内容我们知道路由转发的关键问题是

  • 关键问题,对源主机来说如何判断源主机和目的主机是否在同一个物理网络中?

  • 采用分类IP地址分析:如果采用最初的分类的IP地址,我们可以根据分类编址规则,很容易地从目的IP地址中抽取目的网络地址,在于本机IP地址所对应的网络地址作比较。如源主机202.119.224.201和目的主机202.119.224.8,首先他们都是C类地址,两个IP地址中高24位都是一样的,很容易判断这两个主机都是属于同一个网络,那这两者进行通讯的时候就是直接交付。

  • 采用子网划分或无分类编址分析,对于进行了子网划分或者无分类编址的网络,也是类似,仍然是根据目的IP地址、源IP地址分别和源主机所在的子网的子网掩码相与的结果是否相等来判断。

    如:源 192.168.23.184,目的主机192.168.23.66,子网掩码255.255.255.224

    分析:源IP地址和子网掩码相与的结果是 192.168.23.184 AND 255.255.255.224=192.168.23.160

    ​ 目的IP地址和源主机子网掩码相与的结果是192.168.23.66 AND 255.255.255.224 =192.168.23.64

    前面三个十进制与255相与之后没有变化,只有最后一位十进制转换成二进制之后与224 对应的二进制进行相与,可见二者相与的结果是不一样的,说明这两台主机他们是分属于不同的子网,既然是分属于不同的子网,所以这两天主机之间要进行通信就需要采用间接交付的方式。

在明白了直接交付和间接交付的概念之后我们学习一下统一的IP分组的转发算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/637051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻松下载google drive大文件 IDM微操教程

背景 在google drive使用chrome浏览器自带的下载工具,下载时总是报错: 于是在网上搜索"下载google drive 大文件",看到有人提到了IDM和gdown。最终用IDM解决了需求。从下图可见,文件有99GB,每秒下载速度10…

媒体分类详解,企业做活动可以邀请哪些媒体?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体分类可以根据不同的维度进行划分。以下是一些常见的媒体分类方式: 1. 传统媒体: - 报纸:报纸是最传统的媒体形式之一,以印刷纸质媒体为…

华为OD机试真题 JavaScript 实现【DNA序列】【牛客练习题】

一、题目描述 一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成。 G 和 C 的比例(定义为 GC-Ratio )是序列中 G 和 C 两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为…

SpringBoot:SpringBoot启动加载过程 ④

一、思想 我们看到技术上高效简单的使用,其实背后除了奇思妙想的开创性设计,另一点是别人帮你做了复杂繁琐的事情。 二、从官网Demo入手 官网就一行代码。这个就是它的启动代码。 1、SpringBootApplication注解 ①. 三个核心注解的整合。 SpringBootCon…

什么是微带线和带状线

在电路板设计中,微带线和带状线分别是用于传输信号的两种常见的传输线路。虽然在许多方面它们很相似,但是它们的物理结构、传输速率、特性阻抗等方面存在很大的差异。 本文将介绍微带线和带状线的基本概念、特性和应用场景,并比较它们的优缺…

Snap版本的CUPS将在Ubuntu 23.10 中默认使用

导读CUPS 是一个用于 Linux 系统的开源模块化打印系统,最初由 Michael Sweet 开发。在 2007 年,苹果公司收购了 CUPS,并聘请了 Michael Sweet 继续开发。 CUPS 是一个用于 Linux 系统的开源模块化打印系统,最初由 Michael Sweet …

搭建一个免费代理IP池,妈妈再也不用担心我没有IP用了

背景 爬虫工作才刚刚开始,突然IP被限制了,怎么办?他们告诉我,可以去买代理IP呀。 可是我翻了5遍裤兜,查了8张银行卡,却只有1块钱 ,根本买不起啊。 突然,隔壁部门的同事的姐姐的妈妈…

k8s pod state terminating学习笔记

文章目录 背景解决方式个人思考 背景 今天服务器重启失败,于是去检查k8s状态,发现pod一直处于terminating状态。 多次尝试删除pod但是失败了,于是想到可能是k8s node卡住了导致接收不到kill命令。 解决方式 所以reboot k8s node&#xff0…

华夏erp账号任意用户登录

hunter: web.icon"f6efcd53ba2b07d67ab993073c238a11" 访问/jshERP-boot/user/getAllList;.ico接口可查看所有用户账号密码(密码为md5值) GET /jshERP-boot/user/getAllList;.ico HTTP/1.1 Host: xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win…

加密与解密 调试篇 动态调试技术 (四)-x64dbg/MDebug

x64dbg是开源的调试器 支持 32位和64位 Download x64dbg 我们使用64位程序进行实验 加载TraceMe64 然后我们通过之前了解到了 TraceMe是用 GetDlgItemTextA来读取我们输入的值 所以我们在x64dbg中对其进行断点 但是我们先要设置 x64dbg在加载程序的时候是在系统断点处所…

本原多项式和不可约多项式

本文讨论的,不做特别说明的话,都是在伽罗华域(Galois Fields)上。 1、不可约多项式(Irreducible Polynomial) 定义:不能写成两个次数较低的多项式乘积形式的多项式。 多项式分解网站:EE4253 Polynomial …

中尺度气象学期末复习笔记

中尺度气象学期末复习笔记 文章目录 中尺度气象学期末复习笔记三个表示天气的词之间的关系(一)天气系统的尺度划分1.1 为什么要进行尺度分析1.2 经验分类Ligda对中尺度的定义 1.3 理论分类谱分析通过无量纲数进行分类 1.4 实用分类奥兰斯基分类AEIOU分类…

如何恢复u盘数据?数据恢复,就看这4个方法!

案例:每次清理u盘时,总是会不小心删除重要的数据,如何恢复u盘数据呢? 【u盘中的数据删除了还能恢复吗?我昨天想把u盘里一些不需要的图片和文件删除,但不小心删了些有用的数据,有什么方法可以帮我…

【洛谷】P8306 【模板】字典树

&#xff08;最后有解释哦&#xff09; 0:所需参数 const int N3e610;int t[N][70],cnt[N],idx; char s[N]; 1.映射字符 int getnum(char x) {if(x>A&&x<Z) return x-A;else if(x>a&&x<z) return x-a26;else return x-052; } 2.插入字符串 voi…

pdf文档怎么转换成excel?分享这几个方法!

当涉及将PDF转换为Excel时&#xff0c;许多人可能会遇到困扰。PDF因其统一性、稳定性和不可编辑性而被广泛应用于日常工作和学习中。然而&#xff0c;在某些特殊情况下&#xff0c;例如在网络上找到的PDF资料中需要借鉴其中的内容制作Excel文档&#xff0c;我们需要找到方法将P…

谷歌Imagen Editor融入AI技术,助力图片创作

AI科技的应用越来越广泛&#xff0c;自然也被各个公司所重视&#xff0c;近日谷歌就推出利用AI技术的图片创作软件Imagen Editor&#xff0c;这款软件成熟以后&#xff0c;或将助力图片的创作。 近日有消息称&#xff0c;谷歌正在研发一款名为Imagen Editor生成式AI工具&…

设施管理系统

随着经济的快速发展&#xff0c;各种基础设施都在更新&#xff0c;在企事业单位中各种设施也都难以管理&#xff0c;以往传统的管理模式已经无法适应现代社会的需求&#xff0c;设备管理的滞后反而会影响设施设备的使用效果&#xff0c;因此设施设备管理系统必不可少。那么什么…

uniapp实现单选以及多选

<!-- 多选 --> <template><view class"choiceSupervisionLinkman"><view class"searchBox"><uni-search-bar :radius"8" placeholder"请输入成员名称" clearButton"none" confirm"search&q…

记录一些maven依赖冲突

目录 Mybatis-Plusswagger报错pagehelper分页失效 Mybatis-Plus <dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version></dependency><dependency><groupId&…

自动化的艺术

对于基础设施来说&#xff0c;很多服务都有类似的架构、数据库交互和UI&#xff0c;本文介绍了Paypal通过模板自动化基础设施微服务脚手架代码的实践&#xff0c;最大化节约了开发服务的时间并保证了服务的一致性。原文&#xff1a;The Art of Automating Automation[1] 简介 作…