设为首页收藏本站language 语言切换
查看: 2353|回复: 4
收起左侧

[求助] 关于OSI封装的问题

[复制链接]
发表于 2015-12-23 14:45:12 | 显示全部楼层 |阅读模式
3鸿鹄币
1.为什么ICMP是Internet层协议,根据下层为上层服务的原则,ICMP在Internet层有协议号,就应该是属于Internet层之上的协议才对啊,就像一般应用层在传输层都唯一对应一个端口号就是因为传输层为应用层服务,所以我认为ICMP应该属于传输层协议


2.ARP协议封装的二层帧头中目的MAC地址是全F的广播地址,但为什么在ARP的载荷中还要标示目的MAC是全0(我知道因为不知道对端的目的MAC,所以用全0标示),但是既然在帧头中已经有了目的MAC地址为什么在载荷中还要添加目的MAC这个字段,这在其他协议上好像并没有这种现象?

最佳答案

查看完整内容

1,传输层在下层有协议号,还有自己的端口号,而icmp只有协议号,故不能定义为传输层协议。以icmp封装echo request/replay,外层打上IP头部和二层头部,面向无连接,所以只能用于测试三层连通性,而不能测试上层可达。 2,ARP的2层头部是给以太网看的,让其他设备知道谁应该收/不收/转发,而ARP头部内是封装的实质内容
发表于 2015-12-23 14:45:13 | 显示全部楼层
1,传输层在下层有协议号,还有自己的端口号,而icmp只有协议号,故不能定义为传输层协议。以icmp封装echo request/replay,外层打上IP头部和二层头部,面向无连接,所以只能用于测试三层连通性,而不能测试上层可达。
2,ARP的2层头部是给以太网看的,让其他设备知道谁应该收/不收/转发,而ARP头部内是封装的实质内容
沙发 2015-12-23 14:45:13 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2015-12-24 14:23:47 | 显示全部楼层
lim203344 发表于 2015-12-23 20:35
1,传输层在下层有协议号,还有自己的端口号,而icmp只有协议号,故不能定义为传输层协议。以icmp封装echo  ...

关于第一个问题也有人解释说ICMP传递的是控制类的流量而不是实际流量所以不能归为传输层,这样能解释通吗?
第二个问题,我想你可能还没有看懂我想表达的意思,二层头部用广播我知道是什么意思,ARP内部载荷目的MAC肯定也是全0,我的问题是ARP已经封装了二层帧头为什么载荷部分也要封装,其他协议好像并没有类似的行为
板凳 2015-12-24 14:23:47 回复 收起回复
回复

使用道具 举报

发表于 2015-12-25 20:16:35 | 显示全部楼层
第二个问题没看懂,帧头的MAC是下一跳接口的MAC地址吧
地板 2015-12-25 20:16:35 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2015-12-27 20:13:46 | 显示全部楼层
jsjsboy 发表于 2015-12-25 20:16
第二个问题没看懂,帧头的MAC是下一跳接口的MAC地址吧

第二个问题我的意思是为什么ARP的载荷部分也要封装?帧头已经封装一次了
5# 2015-12-27 20:13:46 回复 收起回复
回复

使用道具 举报

发表于 2015-12-27 21:17:45 | 显示全部楼层
完全理解错误
6# 2015-12-27 21:17:45 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-27 10:07 , Processed in 0.077879 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表