ARP地址解析协议
# 如何判断主机是否在同一网段
主机A:192.168.1.100/25 01100100
主机B:192.168.1.200/25 11001000
A主机的网段:192.168.1.0/25
B主机的网段:192.168.1.128/25
若不在同一子网,就去找网管
以上例子是不在的,则需要通过网关进行转发。
若在同一子网
主机A的IP:10.0.0.1/24
主机A的MAC:00-E0-FD-00-00-11
主机B的IP:10.0.0.2/24
主机B的MAC:00-E0-FD-00-00-12
首先数据分别在应用层、传输层封装后,然后在数据链路层封装,这时我们首先默认已知目的IP,且在同一子网,数据链路层需要封装目的mac地址,这时是未知的,怎么办呢?
需要使用ARP–地址解析协议(Address Resolution Protocol)。实质上就是根据目标IP找目标MAC的一个协议。具体过程如下:
1、主机A把目的MAC设置成FF-FF-FF-FF-FF-FF,组成一个广播mac报文。让所有主机都知道在找主机B的mac地址,这个请求叫做ARP Request
2、这时主机B收到后,知道主机A在找自己的MAC地址,那么就单播一条数据刚给主机A
3、这时,一旦得到这个IP与MAC的对应关系,主机A就在本机保存下来,默认时间是4hour,关机下电后就会丢失。
4、这时就可以封装数据链路层的报文了
ARP作用:
以太网就是靠ARP协议来进行二层MAC地址和三层IP地址的对应映射关系的
代理ARP
如果ARP请求是从一个网络主机发往另一个网络主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作委托ARP
华为设备默认代理ARP不开启
Gratuitous ARP
Gratuitous ARP也称为免费ARP,无故ARP。
Gratuitous ARP不同于一般的ARP请求,它并非期待得到ip对应的mac地址,而是当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的ip地址的mac地址。
操作系统没5min钟发起一次这个请求,看有没有IP冲突
RARP-反向地址转换协议(RARP:Reverse Address Resolution Protocol)
假如一个设备不知道它自己的IP地址,但是知道自己的物理地址,网络上的无盘工作站就是这种情况,设备知道的只是网络接口卡上的物理地址。这种情况下应该怎么办呢?RARP(逆地址解析协议)正是针对这种情况的一种协议。
这种协议已经不常用了
路由器的作用
物理层的设备:集线器或者中继器
数据链路层:交换机
路由器:工作在网络层,核心作用是实现不同网段网络的互联
作用
1、分组数据转发(IP报文发送)
2、路由(寻址):建立路由表、刷新、查找
3、子网间的速率适配
4、隔离网络、防止网络风暴(主要是路由器隔离掉了广播,广播只能在网段内实现),指定访问规则(防火墙)
5、异种网络互联
路由表
路由器中时刻维持着一张路由表,所有报文的发送和转发通过查找路由表从相应端口发送出去
路由表可以是静态配置的,也可以是动态裸游协议产生的
路由表中包含的表项:
1、目的地址
2、网络掩码
3、输出接口
4、下一跳地址