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. 新国立尤洋:夸父AI——用于大规模并行训练的统一深度学习系统
  2. 【Interfacenavigation】风格和主题(21)
  3. Orleans稍微复杂的例子—互动
  4. 分数怎么在计算机上关,电脑如何在注册表上关闭AutoRun功能
  5. python大学_大学为什么不先开python?
  6. MySQL绿色版安装(mysql-5.7.12-win32)
  7. ★LeetCode(108)——将有序数组转换为二叉搜索树(JavaScript)
  8. JAVASE1~5补充
  9. linux给文件备份,Linux文件备份
  10. VC2010 sp1修复补丁
  11. 如何使用阿里云矢量图标库
  12. 2011微软MVP全球峰会美国行之飞抵西雅图
  13. 《JAVA语言程序设计》期末考试试题及答案
  14. Box2D例子——打砖块
  15. 激光测距仪构造原理及激光安全说明——TFN BKD系列双目军绿激光测距测高仪
  16. 我的抗战之兄弟连-李强强
  17. linux上安装安卓厨房手机版下载,厨房女孩烹饪比赛
  18. java 字符串数组转String
  19. 群晖6.XVideo Station不支持视频格式的解决方案
  20. 通过国家认定的在线监测仪器_在线监测_环境保护网

热门文章

  1. Meteor - Android 打包
  2. 机器学习(十三)k-svd字典学习
  3. 魔兽3无法启动此程序因为计算机中丢失,windos10系统下war3无法启动的解决方法...
  4. 网络知识host(Host的含义和作用)
  5. 5分钟读懂一致性哈希算法原理
  6. 淘宝无人直播实操经验
  7. sql语句的各种连接
  8. 路由器有线桥接设置图解(两种方法)
  9. kali Linux开启ssh服务
  10. 一个人没有出息的九大根源