1、交换机工作原理
交换机是数据链路层的设备,数据链路层传输的是数据帧,所以封装的是MAC头部(主要有源MAC地址和目的MAC地址)
2、数据链路层的功能:
- 建立逻辑连接,进行物理地址寻址,差错校验
- 数据链路的建立、维护和拆除
3、以太网简介
1)以太网简介
以太网是一种局域网技术,以太网简介看下,70年代左右提出来的以太网技术
以太网是一种计算机局域网技术。IEEE组织和IEEE802.3标准制定了以太网的技术标准,它规定了包括物理层连线、电子信号和介质访问协议的内容。
以太网是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。
2)其他局域网技术了解:
- 令牌环:
什么是令牌,令牌是令牌环上传输的小的数据(3个字节的一种数据帧),谁有令牌谁就有传输权限。如果环上的某个工作站收到令牌并且有信息发送,它就改变令牌中的一位(该操作将令牌变成一个帧开始序列),添加想传输的信息,然后将整个信息发往环中的下一个工作站。
当这个信息帧在环上传输时,网络中没有令牌,这就意味着其他工作站想传输数据就必须等待。因此令牌环网络中不会发生传输冲突。
信息沿着环传输直到到达目的地,目的地穿件一个副本以便进一步处理。信息帧继续沿着环传输直到到达发送站时便可以被删除。发送站可以通过检验返回帧以查看被接收站收到并且复制。
(1)首先进行环的初始化(建立一逻辑环),然后产生一空令牌,在环上流动。
(2)希望发送帧的站必须等待,直到它检测到空令牌的到来。
(3)想发送的站拿到空令牌后首先将其置为忙状态,该站紧接着向令牌的后面发送一个数据帧。(4)当令牌忙时,由于网上无空令牌,所有想发送数据帧的站必须等待。
(5)数据沿途经过的每个站环接口都将该帧的目地地址和本站的地址相比较,如果地址符合,则将帧放入接收缓冲区,再送入本站,同时帧将在环上继续流动;若地址不符合,环接口只将数据帧转发。
(6)发送的帧沿环循环一周后再回到发送站,由发送站将该帧从环上移去,同时释放令牌(将其状态改为“闲”)发到下一站 。
- FDDI:
FDDI是光纤分布式数据接口,它是一项局域网传输标准,于80年代中期发展起来,他提供的高速数据通信能力要高于当时的以太网(10Mbps)和令牌网(4或16Mbps)的能力。
当数据以100Mbps输入输出时,在当时FDDI与10Mbps的以太网和令牌环网相比有相当大的改进,但随着快速以太网和千兆以太网技术的发展,用FDDI的人就越来越少了。因为FDDI使用的通信介质主要是光纤,这一点它比快速以太网及现在的100Mbps令牌网传输介质贵许多,然而FDDI最常见的应用只是提供对网络服务的快速访问。
- ARCNET:
ARCNET网络是典型的令牌总线网络,1999年称为美国国家标准ANSI/ATA-878.1.从OSI参考模型来看,ARCNET定义了ISO/OSI 七层网络体系模型中的数据链路层和物理层,其开放底层接口,允许用户自行开发嵌入式设备。
ARCNET的节点及地址:|
每个ARCNET物理节点包括一个数据链路层的通信控制芯片和一个物理层的收发芯片。每个节点有一个网络地址,令牌一递增的节点地址序号,从一个节点传递到另一个节点,形成逻辑环路。节点使用唯一的MAC地址标识自己,单个ARCNET子网最多有255个节点,ARCNET支持点对点的定向消息和单点对多点的广播消息,在数据链路层,采用令牌环机制,各节点通过传递令牌来协调网络使用权。
ARCNET的物理层:
在物理层,ARCNET支持总线型、星形以及分布式星形拓扑结构。ARCNET速率为2.5 Mbit/s,传输的介质有同轴电缆、双绞线、光纤,可满足绝大多数自动控制应用对速度、抗干扰性和物理介质的要求。新型的ARCNET plus速率已从原来的2.5 Mbit/s增加到100 Mbit/s(使用光纤时)。
ARCNET工作机制:
ARCNET的地址由8 bit组成,其中地址0作为广播地址。因此ARCNET网络上最多可以容纳255个节点。ARCNET网络节点之间的数据传输像总线型LAN一样是广播式的,但对总线的访问决定于令牌。为说明这种网络的操作机制,假定在一条总线上有4个节点,其地址分别为1,10,25和255。在启动网络时,这4个工作站形成一个逻辑环,每个站都跟踪两个信息:①谁是后继者;②谁是前驱者。
这两种信息分别由字母S(后继者)和P(先驱者)代表。一个工作站的后继者定义为逻辑环上具有较高地址的站;先驱者则定义为逻辑环上具有较低地址的站。
由于ARCNET中站地址0用于广播地址,因此最小站地址为1,最大站地址为255。在构成逻辑环时规定,工作站地址为255的后继站地址为1,站地址为1的前驱站地址为255。
3)中继器&集线器
中继器是工作在物理层的设备,适用于王权相同的两个网络的互连,信号传输过程中有衰减,中继器主要是通过对数据信号的重新发送或转发来扩大网络传输的距离。中继器是对信号进行再生和还原的网络设备:OSI模型的物理层设备。
集线器(Hub)集线器主要功能是对接收的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。集线器也是工作在物理层的。
4、共享式OR 交换式
早期是共享式网络,现在使用的交换式网络,以太网交换机、以太网MAC地址
在目前所有的网络接口都有一个全球唯一的以太网MAC地址
以太网MAC地址:用来标识一个以太网上额某个单独的设备或者一组设备
IP地址的概念:用于标识网络中的某一台主机
两个设备需要在网络中进行通信就必须配置相应的IP地址
网络环境中有两台主机(主机A 主机B)通过交换机连接起来的,只要主机A知道主机B的MAC地址两台主机就能进行信息通信。
在一个网络环境内,还需要知道两台主机对应的IP地址,根据IP地址来获取MAC地址,从而使用MAC地址进行交互,而不是使用IP地址进行交互。
如果说跨越了一个网络,主机A要和另一个网络中的主机C进行通信,所以就需要中间商路由器进行转发,中间商需要主机A提供IP地址。
两个设备在以太网中进行通信,那就必须要MAC地址进行交互。
两个设备在网络中进行通信,就必须配置相应的IP地址。
5、MAC地址
MAC地址由48位二进制组成,通常表示为12位的十六进制,
MAC地址举例:将12位的十六进制换算成48位的二进制
一个MAC地址的表示方式,前面24位表示厂商的编码,后面24位是序列号。从而实现全球唯一。
如何区别单独设备还是一组设备
当第8位为0的时候,表示单播地址
当第8位为1的时候,表示的是组播地址
所有设备:一个全为1的MAC地址是广播地址
6、以太网帧格式
1)Ethernet II
Preamble前导码:占8个字节
Destination Address :目标的MAC地址占6字节(48bit)(12个十六进制)
Source Address:发送方的MAC地址占6字节(48bit)(12个十六进制)
Type:用于标识上层数据的类型占2字节(16bit)(4个十六进制)
Data:在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议。该数据段的长度最小应当不低于46个字节,最大应不超过1500字节。如果数据段长度过小,那么将会在数据段后自动填充(Trailer)字符。相反,如果数据段长度过大,那么将会把数据段分段后传输。在IEEE 802.3帧中该部分还包含802.2的头部信息。
FCS:帧校验,包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。
2)IEEE802.3帧
Preamble前导码:7字节占8个字节
帧的起始并列符:1字节
Destination Address :目标的MAC地址占6字节(48bit)(12个十六进制)
Source Address:发送方的MAC地址占6字节(48bit)(12个十六进制)
length:用于标识上层数据的类型(帧协议类型)(2B)
逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。
SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。Org code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:
- 当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。
- 当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。
- DSAP和SSAP其他的取值均为纯IEEE802.3帧。
Data:Data字段包含来自较高层的封装数据(一般是第 3 层 PDU 或更常见的 IPv4 数据包)。所有帧至少必须有 64 个字节。如果封装的是小数据包,则帧使用填充位增大到最小值。
FCS:用于检测帧中的错误。它使用的是循环冗余校验 (CRC)。发送设备在帧的 FCS 字段中包含 CRC 的结果。接收设备接收帧并生成 CRC 以查找错误。如果计算匹配,就不会发生错误。计算不匹配则表明数据已经改变;因此帧会被丢弃。数据改变可能是由于代表比特的电信号中断所致
7、关于Type字段的实例:
上层是网络层,由于网络层有不同协议,如IP、ARP、ICMP、IGMP、RARP等,所以用Type/length字段来标识网络层的协议
示例:
ARP协议(0x0806)
IP协议(0x0800)
ping 一下百度
把ICMP协议称为网络层上层的协议(3.5层),我们通过抓包抓到的基本上都是Ethernet II的帧,很少是IEEE802.3的帧。
针对于数据链路层要知道:
以太网
以太网MAC地址
以太网帧
以太网的交换机
在早期的时候共享式网络是什么样的