数据在网络中传输主要依靠就是两种方式,即交换和路由;同网段的主机互通,用的是交换技术,(2层设备/技术---数据链路层)不同网段主机互通,用的是路由技术(3层设备/技术---网络层)。
如果是同一个网络中,只用到了交换机,并没有跨网段,这个时候用的就是交换技术,即数据链路层。如果出现问题,就找数据链路层的问题,数据链路层中有MAC地址,ARP功能,那么只有交换技术的网络如果出现问题,那么就是MAC地址不能获得,或者ARP协议出现问题。
如果不是同一个网络中,那么就会用到路由技术,当然前提是交换网络的问题排查之后才会考虑网络层的技术。网络层的技术出现问题的原因有很多,这里先不做解释。但是网络层中最基础的设备就是网关,如果计算机到网关不能够通讯,那么再向外的所有网络也不可能通讯。所以解决网络问题第一步就是排查网关出错的问题。(网关:一个网段去往另一个网段的接口)
说到交换,就会想到交换机,以下是一些交换机的特性。
- 交换机仅查看数据正的2层头部信息,交换机对于3层以上的设备的信息不进行关注,仅通过数据帧的2层来进行工作,2cent头部包含的信息有 destination-mac(目标MAC地址) 6byte ; source-mac (源MAC地址) 6byte ;type (类型) 2byte。
- 交换机最重要的核心工作表是AMC地址表,其中包含了MAC地址和端口信息,具体的形式是 MAC ----- Port 一一对应,这样每个MAC地址对应的一个端口,这样确定了设备所连接的端口信息。
- 交换机的同坐原理是 1.形成MAC地址表 2.查找MAC地址表。形成MAC地址表示交换机受到数据帧以后,会将数据帧中的源MAC提取出来,与接收该数据帧的端口形成对应条目,放入MAC地址表。这样通过网络的通讯,交换机就会形成一个MAC地址表,里面包含了所有交换机端口上的MAC地址信息。 第二步查找MAC地址表,其实就是交换机通过关注数据帧的目标MAC,将其与MAC地址表中的条目进行查找/匹配如果能查看到一个相同的MAC地址则从对应端口发送出去;如果不能查到,则进行广播,进行寻找目标MAC。
通过上述学习咱们可以知道发送的数据帧中应该包含源MAC地址和目标MAC地址,但是在两台设备通讯之前是不可能知道对方的MAC地址的,那么这样如何找到对方呢?这个时候就用到了ARP协议。
ARP:address resolution protocol(地址解析协议)
它的作用是基于目标IP地址,获得对应的目标MAC地址,从而实现数据帧的2层头部的快速封装。ARP通过广播的方式发送广播消息,以便获取含有目标IP地址设备的MAC地址,这样交换机就能得到目标设备的MAC地址,从而同步到MAC地址表中。ARP协议的核心工作表是 arp表,里面包含的是IP地址与MAC地址的对应关系,具体的形式是 IP --- MAC。
通过上边的知识,可以总结一下交换网络拍错的方法:
- 2层不通,看MAC地址
- MAC对不对,看ARP表
- 看发送设备的ARP表