路由器转发IP包的过程
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.teInet是应用层协议基于传输层TCP,默认端口号:23 2.ssh是应用层协议基于传输层TCP默认端口号:22 3.思路 3.1.telnet 3.2.s ...
- 负载均衡LVS之DR模式IP包调度过程及WRR算法实现的详细步骤
负载均衡LVS之DR模式IP包调度过程及WRR算法实现的详细步骤 1.DR模式IP包调度过程 2.数据流程图 3.环境说明 1) 五台主机,时间同步,关闭防火墙和selinux2) 各主机角色1] 客 ...
- 路由器转发数据包的封装过程
** 原理: ** 1.当一个高层的数据包到达传输层,由于telnet使用TCP协议,传输层将上层传过来的数据不变在封装TCP的包头以便目标主机可以正确解包,继续向下层(网络层)传递. 2.网络层同样 ...
- 计算机网络 day7 扫描IP脚本 - 路由器 - ping某网址的过程
目录 network 和 NetworkManager关系: 实验:编写一个扫描脚本,知道本局域网里哪些ip在使用,哪些没有使用? 使用的ip对应的mac地址都要显示出来 计算机程序执行的两种不同方式 ...
- TCPIP卷一(1):二层封装与路由器转发数据过程
二层封装 为什么需要了解二层封装呢? 因为在一个路由器转发数据包的时候,除了知道目的地怎么去(有路由),还需要二层的正确封装,否则就算有路由的话,也无法进行通信. 这是卷一提到过的,虽然没有像协议卷一 ...
- 路由器转发规则【转】
(转自:https://blog.51cto.com/echo1937/1281746) 源主机在发起通信之前,将Self IP与目的主机的IP进行比较,如果两者位于同一网段(用子网掩码计算后具有相同 ...
- 通过 Teardrop 攻击程序学习自制 IP 包及了解包的结构
目录 一.含义简析 1)什么是原始套接字 2)了解 Teardrop 攻击 二.代码编写 1)虚拟机设置 2)编写代码 三.总结 四.参考资料 使用原始套接字编程中的 Teardrop 代码编程,伪造 ...
- 什么是交换机?描述一下工作过程?交换机基本功能、交换机是如何转发数据包的,什么是三层交换机?和二层交换机有什么区别?三层交换机是否可以代替路由器?为什么?
** 14. 什么是交换机?描述一下工作过程? ** 交换机是一种工作在数据链路层对流量进行转发的网络设备.主要应用于延长传输距离,解决冲突域,实现单播等功能. ** 工作过程: **当流量进入交换机 ...
最新文章
- 新国立尤洋:夸父AI——用于大规模并行训练的统一深度学习系统
- 【Interfacenavigation】风格和主题(21)
- Orleans稍微复杂的例子—互动
- 分数怎么在计算机上关,电脑如何在注册表上关闭AutoRun功能
- python大学_大学为什么不先开python?
- MySQL绿色版安装(mysql-5.7.12-win32)
- ★LeetCode(108)——将有序数组转换为二叉搜索树(JavaScript)
- JAVASE1~5补充
- linux给文件备份,Linux文件备份
- VC2010 sp1修复补丁
- 如何使用阿里云矢量图标库
- 2011微软MVP全球峰会美国行之飞抵西雅图
- 《JAVA语言程序设计》期末考试试题及答案
- Box2D例子——打砖块
- 激光测距仪构造原理及激光安全说明——TFN BKD系列双目军绿激光测距测高仪
- 我的抗战之兄弟连-李强强
- linux上安装安卓厨房手机版下载,厨房女孩烹饪比赛
- java 字符串数组转String
- 群晖6.XVideo Station不支持视频格式的解决方案
- 通过国家认定的在线监测仪器_在线监测_环境保护网