您的位置:首页 > 其它

ICMP,ARP

2016-07-27 13:28 148 查看
ICMP是网络控制消息协议,主要用于传递查询报文与差错报文。ARP是地址解析协议,它的作用是在以太网环境下,通过第3层的IP地址来找寻第2层的MAC地址,得到一张ARP缓存表。转发数据的时候根据ARP缓存表来进行传输

ICMP:

Internet操作是由路由器严密监控的,当路由器端处理报文时有意外发生,路由器这时会根据相应情况发送ICMP报文给对应的发送端来告知发生了什么。

ICMP消息的报文封装在IP包中,如果发送端发送的报文进过多个路由到达该路由器,那么ICMP就相当于为一个IP包返回发送给发送端。

应用:

traceroute发现从主机到目的IP地址路径上的路由器。它向目的地发送IP包,第一次的时候,将TTL设置为1,引发第一个路由器的Time Exceeded错误。这样,第一个路由器回复ICMP包,从而让出发主机知道途径的第一个路由器的信息。随后TTL被设置为2、3、4,…,直到到达目的主机。这样,沿途的每个路由器都会向出发主机发送ICMP包来汇报错误。traceroute将ICMP包的信息打印在屏幕上,就是接力路径的信息了。这并不是TIME EXCEEDED信息的本意,但却是非常有用的故障排查工具。

ARP

ARP是一种解决地址问题的协议,以目标IP地址为线索用来定位下一个应该接收数据分包的网络设备对应的MAC地址,也就是IP地址到MAC地址的映射。

例:一个小型校园安装了两个/24网络。其中一个(CS)是交换以太网,位于Computer Science部门。网络地址为192.32.65.0/24。另一个局域网(EE)也是一个交换以太网,位于Electrical Engineering部门网络地址为192.32.63.0/24。这两个局域网通过IP路由器互连。以太网上的各台设备以及路由器各接口都有唯一的以太网地址,标签从E1到E6,以及CS或EE网络上唯一的IP地址。



第一种情况:Host1向Host2发送报文。

首先是通过DNS得到Host2的IP地址,host1的上层软件将192.32.65.5植入报文中并交给IP软件发送。IP软件查看该地址发现目标地址在CS网络上(即本地网络)。但是,还需要查找目的以太网地址来发送帧。

host 1发送一个广播报文到以太网询问谁有IP地址192.32.65.5。广播报文到达每一个CS网上的设备,各台设备检查自己的IP地址。只有host 2会回复自己的以太网地址E2。通过这种方式host 1学习到IP地址192.32.65.5的以太网地址E2。这种提问和回复的协议就称为ARP(Address Resolution Protocol)

有了host2的MAC地址,这时host1就可以发送报文给host2了。

第二种情况:Host1发送报文给Host4

host1发现目标IP地址不在CS网络上,所以它先会把这类远端网络数据流发送给路由器,也成为默认网关。要发送帧给路由器首先得通过ARP协议获得E3的MAC地址,当帧到达路由器后,交给路由器上的IP软件,从网络掩码中得知该报文时发送给EE.如果路由器不知道host 4的以太网地址,就会再次使用ARP。然后把该帧发送给host4。之后对该帧解封,拿出其中的IP报文即可。

上面的图中有一个表格,从其中我们可以发现,host1报文发送给host4报文时。帧先是从E1~E3,然后是E4~E6。各子网中以太网地址改变而IP地址保持不变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: