路由器完成包接收操作之后,路由器就会丢弃包开头的MAC头部

MAC头部的作用就是将包送达路由器,其中的接收方MAC地址就是路由器端口的MAC地址。因此,当包到达路由器之后,MAC头部的任务就完成了,于是MAC头部就会被丢弃。

通过路由器转发的网络包,其接收方MAC地址为路由器端口的MAC地址

接下来,路由器会根据MAC头部后方的IP头部中的内容进行包的转发操作

转发操作分为几个阶段,首先是查询路由表判断转发目标。

关于具体的工作过程,我们还是来看一个实际的例子,如图3.13的情况,假设地址为10.10.1.101的计算机要向地址为192.168.1.10的服务器发送一个包,这个包先到达图中的路由器。

判断转发目标

第一步,就是根据包的接收方IP地址查询路由表中的目标地址栏,以找到相匹配的记录。就像前面讲过的一样,这个匹配并不是匹配全部32个比特,而是根据子网掩码列中的值判断网络号的比特数,并匹配相应数量的比特。例如,图3.13的第3行,子网掩码列为255.255.255.0,就表示需要匹配从左起24个比特。网络包的接收方IP地址和路由表中的目标地址左起24个比特的内容都是192.168.1,因此两者是匹配的,该行记录就是候选转发目标之一。

按照这样的规则,我们可能会匹配到多条候选记录。在这个例子中,第3、4、5行都可以匹配[插图]。其中,路由器首先寻找网络号比特数最长的一条记录[插图]。网络号比特数越长,说明主机号比特数越短,也就意味着该子网内可分配的主机数量越少,即子网中可能存在的主机数量越少,这一规则的目的是尽量缩小范围,所以根据这条记录判断的转发目标就会更加准确。我们来看图3.13中的例子。

第3行192.168.1.0/255.255.255.0表示一个子网,第4行192.168.1.10/255.255.255.255表示一台服务器。相比服务器所属的子网来说,直接指定服务器本身的地址时范围更小,因此这里应该选择第4行作为转发目标。按照最长匹配原则筛选后,如果只剩一条候选记录,则按照这条记录的内容进行转发。

然而,有时候路由表中会存在网络号长度相同的多条记录,例如考虑到路由器或网线的故障而设置的备用路由就属于这种情况。这时,需要根据跃点计数的值来进行判断。跃点计数越小说明该路由越近,因此应选择跃点计数较小的记录。

如果在路由表中无法找到匹配的记录,路由器会丢弃这个包,并通过ICMP消息告知发送方。这里的处理方式和交换机不同,原因在于网络规模的大小。交换机连接的网络最多也就是几千台设备的规模,这个规模并不大。如果只有几千台设备,遇到不知道应该转发到哪里的包,交换机可以将包发送到所有的端口上,虽然这个方法很简单粗暴,但不会引发什么问题。然而,路由器工作的网络环境就是互联网,它的规模是远远大于以太网的,全世界所有的设备都连接在互联网上,而且规模还在持续扩大,未来的互联网里到底会有多少设备,我们谁都说不准。在如此庞大的网络中,如果将不知道应该转发到哪里的包发送到整个网络上,那就会产生大量的网络包,造成网络拥塞。因此,路由器遇到不知道该转发到哪里的包,就会直接丢弃

ps

  • 什么是网络号的比特数?

