HCIA笔记2--ARP+ICMP+VRP基础
1. ARP
ARP: 地址解析协议(address resolve protocol)。
网络数据包在通信的时候一般是使用 I P IP IP地址进行通信。
但是在封装数据链路层的时候是需要目标 m a c mac mac地址的。
而 A R P ARP ARP协议实现的功能就是根据 I P IP IP地址来获得 m a c mac mac地址。
1.1 arp包格式
1.2 mac查找流程
每个主机都会有一张 m a c mac mac地址表;它存储的是 I P : m a c IP:mac IP:mac表项 。
arp -a
可以进行查看。
- 在 m a c mac mac表中查找是否有相应的 i p : m a c ip:mac ip:mac表项,若有则使用用该表项中对应的 m a c mac mac封装数据帧。
- 若 m a c mac mac表中没有找到对应的 i p : m a c ip:mac ip:mac表项,则主机会发
arp request
广播请求。即arp request
请求中的目标mac
为ff-ff-ff-ff-ff-ff
。 - 发到
arp request
的主机比较自己的IP
地址和包中的DIP
, 若不同则丢弃该包。 - 若本机
IP
与arp request
中的DIP
相同,则会发加一个单播的arp reply
包给原来请求的主机。
1.3 免费arp
每次设置本机的ip
地址会,会广播一条DIP
为自己的arp request
报文。即这条报文的sip = dip
。
如果无人回复这条报文,说明这个ip
是没有人在使用的。否则就说明了在这个局域网里面存在ip冲突
。
2. ICMP
ICMP: internet control message protocol
用于传递差错、控制、查询信息的协议。
2.1 icmp包格式
详见rfc-792
2.2 应用
-
ping
命令
ping -l 200
设置包大小 -
tracert
命令
初始时将ttl
值设置为1
, 在每次收到响应后,将ttl
值增加1
, 直到最后到达或者超时。
2.3局域网内ping的流程
主机A ping IP_B
-
主机A查自己的arp缓存表,看表中是否有主机B的IP: IP_B;
如果有,则获取到主机B的mac地址: MAC_B,转到5。
如果没有,转到2。 -
主机A发起arp request广播请求,大致封装格式
dmac:FF-FF-FF-FF-FF-FF
smac:mac_A
dip:IP_B
sip:IP_A
type:0x0806
3.主机B收到arp request广播请求,将主机A的ip和mac放入自己的arp缓存表中;并回复一个arp reply 单播包给主机A。
大致格式:
dmac: mac_A
smac: mac_B
dip: IP_B
sip: IP_A
type: 0x0806 -
主机A收到主机B的arp reply, 得到了主机B的mac地址为: mac_B。并将主机B的ip和mac放入自己的arp缓存表中。
-
主机A发送icmp echo包,封装格式为
dmac:mac_B
smac:mac_A
dip:IP_B
sip:IP_A
eth type:0x0800
ip type: 1
icmp type: 8
icmp code: 0 -
主机B收到主机A的icmp echo 包,回复主机A一个icmp reply包。封装格式:
dmac:mac_A
smac:mac_B
dip:IP_A
sip:IP_B
eth type: 0x0800
ip type: 1
icmp type: 0
icmp code: 0
3. vrp基础
用户视图:<Huawei>
系统视图:[Huawei]
接口视图:[Huawei-GigabitEthernet0/0/1]
进入系统视图:system-view
进入接口视图:interface GigabitEthernet 0/0/1
改名:sysname sw1
关日志: undo info-center enable
0/0/1
: 槽位/板卡/接口
保存配置:用户视图下save
配置ip
: undo ip address
查看ip
: display this
查看当前配置:display current-configuration
查看保存配置:display saved-configuration
TODO
跨网段ping
发生了什么?