相关知识点回顾:
以太网(Ethernet)是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。
以太网指的是一种基于基于竞用的介质访问方法,可让一个网络中的所有主机共享链路宽。以太网使用了数据链路层规范和物理层规范,本章将介绍数据链路层和物理知识,这些知识足以帮助你高效地实现和维护以太网以及排除其故障。
冲突域是一个以太网术语,指的是这样一种网络情形,即网段上的一台设备发送分组时,该物理网段上的其他所有设备都必须侦听它。这很糟糕,因为如果同一个理网段中的两台设备同时传输数据,将发生冲突(即两台设备的数字信号将在线路上相互干扰),导致设备必须在以后重传数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。
广播域的书面定义如下:广播域指的是网段中的一组设备,它们侦听在该网段上发送的所有广播。
广播域的边界通常为诸如交换机和路由器等物理介质,但广播域也可能是一个逻辑网段,其中每台主机都可通过数据链路层(硬件地址)广播访问其他所有主机。
半双工和全双工通信:
半双工(Half Duplex)就是指一个时间段内只有一个动作发生,发送或者接收数据。早期的对讲机、以及早期集线器等设备都是基于半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台.
全双工(Full Duplex)是指在发送数据的同时也能够接收数据,两者同步进行。目前的网卡一般都支持全双工。
全双工以太网使用两对电缆线,而不是像半双工方式那样使用一对电缆线。全双工使用不同的导线来消除冲突,从而允许同时发送和接收数据,而半双工不能同时发送和接收数据,仍会出现冲突。要使用全双工,电缆两端的设备都必须支持全双工,并配置成以全双工模式运行。
全双工方式在发送设备的发送方和接收设备的接收方之间采取点到点的连接,这意味着在全双工的传送方式下,可以得到更高的数据传输速度。
注:
在只有两个节点的情况下,全双工以太网要求使用点到点连接。除集线器外,其他所有设备都可在全双工模式下运行。别忘了,半双工以太网只有一个冲突域,其有效吞吐量比全双工以太网低。在全双工以太网中,通常每个端口都对应一个独立的冲突域,且有效吞性量更高。
最后,请牢记如下要点:
- 在全双工模式下,不会发生冲突;
- 每个全双工节点都必须有一个专用的交换机端口;
- 主机的网卡和交换机端口必须能够在全双工模式下运行。
下面来看看半双工以太网使用的一种冲突检测机制:
CSMA/CD (Carrier Sense Multiple Access with Collision Detection ,载波侦听多路访问/冲突检测) 是一种帮助设备均衡共享带宽的协议,可避免两台设备同时在网络介质上传输数据。有助于极大地减少冲突,进而减少重传,从而提高所有设备的数据传输效率。
那么, CSMA/ CD 协议是如何工作的呢?
以太网 LAN 中发生冲突后,将出现如下情况:
1. 拥堵信号告诉所有的设备发生了冲突
2. 冲突导致执行随机后退算法(在以太网中,后退指的是冲突导致的重传延迟。)
3. 以太网网段中的每台设备暂停传输一段时间,直到定时器到期
4. 定时器到期后,所有主机的传输优先级都相同
CSMA/CD 网络持续发生严重冲突时,将导致如下结果:
- 延迟;
- 低吞吐量;
- 拥塞。
以太网的数据链路层:
在数据链路层,以太网负责以太网编址,这通常称为硬件编址或 MAC 编址。以太网还负责将来自网络层的分组封装成帧,为使用基于竟用的以太网介质访问方法在本地网络中传输数据做好准备。
以太网编址:它使用固化在每个以太网网卡 (NIC) 中的 MAC( Media Access Control ,介质访问控制)地址。
MAC( 硬件)地址是一种使用十六进制表示的地址,长 48 位 (6B) 。
其中前 24位 (3 B) 称为 OUI (Organizationally Unique Identifier,组织唯一标识符),由 IEEE 分配给 NIC 制造商。
最高位为 I/G(Individual/ Group) 位:如果它的值为 0,我们就可认为相应的地址为某台设备的 MAC 地址,很可能出现在 MAC 报头的源地址部分;如果它的值为 1,我们就可认为相应的地址要么是以太网中的广播地址或组播地址,要么是令牌环和FDDI 中的广播地址或功能地址。
接下来是 G/L位(全局/本地位,也称为U/L位,其中U表示 universal ):如果这一位为 0,则表示相应的地址为全局管理地址,由 IEEE 分配;如果为 1,则表示相应的地址为本地管理地址 。
在以太网地址中,右边24位为本地管理(制造商分配)的编码,特定制造商生产第一个网卡时,通常将这部分设置为24个0,然后依次递增,直到将其生 产的第 1677 216 个网卡设置为24个1。实际上,很多制造商都将这部分地址对应的十六进制值作为网卡序列号的最后 6个字符。
以太网帧:
数据链路层负责将比特合并成字节,再将字节封装成帧。在数据链路层,我们使用帧封装来自网络层的分组,以便通过特定类型的介质进行传输。
以太网工作站的职责是,使用MAC帧格式彼此传递数据帧,这利用CRC(Cyclic Redundancy Cbeck ,循环冗余校验)提供了错误检测功能 但别忘了,这是错误检测,而不是纠错 2-3 说明了IEEE802 .3帧和以太网帧的格式
在以太网帧中,与数据链路层相关的字段包括前导码、帧起始位置分隔符、目标 MAC 地址、源 MAC 地址、长度或类型以及帧校验序列:
- 前导码: 交替的0和1,在每个分组的开头提供 MHz 的时钟信号,让接收设备能够跟踪到来的比特流。
- 帧起始位置分隔符 (SFD)同步: 前导码为 7B ,而 SFD (同步)为 lB SFD 的值为 10101011 ,其中 后两个让接收方能够识别中间的 交替模式,进而同步并检测到数据开头
- 目标地址 (DA) : 包含一个 48 位的值,且 LSB (Least Significant Bit ,最低有效位)优先 。接收方根据 DA 判断到来的分组是否是发送给特定节点的。 目标地址可以是单播地址、广播地址或组播 MAC 地址 。别忘了, 广播地址全为1 (在十六进制格式下全为 F) 广播发送给所有设备,而组播只发送给网络中 一组类似的节点
- 源地址 (SA) : SA 是一个 48 位的 MAC 地址 用于标识传输设备,也使用 LSB 优先格式SA字段中,不能包含广播地址或组播地址
- 长度或类型 802.3 帧使用长度字段,而 Etbemet_II 帧使用类型字段标识网络层协议 802.3不能标识上层协议,只能用于专用 LAN ,如 IPX
- 数据: 这是网络层传递给数据链路 的帧,其长度为 46-15
- 帧校验序列 (FCS): FCS 字段用于存储 CRC (Cyclic Redundancy Check ,循环冗余校验)结果的帧的帧尾。 CRC是一种数学算法,创建每个帧时都将运行它。 作为接收方的主机收到帧并运行CRC时,其结果必须相同,否则,接收方将认为发生了错误,进而将帧丢弃。
例如这是一个 Ethernet 11 帧,这里只显示了3个帧字段:目标地址、源地址和类型:
Destination: 00:60:f5:00:1f:27
Sour ce: 00:60 : f5:00:1f:2c
Protocol Type: 08-00 IP
以太网物理层:
识别与以太网布线相关的 IEEE 标准 : 这些标准描述了各种电缆类型的功能和物理特征,包括(但不限于) 10Base2 10Base5 10BaseT:
以太网布线:
以太网电缆分3种:
直通电缆,用于将 PC 或路由器的以太网接口连接到集线器或交换机;
交叉电缆,用于将集线器连接到集线器、集线器连接到交换机、交换机连接到交换机以及 PC 连接到 PC;
反转电缆,用于在 PC 和路由器或交换机之间建立控制台连接。
直通电缆用于连接如下设备:
- 主机到交换机或集线器;
- 路由器到交换机或集线器。
交叉电缆可用于连接如下设备:
- 交换机到交换机;
- 集线器到集线器;
- 主机到主机;
- 集线器到交换机;
- 路由器到主机;
- 路由器到路由器(使用快速以太网端口)。
反转电缆可用于连接如下设备:
- 主机到路由器的控制台串行通信 (COM) 端口。
数据封装:
数据封装指的是在 OSI 模型各层给数据添加信息的过程,也称为分组创建。每层都只与其在接收设备上的对等层通信。
为通信和交换信息,每层都使用 PDU ( Protocol Data Unit ,协议数据单元 )。 PDU 包含在模型每一层给数据添加的控制信息。这些控制信息通常被添加在数据字段前面的报头中,但也可能被添加在报尾中。
OSI 模型每1层都对数据进行封装来形成 PDU。 PDU 的名称随报头提供的信息而异。这些 PDU信息仅在接收设备的对等层被读取,然后被剥离,然后数据被交给下一层。
在发送端,数据封装过程大致如下:
(1) 用户信息被转换为数据,以便通过网络进行传输。
(2) 数据被转换为数据段,发送主机和接收主机之间建立一条可靠的连接。
(3) 数据段被转换为分组或数据报,逻辑地址被添加在报头中,以便能够在互联网络中路由分组
(4) 分组或数据报被转换为帧,以便在本地网络中传输 硬件(以太网)地址被用于唯 一标识本
地网段中的主机
(5) 帧被转换为比特,并使用数字编码方法和时钟同步方案
我们用图 2-12 进一步解释这个过程:
给数据块添加传输层报头信息后,便形成了数据段;随后,数据段和目标 IP 地址一起被交给网络层。(目标 IP 地址是随数据流一起由上层交给传输层的,宫是由上层使用名称解析方法(可能是 DNS) 发现的。)
网络层在每个数据段的前面添加报头和逻属地址 (IP地址)。给数据段添加报头后,形成的 PDU为分组。分组包含一个协议字段,该字段指出了数据段来自何方 (UDP TCP) ,这样当分组到达接收主机后,传输层便能够将数据段交给正确的协议。
网络层负责获悉目标硬件地址(这种地址指出了分组应发送到本地网络的什么地方),为此,它使用ARP (Address Resolution Prowcol ,地址解析协议)。网络层的IP查看目标 IP地址,并将其与自己的 地址和子网掩码进行比较。如果比较表明分组是前往本地主机的,则 ARP 请求被用于请求该主机的硬件地址;如果分组是前往远程主机的, IP 将获悉默认网关(路由器)的IP地址。
接下来,网络层将分组向下传递给数据链路层,一同传递的还有本地主机或默认网关的硬件地址。数据链路层在分组前面添加一个报头,这样数据块将变成帧(之所以称其为帧,是因为同时给分组添加了报头和报尾,使其类似于书挡),如图 2-12 所示。帧包含一个以太网类型( Ether-Type )字段,它指出了分组来自哪种网络层协议。现在,将对帧运行 CRC ( Cyclic Redundancy Check ,循环冗余校验),并将结果放在帧尾的 FCS (Frame Check Sequence ,帧校验序列)字段中。
至此,可以用每次1比特的方式将帧向下传递给物理层了,而物理层将使用比特定时规则( bit timing rule) 将数据编码成数字信号。网段中的每台设备都将同步时钟,从数字信号中提取 ,并重建帧。重建帧后,设备将运行 CRC ,以确保帧是正确的。如果一切顺利,主机将检查目标 MAC 地址和目标地址,以检查帧是否是发送给它的。
Cisco 三层模型:
核心层:主干,负责快速而可靠地传输大量的数据流;
集散层:提供路由选择、过滤和 WAN 接入;
接入层:交换,将工作组连接到集散层。