地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要作用是通过已知IP地址,获取对应物理地址的一种协议。但其也能在ATM(异步传输模式)和FDDIIP(Fiber Distributed Data Interface光纤分布式数据接口)网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据链路层(MAC层,也就是相当于OSI的第二层)的MAC地址。
在网络层
arp地址解析工作过程 通过数据包目标ip地址 ---》如果,缓存中有的话找到目标mac地址进行封装,不存在的话它就会发广播找到,举例如下:
在TCP/IP协议中,A给B发送IP包,在报头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址。
计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。
在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。
ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。
arp可以实现ip地址和mac地址的绑定,使用的命令如下:
arp static ip地址 mac地址
优点:避免广播
安全
RARP(逆向ARP)经常在无盘工作站上使用,以获得它的逻辑IP地址。
rarp 自己mac ---》自己ip
端口隔离
是为了实现报文之间的二层隔离,可以将不同的端口加入不同的VLAN,但会浪费有限的VLAN资源。采用端口隔离特性,可以实现同一VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。
目前有些设备只支持一个隔离组(以下简称单隔离组),由系统自动创建隔离组1,用户不可删除该隔离组或创建其它的隔离组。有些设备支持多个隔离组(以下简称多隔离组),用户可以手工配置。不同设备支持的隔离组数不同,请以设备实际情况为准。
隔离组内可以加入的端口数量没有限制。
端口隔离特性与端口所属的VLAN无关。对于属于不同VLAN的端口,只有同一个隔离组的普通端口到上行端口的二层报文可以单向通过,其它情况的端口二层数据是相互隔离的。
端口隔离技术在H3C交换机上的实现
system-view 进入系统视图
interface interface-type interface-number 进入以太网端口视图
port isolate 将以太网端口加入到隔离组中
端口隔离技术在H3C交换机上实现很强,使用也方便,上述的三条命令就可以实现相应端口之间隔离。
交换机H3C
1、二层 一个隔离组
端口隔离:
int 端口ID
port isolate
这种情况是,只要被隔离的端口两两都不能通信,有局限性。
2、三层 多个隔离组 【am】
端口隔离:
am enable(启动am功能)
int 端口ID
am isolate 要隔离的端口。跟指定的端口进行隔离(不需要在指定的端口上再配置端口隔离)
端口+ip绑定:
am enable
int 端口ID
am ip-pool ip地址(可以写指定ip,也可以使用后跟数字指定范围)