数据链路层初解
一.数据链路层
1.数据链路层定义
数据链路层是OSI参考模型及TCP/IP协议5层模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
PUD数据单元为帧。
2.数据链路层功能
(一)数据线路建立维护拆除-逻辑链接
(二)帧的包装(封装),传输,同步
(三)帧的差错恢复(差错校验),例如丢帧,不完整等。当出现这些问题是会自动重传
(四)流量控制。例如发送端发送100字节/秒,接收端只能接收50字节/秒,发送端会将发送速率转化为与接收端相匹配的速率,以保证传输的完整性。
二.以太网
1.工作位置
以太网工作在数据链路层中,是局域网中的一种技术。
2.以太网的发展
以太网的发展经过了相当漫长的过程。
3.以太网MAC地址
MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址,即用来识别一个以太网的某个单独的设备或一组设备的地址。
MAC地址的长度为48位(6个字节),通常表示为12个16进制数。前24位为供应商标识,是固定的,以识别供应商身份,后24位为供应商对网卡的唯一编号,用来识别设备。
例如:
其中第八位,为特殊位,对于目的地址。
4.单播、组播区别
单播是客户端与服务器之间的点到点连接。而组播是在发送和接收者实现点对多点连接,即源主机只发送一份数据,组播组地址成员都可以收到一份源主机发送数据的拷贝。
5.广播
广播,即源主机发送一份数据,给所有地址成员发送。MAC地址为:ff-ff-ff-ff-ff-ff,即48位全为1。
6.以太网帧格式
在以太网链路上的数据包称作以太帧。
以太帧格式的发展大致经过二次变更,演变为现在的格式。
目前广泛使用为1997修订版本。
前导码(同步时间)(7),帧起始定界符(信号)(1),MAC-目的地址(给谁)(6),MAC-源地址(谁)(6)。类型(上层协议类型)(例如0800H-IP协议)(2),数据(46-1500)(流量控制),帧校验序列(4)(数据完整性)FCS
三、交换机
1.交换机定义
交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。
交换机为数据链路层的设备。
2.交换机的工作原理(为多台设备通信)
(一)交换机的转发原理
以2台主机链接一台交换机为例。链接完毕开机后为初始状态。A主机为源主机开始发出数据信号,进入交换机。交换机作为数据链路层的设备具有地址学习和建立逻辑链接的功能。在接收到A主机信号后,会在其内部的MAC地址表中进行搜寻,因为初始状态没有链接过,找不到对应接口。故发送广播泛洪广播未知帧,B主机收到泛洪后,通过分析确定该数据是发给自己的,于是回应泛洪。交换机接收到回应后记录在MAC地址表中,并进行传输,实现单播通讯。
(二)地址表
地址表定义
MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
地址表默认老化时间
地址表默认老化时间为300s,即五分钟。五分钟内若无接口变化,则该地址表消失。若有接口变化,则更新后老化时间重置。
可通过命令修改老化时间。
默认老化时间意义
因为随着时间的推移,交换机记录变多,MAC地址表不断变大,影响主机间交换速率及交换机内存,容易造成卡顿现象。因此一般不会设置太长的老化时间。
3.交换机以太网接口的工作模式
(一)单工
2个数据站之间只沿单一方向传输数据。例如:话筒和扬声器,话筒通过扬声器扩大声音。
(二)半双工
两个数据站之间可以双向传输,但不能同时进行。例如:对讲机,发时不收
收时不发。
(三)双工
两个数据站之间进行双向实时传输。例如电话实时传输。
4.交换机以太网接口速率
接口连接时进行协商,协商失败则无法正常通信。
拓展:华为交换机的链接传输及常用命令解析
下面,我将用两交换器四主机的模型模拟华为交换机的链接、数据转发。
1.华为交换机的链接
图示为用两交换器四主机的模型模拟华为交换机的链接模式。接口红色表示未开机。
图示为用两交换器四主机的模型模拟华为交换机的链接模式。接口绿色,机器变亮表示开机。
2.华为交换机的数据转发
(一)命令:ping
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态 。
图示为通过ping 192.168.1.2(PC2的IP地址)进行转发。
(二)抓包
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。
图示为PC1向PC1单波传输过程中抓包的数据流。第一行Broadcast为PC1作为源主机发出的数据包,第二行为PC2作为接收主机反馈到PC1主机的数据包,以ARP协议承载。下面淡紫色数据包为PC1发送至PC2的单播信号,以ICMP协议承载。
图示为Broadcast数据包内容,基于Ethernet II以太网帧,分为Destination(目的地)数据包和Source(源)数据包。Destination(目的地)数据包中为广播泛洪地址,用来寻找目的地主机,表示为ff-ff-ff-ff-ff-ff。Source(源)数据包中为单播地址,通过第一个字节54十进制转化为二进制01010100得出第八位为0,为单播地址。
图示为PC2传回PC1主机数据包。分析同上,不做过多赘述。
转发通信流程大致为未通信-在其余接口泛洪-目标接口回应-交换机记录-单播通信
3.华为交换机的常用命令解析(低阶)
下面将继续通过上面的模型模拟,解析华为交换机的常用命令。
(1)华为交换机的三种视图切换
华为交换机的视图类型:
1.< Huawei >用户视图
2.[Huawei]系统视图
3.[Huawei-Ethernet0/0/1]接口视图
如何切换
1.
图示为通过system命令将用户视图转换为系统视图,< Huawei >到[Huawei]。
2.
图示为通过int e0/0/1命令将系统视图转化为接口视图,[Huawei]到[Huawei-Ethernet0/0/1]。
3.
图示为通过quit命令将视图进行逆转化,[Huawei-Ethernet0/0/1]到[Huawei]到< Huawei >。
也可以通过ruturn命令,之间从[Huawei-Ethernet0/0/1到< Huawei >。
(2)查看接口详细信息
1.通过命令dis int Ethernet0/0/1查看
在[Huawei]系统视图中,我们可以通过命令dis int Ethernet0/0/1查看接口详细信息。
图示为通过命令dis int Ethernet0/0/1查看接口详细信息,包括状态、mac地址等。
2.通过命令display this 查看
在[Huawei-Ethernet0/0/1]接口视图中,我们可以通过命令display this 查看。
(3)设置用console线连接时永不超时
图示为通过命令user-interface console 0和idle-timeout 0,设置用console线连接时永不超时。
(4)查看老化时间及老化时间取消
通过命令display mac-address aging-time可以查看MAC地址表老化时间。
通过命令mac-address aging-time 0可以取消老化时间。
(5)清除接口的配置
通过命令clear configuration interface 可以清除接口配置,但需要指定接口。
(6)更改设备名
图示为通过sysname命令,更改设备名。要注意的是,从用户视图< Huawei >到系统视图[Huawei]的缩写命令sys代表system,从系统视图[Huawei]改名[sw1]的缩写命令sys代表sysname,注意区分。
(7)显示交换机MAC地址
图示为通过命令display bridge mac-address显示交换机MAC的地址。
(8)查看MAC地址表
MAC地址表可以显示连接交换机的主机及其端口号。
图示为通过命令display mac-address来查看MAC地址表。
(9)查看及配置双工模式及速率
查看
通过命令duplex ?和speed?可以查看当前端口支持的双工模式和速率。
配置
首先通过命令undo negotiation auto关闭自协商功能,默认是自动协商,需先关闭之后可手动设置速率。然后通过命令duplex和speed在接口允许的范围内进行调节。
例如
图示为调节双工模式。调节速率同理,不做赘述。
(10)接口间快速转换
图示为在接口1中,通过命令int,从接口1快速转换至接口2中。
(11)保存
图示为,在我们设置完之后,通过命令quit/reutrn返回用户视图,再通过命令save进行保存操作。
并且我们可以通过reset saved-configuration来清除已保存的配置。
例
(12)重启
我们可以通过命令reboot来重启,但是未保存的当前配置会消失。
(13)undo
在我们想取消命令或者激活接口都可以使用命令undo