IP数据包到路由器之后,它首先要读去IP包头的目标IP地址,然后查看路由表,根据路由协议算法,确定一条最佳的路径,为什么要这样做呢,那是因为要确定这个数据包应该从路由器上的那个接口上转发出去,很明显路由的每一条可用的路由都和路由嚣上的接口是对应的,就这样一个数据包就离开了这个路由器。事情就是这样。看见楼上有一个不太正确的说法,IP数据包头里的源IP和目标IP都不会被改变,如果改变数据包不可能到达或者回来,但只有一种情况,源和目标IP是被改变的,那就是NAT.

路由器转发数据包不会对它的IP源地址和目标地址做修改,只会修改MAC.

具体路由器转发规则如下:

当主机A发向主机B的数据流在网络层封装成IP数据包,IP数据包的首部包含了源地址和目标地址。主机A会用本机配置的24位IP网络掩码255.255.255.0与目标地址进行与运算,得出目标网络地址与本机的网络地址是不是在同一个网段中。如果不是将IP数据包转发到网关。

在发往网关前主机A还会通过ARP的请求获得默认网关的MAC地址。在主机A数据链路层IP数据包封装成以太网数据帧,然后才发住到网关……也就是路由器上的一个端口。

当网关路由器接收到以太网数据帧时,发现数据帧中的目标MAC地址是自己的某一个端口的物理地址,这时路由器会把以太网数据帧的封装去掉。路由器认为这个IP数据包是要通过自己进行转发,接着它就在匹配路由表。匹配到路由项后,它就将包发往下一条地址。

路由器转发数据包就是这样,所以它始终是不会改IP地址的。只会改MAC.

当有数据包传到路由器时,路由器首先将其的目的地址与路由表进行对比,如果是本地网络,将不会进行转发到外网络,而是直接转发给本地网内的目的主机,改变的只是数据包的源地址,(原源地址MAC变为了路由器的MAC);当然其中的过程关系到相关的协议的使用,像什么ARP,IP等。但是如果目的地址经路由表对比,发现不是在本网中,将改变源地址的IP(原源地址的Ip地址改为了路由器的IP地址),路由器将熟数据包转发到相应的端口,进行通信。

路由器转发IP包的过程相关推荐

  1. 路由器的工作原理,形成,转发数据包的过程

    一.路由器的工作原理 二.路由表的形成 三.静态路由和默认路由 四.路由器转发数据包的封装过程 五.静态路由和默认路由的配置 概述: 在只有一个网段的网络中,包可以很容易地从源主机到达目标主机,但是如 ...

  2. 交换机与路由器技术:远程管理交换机和路由器工作原理、路由器转发数据包的封装过程

    目录 一.通过远程管理方式连接交换机 1.teInet是应用层协议基于传输层TCP,默认端口号:23 2.ssh是应用层协议基于传输层TCP默认端口号:22 3.思路 3.1.telnet 3.2.s ...

  3. 负载均衡LVS之DR模式IP包调度过程及WRR算法实现的详细步骤

    负载均衡LVS之DR模式IP包调度过程及WRR算法实现的详细步骤 1.DR模式IP包调度过程 2.数据流程图 3.环境说明 1) 五台主机,时间同步,关闭防火墙和selinux2) 各主机角色1] 客 ...

  4. 路由器转发数据包的封装过程

    ** 原理: ** 1.当一个高层的数据包到达传输层,由于telnet使用TCP协议,传输层将上层传过来的数据不变在封装TCP的包头以便目标主机可以正确解包,继续向下层(网络层)传递. 2.网络层同样 ...

  5. 计算机网络 day7 扫描IP脚本 - 路由器 - ping某网址的过程

    目录 network 和 NetworkManager关系: 实验:编写一个扫描脚本,知道本局域网里哪些ip在使用,哪些没有使用? 使用的ip对应的mac地址都要显示出来 计算机程序执行的两种不同方式 ...

  6. TCPIP卷一(1):二层封装与路由器转发数据过程

    二层封装 为什么需要了解二层封装呢? 因为在一个路由器转发数据包的时候,除了知道目的地怎么去(有路由),还需要二层的正确封装,否则就算有路由的话,也无法进行通信. 这是卷一提到过的,虽然没有像协议卷一 ...

  7. 路由器转发规则【转】

    (转自:https://blog.51cto.com/echo1937/1281746) 源主机在发起通信之前,将Self IP与目的主机的IP进行比较,如果两者位于同一网段(用子网掩码计算后具有相同 ...

  8. 通过 Teardrop 攻击程序学习自制 IP 包及了解包的结构

    目录 一.含义简析 1)什么是原始套接字 2)了解 Teardrop 攻击 二.代码编写 1)虚拟机设置 2)编写代码 三.总结 四.参考资料 使用原始套接字编程中的 Teardrop 代码编程,伪造 ...

  9. 什么是交换机?描述一下工作过程?交换机基本功能、交换机是如何转发数据包的,什么是三层交换机?和二层交换机有什么区别?三层交换机是否可以代替路由器?为什么?

    ** 14. 什么是交换机?描述一下工作过程? ** 交换机是一种工作在数据链路层对流量进行转发的网络设备.主要应用于延长传输距离,解决冲突域,实现单播等功能. ** 工作过程: **当流量进入交换机 ...

最新文章

  1. 以太坊开发者工具的最新清单
  2. linux apache无法启动,linux mysq 无法启动 apache 无法启动
  3. 前端如何获取联通积分_怎么利用定制的小程序来获取流量
  4. golang Reflect包
  5. boost::gil::color_spaces_are_compatible用法的测试程序
  6. linux脚本传参修改配置文件,shell脚本修改配置文件指定行的值
  7. yum只下载软件不安装的两种方法
  8. FreeTextBox实现机制
  9. 云上攻击太多怎么办?不妨试试这些工具
  10. 充满年味的中国风传统新年春节海报素材,年年都能借鉴
  11. 随手记_重建的五花八门的点云地图效果(供娱乐)
  12. 所有手机品牌型号大全_【干货】史上最全SMT贴片机品牌、型号大全,赶紧看看你会几种???...
  13. 简述python2.x和python3.x的区别_python面试题Python2.x和Python3.x的区别
  14. HuangTools 绿色软件包 (Version 1.0.0)
  15. mybatis基础入门
  16. 关于反走样技术的基本介绍与分享
  17. 微信上卖菜的小程序怎么做?
  18. Office快捷键之王,这个键应该没人不服
  19. HTTP Referer简介
  20. 微信中怎么打开apk下载链接 微信跳转打开外部浏览器打开apk文件

热门文章

  1. 哈佛商学院要求学生必看的20部电影
  2. 简历上,我写精通 JUC 的底气
  3. Excel2016 打开表格里面图片显示#name?
  4. python getattribute方法_JS getAttribute()方法:读取元素的属性值
  5. android手机越用越慢的原因
  6. 数据库 の 联表查询
  7. SubstancePainter打开文件闪退崩溃
  8. 全国电子设计大赛总结 (高职组)
  9. (转载,学习防止忘记)buck芯片SW引脚为什么要接一个100nF电容!
  10. 回音山服务器例行维护多久,8月30日服务器例行维护公告(已完成)