数据链路层的功能:数据链路的建立,维护与拆除

帧包装,帧传输,帧同步

帧的差错恢复

流量控制


MAC地址

     通信中,用来标识主机身 份的地址就是制作在网卡上的一个硬件地址。每块网卡在生产出来后,除了具有基本的功能 外,都有一个全球唯一的编号来标识自己,这个地址就是 MAC 地址,即网卡的物理地址。MAC 地址由 48 位二进制数组成,通常分成六段,用十六进制表示,如 00-D0-09-A1-D7-B7。其 中前 24 位是生产厂商向 IEEE 申请的厂商编号,后 24 位是网络接口卡序列号。MAC 地址的 第 8 位为 0 时,表示该 MAC 地址为单播地址;为 1 时,表示该 MAC 地址为组播 MAC 地址。一 块物理网卡的地址一定是一个单播地址,也就是第 8 位一定为 0;组播地址是一个逻辑地址, 用来表示一组接收者,而不是一个接收者

以太网帧格式

1,前导码(Preamble)包含 8 字节。前 7 字节的值为 0xAA,而最后 1 字节的值为 0xAB。 在 DIX 以太网中,前导码被认为是物理层封装的一部分,而不是数据链路层的封装。

2,目的地址(DA)包含 6 字节。DA 标识了帧的目的站点的 MAC 地址。DA 可以是单播 地址(单个目的地)、组播地址(组目的地)或广播地址。  

3,源地址(SA)包含 6 字节。SA 标识了发送帧的站点的 MAC 地址。SA 一定是单播地 址(即第 8 位是 0)。

4,类型域包含 2 字节,用来标识上层协议的类型,如 0800H 表示 IP 协议。

5,数据域包含 46~1500 字节。数据域封装了通过以太网传输的高层协议信息。由于 CSMA/CD 算法的限制,以太网帧不能小于某个最小长度。高层协议要确保这个域至 少包含 46 字节。如果实际数据不足 46 字节,则高层协议必须执行某些(未指定) 填充算法。数据域长度的上限是任意的,但已经被设置为 1500 字节。

6,帧校验序列(FCS)包含 4 字节。FCS 是从 DA 开始到数据域结束这部分的校验和。 校验和的算法是 32 位的 CRC(Cyclic Redundancy Check,循环冗余校验法)。


交换机的设备简介


交换机以太网接口的工作模式


1,单工:只能沿单一的方向传输数据,例如广播只能单一方向

2,半双工:数据站之间可以双向数据传输,但是不能同时进行,例如对讲机可以双向,但是不能同时进行

3,全双工:数据站之间可以双向且同时进行数据传输,例如手机可以同时进行收听和讲话

以太网的接口速率:接口连接时进行协商,协商失败则不能通信


交换机的工作原理

交换机并不会把收到的每个数据信息都以广播的方式发给客户端,是由于交换机可以根 据 MAC 地址智能地转发数据帧。交换机存储的 MAC 地址表将 MAC 地址和交换机的接口编号对 应在一起,每当交换机收到客户端发送的数据帧时,它就会根据 MAC 地址表的信息判断该如 何转发。

1,MAC地址的学习

假设 A 主机发送数据帧(源 MAC 地址为 00-00-00-11-11-11,目标 MAC 地址为 00-00-00-22-22-22)到交换机的 1 号接口,交换机首先查询 MAC 地址表中 1 号接口 对应的源 MAC 地址条目。如果条目中没有数据帧的源 MAC 地址,交换机就会将这个帧的源地 址和收到该数据帧的接口编号(1 号口)对应起来,添加到 MAC 地址表(老化时间:300s删除未通信的MAC地址)中。

2.广播未知数据帧 如果交换机没有在 MAC 地址表中找到数据帧目的地址所对应的条目,交换机就无法确定 该从哪个接口将数据帧转发出去,于是它被迫选用广播的方式,即除了 1 号口之外的所有接 口都将转发这个数据帧,如图 3.5 所示。于是,网络中的主机 B 和主机 C 都会收到该数据帧。

 3.接收方回应信息 主机 B 会响应这个广播,并回应一个数据帧(源 MAC 地址为 00-00-00-22-22-22,目标 MAC 地址为 00-00-00-11-11-11),交换机也会将此帧的源 MAC 地址和接口标号(2 号口)对 应起来,添加到 MAC 地址表中,如图 3.6 所示。

现在,主机 A 和主机 B 之间的通信不用借助广播了,因为 MAC 地址表中已经有它们的条 目,主机 A 发送数据帧的目标地址为 00-00-00-22-22-22,交换机会发现这 个地址对应的接口标号为 2,于是交换机将只向 2 号口转发数据帧。



交换机命令行的四种模式

交换机命令行帮助


交换机的基本配置

1,查看MAC地址表

sw1#show mac-address-table [dynamic]

2,配置接口的双工模式及速率(在接口模式下配置)

switch(config-if)#duplex {full | half | auto}

duplex:配置双工模式的关键字。

full:将接口的双工模式指定为全双工。

half:将接口的双工模式指定为半双工。

auto:将接口的双工模式指定为自动协商。


switch(config-if)#speed {10 | 100 | 1000 | auto}

speed:配置接口速率的关键字。

10/100/1000:为接口配置具体速率值。

auto:接口与对端自动协商通信速率。