您的位置  > 互联网

网络通不通、主机是否可达、路由是否可用?

ICMP()控制消息协议。 它是TCP/IP协议族的一个子协议,用于在IP主机和路由器之间传输控制消息。 控制消息是指有关网络本身的消息,例如网络连通性、主机是否可达、路由是否可用等。 这些控制消息虽然不传输用户数据,但在用户数据的传输中发挥着重要作用。

ICMP协议的功能只需具备:

1、确认IP包是否到达目标地址

2、通知IP包在发送过程中被丢弃的原因

ICMP报文分为两类,一类是ICMP查询报文; 另一个是ICMP错误报告消息。

常见的 ICMP 报文类型

常见 ICMP 类型

当不发送ICMP错误消息时: ICMP协议主要用于ping和命令中:

网络可达性测试中使用的分组互联检测命令 ping 可以生成 ICMP 回显请求和响应消息。 目的主机收到ICMP回显请求报文后立即发回响应报文。 如果源主机能够收到ICMP echo响应报文,则说明到达该主机的网络正常。

该命令主要用于显示数据包到达目的主机所经过的路径。 通过向对方主机执行命令,返回数据包到达目的主机所经过的路径的详细信息,并显示每条路径所消耗的时间。

例如:

ICMP

查看echo请求和echo响应消息

ICMP

ICMP回复

ARP协议

地址解析协议(地址解析协议),只要使用目标设备的IP地址,就可以查询到目标设备的MAC地址。

通讯流程:

1.如果主机A想要与主机B通信,它首先必须知道主机B的mac地址,因此它会发送ARP广播。

2、其他主机收到后,发现自己没有寻找,就会丢弃。

3、主机B解包后发现是自己,就会单播响应,记录在自己的ARP缓存表中。

ARP分析

ARP表

代理ARP

代理ARP一般使用自己的MAC地址通过网关设备响应其他设备的ARP请求。

为什么需要代理ARP?

首先你要明白,路由器的重要功能之一就是隔离广播域,防止广播数据包的传播,否则会造成网络风暴。

ARP 请求是一个广播数据包。 如果目标地址在同一局域网内,则会收到回复。 但是如果目标地址不在同一个局域网内怎么办? 路由器提供代理ARP来解决这个问题。

代理ARP

有两台主机PC1和PC2。 当PC1向PC2的MAC地址发送ARP请求时,由于路由器不转发广播报文,该ARP请求只能到达路由器。 如果路由器启用了代理 ARP 功能,并且知道 PC2 属于其所连接的网络,则路由器将使用自己接口的 MAC 地址而不是 PC2 的 MAC 地址向主机 PC1 进行 ARP 回复。

RARP协议

反向地址转换协议 ( ) 允许 LAN 上的物理机从网关服务器的 ARP 表或缓存中请求其 IP 地址。 即:根据其MAC地址找到IP地址。

远程地址解析协议

免费地址解析协议

当获取或更改IP地址时,会发出ARP,但请求的目标IP是本地的。

一台主机可以使用它来确定另一台主机是否具有相同的 IP 地址集。 正常情况下,发送免费 ARP 请求时不会收到 ARP 回复。 如果收到ARP回复,则说明网络上存在与本机IP地址相同的主机,发生了地址冲突。

ARP欺骗

伪造的网关MAC地址和IP地址对应表通过广播的方式发送给局域网内的其他主机。 局域网内的其他主机收到伪造的信息后,会更新自己的ARP表。 这样,当这些主机向外发送数据包时,虽然会按照正确的网关IP地址发送数据包,但实际上会发送到错误的MAC地址,从而导致数据包无法发送出去,无法正常发送数据包。无法访问互联网。

可以设置静态MAC->IP对应表,不再接收广播ARP信息。