Arp协议
发包分三步:
1.计算是否在同一个广播域
2.利用arp协议获取mac地址
3.发包
一、如果在同一个广播域:
例如pc1要向pc3发包,流程如下:
1.首先计算pc1和pc3在同一个广播域(利用ip进行计算)
2.arp协议获取pc3的mac地址
格式:原mac 目标mac 原ip 目标ip
具体:pc1mac FF:FF:FF:FF:FF:FF 192.168.11.10 192.168.11.11
(在同一个广播域所有机器都可以收到这个数据包,然后开始解包,发现ip地址不是自己的就丢弃,发现ip是自己的就返回自己的mac地址)
返回格式:自己的mac 目标mac 自己的ip 目标ip
具体:pc3mac pc1mac 192.168.11.11 192.168.11.10
这样pc1就受到了pc3的mac地址
3.开始发包
发包格式:原mac 目标mac 原ip 目标ip 数据部分
具体:pc1mac pc3mac 192.168.11.10 192.168.11.11 数据
二、如果不在同一个广播域:
例如pc1要向pc4发包,流程如下:
1.首先计算pc1和pc3不在同一个广播域
2.arp协议获取pc1所在广播域的网关1的mac地址
格式:自己的mac 目标mac 自己的ip 目标ip
具体:pc1mac 网关1mac 192.168.11.10 网关ip
网关1解包发现是要自己的mac地址后,网关就会响应,把自己的mac地址返回给pc1
返回格式:网关1的mac 目标mac 网关1的ip 目标ip
具体:网关1mac pc1mac 网关1ip 192.168.11.10
Pc1获取到网关1mac地址后开始发包
3.pc1开始给pc4发包:
发包格式:原mac 目标mac 原ip 目标ip 数据部分
具体:pc1mac 网关1mac 192.168.11.10 172.16.45.10 数据
Pc4返回数据流程一样,这里不做赘述。
单位转换:
1GB=1024MB
1MB=1024KB
1KB=1024B (Byte == 字节,简写B)
1B=8b (bit == 二进制位,计算机数据最小的单位,简写b)
字符编码:
https://www.cnblogs.com/linhaifeng/articles/5950339.html