查询路由表确定输出端口相关推荐

  1. IP路由基础、路由器静态路由配置方法、自治系统、缺省路由的配置方法、路由选路规则、缺省路由、备份路由、等价路由、三种查询路由表命令

    目录 路由器特点: 网络IP地址规划 网络间的特性: 基本路由思想: ​编辑 静态路由部分: 查询设备整个路由表: 查看特定的路由协议时使用: 查询目的地址2.2.2.2的路由条目: IP路由表代码写 ...

  2. 探究!一个数据包在网络中的心路历程

    来自:小林coding 前言 想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题. 还别说,这真是挺常问的这题,前几天坐在我旁边的主管电话面试应聘者的时候,也问了这个 ...

  3. 地址做域名时不能加端口_当你访问XXX网站时,从访问到内容返回呈现,中间发生了什么?...

    想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题. 这次,小林我带大家一起探究下,一个数据包在网络中的心路历程. 每个阶段都有数据包的「心路历程」,我们一起看看它说 ...

  4. 从你输入一个网址,到网页显示,其间发生了什么?

    来源:小林coding 想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题. 这次,小林我带大家一起探究下,一个数据包在网络中的心路历程. 每个阶段都有数据包的「心路 ...

  5. 当输入 xxxxHub 后,到网页显示,其间发生了什么?

    来源:小林coding 想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题. 这次,小林我带大家一起探究下,一个数据包在网络中的心路历程. 每个阶段都有数据包的「心路 ...

  6. 面试必问系列之在浏览器中输入URL后到网页显示 其间发生了什么?

    文章目录 @[TOC](文章目录) 1:解析URL网址,从而生成发送给Web服务器的Http请求信息 2:真实地址查询-----(DNS域名解析) 3:调用协议栈 4:可靠的传输 TCP 5:远程定位 ...

  7. 《网络是这样连接的》读书笔记2

    <网络是这样连接的>读书笔记2 文章目录 <网络是这样连接的>读书笔记2 6. 从网线到网络设备--探索集线器.交换机和路由器 6.1信号在网线和集线器中传输 发包 啥是防止信 ...

  8. 从网线到网络设备是如何工作的

    电信号从 RJ-45 接口出来,到达集线器,交换机和路由器以及路由器往外转发的过程.在家庭的路由中,交换机和集线器一般集成在一起了或者直接没有集线器. 信号从网卡出来到集线器的时候 数据包之间的传输是 ...

  9. 《网络是怎样连接的》学习笔记-3

    第三章 集线器.交换机.路由器 1. 信号在网线和集线器中传输 1.1 每个包都是独立传输的 包的传输与HTTP请求方法.TCP包头.客户端与服务器的关系无关 1.2 防止网线中的信号衰减很重要 信号 ...

最新文章

  1. 快打开《来自艾泽拉斯的一封密码信》,破译网易重大机密
  2. cglib动态代理和jdk动态代理的区别与应用
  3. C#控件 Datagriview控件
  4. 计算机网络(七)-物理层设备
  5. Python2.7编程基础(博主推荐)
  6. 一个内存增长问题的分析和处理(二)——valgrind工具的用法
  7. Linux工作笔记038---CentOS8.2安装Nginx_测试通过
  8. ajax---post跨域思路
  9. 启动Tomcat服务时,出现org.apache.catalina.startup.VersionLoggerListener报错
  10. 的产品很好为什么卖不好?
  11. Docker 容器十诫
  12. 爬虫实例4 爬取网络小说
  13. 【图像分割】基于matlab粒子群优化T熵图像分割【含Matlab源码 286期】
  14. 快速突破面试算法之树结构篇
  15. 第十二届全国计算机化学学术会议,中国化学会第十二届全国天然有机化学学术会议通知(第二轮)...
  16. 微信小程序图片全屏显示
  17. servlet原理详解
  18. 华为ENSP 三层交换
  19. 解决error: invalid operands of types ‘const char [6]‘ and ‘const char [6]‘ to binary ‘operator+‘
  20. mybatis入门1

热门文章

  1. 【数据安全】3. Android 文件级加密(File-based Encryption)技术介绍
  2. linux 内存管理(15) - mmap
  3. mysql like escape_sql like语句通配符百分号、下划线与escape用法
  4. 开心online破10万,欧耶
  5. 如何将U盘作为虚拟光驱使用呢?
  6. C语言判断(条件)语句基础入门教学
  7. jsp019仓储物流配送司机车辆管理平台ssm+mysql
  8. 快男陈楚生与其女友主唱《QQ自由幻想》主题曲事件曝光!
  9. reset_index()函数
  10. 敏捷CSM认证:优秀的开发团队应该具备五大特点!