搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
爱喝兽奶帝天荒
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
我在百科荣创企业实践——简易函数信号发生器(1)
2
给公众号接入`FastWiki`智能AI知识库,让您的公众号加入智能行列_公众号接入ai
3
生成式人工智能(AIGC):在软件开发中的助手与变革
4
培训机构出来的程序员目前的就业前景怎么样?
5
6. 详解 IPSec 的 net2net-RSA 组网实践_xfrm 配置ipsec 中公钥、私钥、服务端证书、客户端证书详解
6
Python模块multiprocessing & 实现多进程并发_python multiprocess
7
LeetCode 打卡 Day 60 —— 234. 回文链表
8
Metasploitable2 靶机漏洞(上)_metasploitable-linux-2.0.0靶机, 弱密码漏洞 1、mysql弱密码登录 2
9
计算机网络网络层之层次化路由_层次化算力路由
10
(2-5)基于内容的推荐:文本分类和标签提取_决策树标签怎么抽取
当前位置:
article
> 正文
ICMP报文经过路由器的转发过程及变化_icmp包路由
作者:爱喝兽奶帝天荒 | 2024-07-13 10:59:14
赞
踩
icmp包路由
ICMP经过路由器的转发过程及变化
路由器收到数据包后,报文送到数据链路层,数据链路层解封以太网帧头部,提取目的MAC地址
查看目的MAC地址是不是自己本身的MAC地址。这个时候出现两种情况,具体如下:
情况1:是本机的MAC地址,则把报文传到网络层,由网络层继续解析。
情况2:不是本机的MAC地址,则丢弃报文。
假设是情况1,目的MAC是自己的MAC,把报文送到网络层解析。
送到网络层后,网络层解析,提取目的IP地址,判断目的IP地址是不是本机的IP地址。这个时候再次出现两种情况,具体如下:
情况1:是本机IP,则把报文送到上层,有传输层进行解析。由于本次主要讲解转发流程,就不讲传输层解析的过程了。
情况2:不是本机IP,则去查路由表,匹配出接口。
假设是情况2,不是本机IP,查路由表根据路由的最长掩码匹配原则,匹配路由表,找到出接口。查路由的时候会出现四种情况,具体如下:
情况1:没有匹配路由,无法继续转发,则丢弃报文。并向源IP发送目的不可达的ICMP报文。
情况2:匹配直连路由,网络层封装目的IP和源IP,使用目的IP地址查ARP表。寻找目的MAC。
情况3:匹配非直连路由,网络层封装目的IP和源IP,使用路由表里的下一跳IP地址查ARP表。寻找下一跳IP地址的目的MAC。
情况4:匹配默认路由,网络层封装目的IP和源IP,使用路由表里的下一跳IP地址查ARP表。寻找下一跳IP地址的目的MAC。
假设匹配到路由,去ARP表,匹配目的IP对应的MAC地址。这个时候出现两种情况,具体如下:
情况1:在ARP表里匹配到了对应的MAC地址,则把匹配到的MAC封装到帧头部的目的MAC,把本机出接口的MAC封装到帧头部的源MAC里。然后发送出去。
情况2:在ARP表里没有匹配到对应的MAC地址,则发送ARP请求,寻找目的IP对应的MAC地址。
假设没有匹配到对应的MAC地址,发送ARP请求,这个时候会遇到两种情况。具体如下:
情况1:没有收到ARP响应,无法继续获取目的IP对应的MAC地址。则丢弃报文。
情况2:收到了ARP响应,首先把响应报文中的源MAC解析出来,然后把目的IP和从响应报文中获取的源MAC放到ARP表中,形成映射关系,并对这个映射关系添加老化时间。然后把MAC封装到目的MAC里,把本机出接口的MAC封装到源MAC里,然后发送出去。
以下是详细流程转发图。高清流程图链接:
IP报文经过路由器转发流程图.jpg.jpeg-互联网其他资源-CSDN下载
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/819134
推荐阅读
article
传输
协议
之
ICMP
详解_
mtu
icmp
...
ICMP
作为IP的上层
协议
在工作(报文)
ICMP
实现之MTU探索
ICMP
实现之改变路由
ICMP
实现之源点抑制
ICMP
协议
...
赞
踩
article
ICMP
是
如何
工作
的
?_
icmp
执行
过程...
ICMP
是
如何
工作
的
?与Internet 协议 (IP) 不同,
ICMP
不与传输层协议(如TCP或UDP )相关联。...
赞
踩
article
聊聊
ICMP
协议
及
ping
过程_
ping
icmp
...
ICMP
协议
是TCP/IP
协议
栈中的网络层
协议
,用于判断网络是否连通。
ping
命令和traceroute命令都是基于IC...
赞
踩
article
icmp
回复
报文
_
ARP
、
ICMP
(
报文
交互
过程
)...
观察
ARP
协议 和
ICMP
协议
ARP
请求(request)
报文
:主机请求网关的mac地址 下图是PC的Ethern...
赞
踩
article
linux
内核
协议栈
icmp
报文
收发流程_
内核
发送
icmp
接口
...
1 ICMP
报文
接收1.1
icmp
_rcv() 实现在ip层判断是
icmp
报文
之后,会调用
icmp
_rcv()来处理 ...
赞
踩
article
ICMP
:
Internet
控制
报文
协议_
icmp
应答
广域网...
1 引言2
ICMP
报文
的类型3
ICMP
地址掩请求与
应答
4
ICMP
时间戳请求与
应答
5
ICMP
端口不可达差错1 引言...
赞
踩
article
linux
内核
协议
栈
icmp
协议
概述与
数据结构
_
struct
icmp
hdr...
1 ICMP
协议
概述ICMP
协议
是网络层中一个非常重要的
协议
,其全称为InternetControlMessagePro...
赞
踩
article
LINUX
怎么
查询
icmp
模式,
Linux
icmp
学习笔记 之二
icmp
数据处理
流程
...
在分析
icmp
数据包处理
流程
之前,我有如下疑问:1、为什么要为每一个cpu创建一个仅用于发送
icmp
报文的socket呢...
赞
踩
article
Linux内核分析 - 网络[十一]:
ICMP
模块
_
nwfilter
icmp
type
...
内核版本:2.6.34
ICMP
模块
比较简单,要注意的是
icmp
的速率限制策略,向IP层传输数据ip_append_d...
赞
踩
article
关于
限制
ICMP
回显(
ICMP
Echo
Reply
)及
TTL
超时响应(
ICMP
Time
Exce...
从
ICMP
报文内容到利用ACL(Access Control List ,访问控制列表)
限制
ICMP
回显(
ICMP
Ec...
赞
踩
article
icmp
端口
_
Linux
环境中
ICMP
隧道快速
搭建
指南...
在平时的渗透测试中,我们很多时候会遇到TCP、UDP被防火墙阻断,但是
ICMP
却双向畅通的情况。我们可以通过在一台内网的...
赞
踩
相关标签
经验分享
架构
java
后端
网络
服务器
运维
网络协议
tcp/ip
icmp回复报文
icmp
icmp报文接收
icmp报文发送
ping 请求处理
报文不可达处理
internet
分布式计算
unix
tcp
工作
type
code
LINUX怎么查询icmp模式
智能路由器