同网段 通信时可以直接通信;跨网段,通信时不可以直接通信
1.通信时,发送端的主机会使用对方的IP地址+自己的掩码 进行计算,算出对方的网络地址
2.计算之后,将对方的网络地址和自己的网络地址进行对比,相同,则认为在同一网段,不同,则不在同一网段。
一.网关概念
网关getaway:用来转发不同网段之间的数据包
网关设备上连接本地网段的接口地址即为 该网段的网关地址
网关地址 是一个配置在某个设备接口上的地址
-------------------------------------------
二.ICMP
ICMP协议(Internet Control Message Protocol)Internet控制消息xie'yi:网络层的重要协议,用来在网络设备间传递各种差错、控制和查询等信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
------网络层协议
ICMP数据包格式:
Ethernet_II Header | IP Header | ICMP | FCS |
S-MAC:00-00-01 S-IP:1.1.1.1
D-MAC:?(ARP后可知) D-IP:1.1.1.2
ICMP的报文内容{Type|Code|Checksum}
Type:表示ICMP消息类型
Code:标识数值,表示同一消息类型中的不同信息
Checksum:校验和,检验ICMP数据的完整性
ICMP消息类型和编码类型:
类型 | 编码 | 描述 |
0 | 0 | Echo Reply |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
5 | 0 | 重定向 |
8 | 0 | Echo Request |
-------------------------------------
三.ARP协议
ARP--地址解析协议
在已知IP地址的情况下,求与之对应的mac地址
广播域:广播报文所能传递的范围
--交换机的所有端口处于同一个广播域(不划分vlan)
--路由器每个接口都是一个广播域
--广播报文是无法穿越路由器的三层接口的
发送端---发送ARP请求--广播
接收端---发送ARP应答--单播
(我是1.1.1.2 我是00-00-02 1.1.1.1 00-00-01 D-MAC:00-00-01 S-MAC:00-00-02)
E2 | ARP |
D-MAC :全F sender-ip:我是1.1.1.1
S-MAC :00-00-01 sender-mac:我是00-00-01
target-ip:请问1.1.1.2
target-mac: 你的mac00-00-00-00(未知)
本地PC(1.1.1.1)中形成ARP映射表
IP地址 | MAC地址 |
1.1.1.1 | 00-00-02 |
直接查询ARP映射表,如果有相应数据,直接进行封装
动态ARP缓存---------------老化时间(20min,探测机制)
ARP代理(三种模式,路由,vlan间,vlan内)
--------------
通信流程
1.检查对方IP是否与自己处于同一网段
比对:网络地址--->自己IP S-IP+自己掩码
对方IP D-IP+自己掩码
若网络地址相同,进行第二步(先查看本地的ARP缓存,在缓存中是否有该IP所对应的mac,如果有,则直接进行数据封装)
若网络地址不同,先查看本地的ARP缓存,在缓存中是否有网关IP所对应的mac,若缓存中没有,借用ARP协议获取网关IP对应的MAC
2.借用ARP协议实现该操作(获取对方IP对应的MAC地址)