学习笔记——网络参考模型——TCP/IP模型(数据链路层)

二、TCP/IP模型-数据链路层

1、以太网协议介绍

不同的协议栈用于定义和管理不同网络的数据转发规则。

一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网组网技术。

如果用的是以太网协议,就会有MAC地址,其他协议不会有MAC地址。

(1)以太网协议

以太网是当今现有局域网(Local Area Network,LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。

以太网是建立在CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。

早期的以太网∶以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。

交换机组网∶交换机做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能,并替代HUB成为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。

路由器分割广播域,交换机分割冲突域。

(2)发展史及标准

20世纪70年代,由Xerox公司联合Intel和DEC公司开发出以太网

1973年,传输速率3Mb/s(实验室)

1980年,传输速率10Mb/s

1990年,出现双绞线介质的以太网

1992年,传输速率100Mb/s

1998年,传输速率1000Mb/s

2010年,IEEE发布40G/100G标准

2013年,400G的以太网标准工作正式启动!

(3)以太网报文格式

MAC地址:表示的是一个物理设备,也称之为“物理地址”不可以随意修改

任何一个上网的节点,也必须拥有一个IP地址,该地址在一个网段内是唯一的

IP地址:称之为一个上网设备的“逻辑地址”,是可以随意修改的。

IP地址相当于人的名字,MAC地址相当于人的家庭住址。

如果想要设备之间实现互通,则必须同是知道目标设备的IP址和MAC地址。

以太帧的格式有两个标准Ethernet_II格式和IEEE 802.3格式,因此协议规定以太网帧的数据格式

以太网技术所使用的帧称为以太网帧(Ethernet Frame)简称以太帧。

在以太网中,数据通信的基本单位是以太网帧(Frame)。

如图所示。

Ethernet Ⅱ以太帧∶

D.MAC∶6字节,目的MAC地址,6字节,该字段标识帧的接收者。

S.MAC∶6字节,源MAC地址,6字节,该字段标识帧的发送者。

Type∶2字节,协议类型。常见值∶(用于标识上层协议的类型)

0x0800: Internet Protocol Version 4 (IPv4);

0x0806: Address Resolution Protocol (ARP)

FCS帧校验序列。通过CRC算法循环冗余校验。数据发送前要进行计算

Length/Type>=1536(0x0600)      Ethernet_II 用于区分是802.3的帧还是E2的帧

(4)IEEE 802.3帧格式

IEEE802.3帧长度字段值小于等于1500(0x05DC)

逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。

DSAP∶1字节,目的服务访问点,若后面类型为IP值设为0x06。服务访问点的功能类似于Ethernet II帧中的Type字段或TCP/UDP传输协议中的端口号。

SSAP∶1字节,源服务访问点,若后面类型为IP值设为0x06。

Control∶1字节,该字段值通常设为0x03(保留字段),表示无连接服务的IEEE 802.2无编号数据格式。

SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成(子网络服务接入点,私有化的,使用公有化协议,这个字段不会显示)。

Org Code:机构标识。三个字节都为0。

Type:类型。字段的含义与EthernetII帧中的Type字段相同。

Length/Type <= 1500 (0x05DC)   IEEE 802.3 用于区分是802.3的帧还是E2的帧

(5)问题

Ethernet_II格式和IEEE 802.3区别

1、长度区别:Ethernet_II数据长度为18字节。IEEE 802.3数据长度为21-26字节

2、data数据长度区别:Ethernet_IIdata      IEEE 802.3 data长度 38-1492B

数据帧的总长度为64-1518字节,这样设计的原因是什么?(另外,以太网口的最大传输单元是1500字节,即MTU=1500B。)

以太网中,最小帧长为64字节,这是由最大传输距离和CSMA/CD机制共同决定的。

规定最小帧长是为了避免这种情况发生∶ A站点已经将一个数据包的最后一个Bit发送完毕,但这个报文的第一个Bit还没有传送到距离很远的B站点。B站点认为线路空闲继续发送数据,导致冲突。

高层协议必须保证Data域至少包含46字节,这样加上以太网帧头14字节和帧尾4字节校验码正好满足64字节的最小帧长,如果实际数据不足46个字节,高层协议必须填充一些数据单元。

而出于对传输效率和传输可靠性的折中考虑,使得以太网帧的最大长度为1518字节,对应IP数据包就是1500字节。

较大的帧长度,数据的有效传输效率会更高;但是数据帧过长,传输时会占用共享链路过多的时间,对时延敏感应用造成极大的影响。

因此最终选择了一个折中的长度∶1518字节的数据帧长,对应1500字节的IP数据包长度,这就是最大传输单元MTU的由来。

(6)以太网卡

网络接口卡(Network Interface Card,NIC)也称为"网卡",是计算机、交换机、路由器等网络设备与外部网络世界相连的关键部件。

网卡有很多类型,本章节我们提及的都指以太网接口卡简称以太网卡或以太卡。

我们所说的交换机也均为以太网交换机,则交换机上每个转发数据的网口所使用的网卡都是以太网卡。

2、MAC地址

(1)简介

MAC(Media Access Control)地址:在网络中唯一标识个网卡,每个网卡都需要并拥有唯一的一个MAC地址。网卡的MAC地址是具有全球唯一性的。

MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的以太网卡,都必须拥有一个MAC地址,用MAC地址来定义网络设备的位置。不同的网卡,MAC地址也不同。

(2)IP地址 vs MAC地址

每个以太网设备在出厂时都有一个唯一的MAC地址,那为什么还需要为每台主机再分配一个IP地址呢?或者说每台主机都分配唯一的IP地址了,为什么还要在网络设备(如∶网卡)生产时内嵌一个唯一的MAC地址呢?

主要原因有∶

IP地址是唯一的。IP地址是基于网络的拓朴结构分配的,IP地址可变。

MAC地址是唯一的。MAC地址是根据制造商分配的,MAC地址不可变。

若路由选择建立在设备制造商的基础上,这种方案是不可行的。

当存在两层地址寻址时,设备更灵活,易于移动和维修。

如果一个以太网卡坏了,可以被更换,而无须更换一个新的IP地址;如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。

MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行同网段的数据访问。

3、MAC地址表示

一个MAC地址有48 bit(比特),6 Byte(字节)长,12位的16进制数字组成。MAC地址通常采用"十六进制"+"."表示。

二进制和十六进制 1个16进制数可以用4位二进制数来表示,1:4关系。

16进制-->1位最大代表15      2进制 -->4位最大代表15

二进制 [逢2进1]  8   4   2   1

十进制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

二进制

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

十六进制

A

B

C

D

E

F

mac地址:50-2B-73-CC-41-1E

5

0

2

B

7

3

C

C

4

1

1

E

0101

0000

0010

1011

0111

0011

1100

1100

0100

0001

0001

1110

4、MAC地址构成

一个制造商在生产制造网卡之前,必须先向IEEE注册,以获取一个长度为24bit(3字节)的厂商代码也称为OUI(Organizationally Unique ldentifier)

后24bit由厂商自行分派,是各个厂商制造的所有网卡的唯一编号。

MAC地址∶代表一个网络接口的物理地址,全球唯一

MAC地址由两部分组成:供应商代码序列号。其中前24位代表100该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。

5、MAC地址分类

(1)单播(Unicast)

通信形式上是点对点单对单的通信。类似QQ私聊。

单播MAC地址(物理MAC地址)∶这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址

从高位向低位(从左往右)第8bit为0(如xxxx-xxx0-xxxx-xxxx-xxxx-xxxx)且一定为0其他任意。

数据封装时,E2/802.3的源MAC和目的MAC都是单播MAC,则为单播通信。

单播MAC地址用于标识链路上的一个单一节点。单播MAC地址可以作为源或目的地址。

目的MAC地址为单播MAC地址的帧发往一个单一的节点。

注意∶单播MAC地址具有全球唯一性当一个二层网络中接入了两台具有相同MAC地址的终端时(例如误操作等),将会引发通信故障(例如这两台终端无法相互通信),且其他设备与它们之间的通信也会存在问题。

(2)组播(Multicast)

通信形式上-点对多点单对多的通信,类似QQ群聊。

组播MAC地址∶用来代表局域网(LAN)上的一组终端。

从高位向低位(从左往右)第8bit为1,且一定为1,(例如xxxx-xxx1-xxxx-xxxx-xxxx-xxxx)

数据封装时,因为组播代表的是一组的集合,面向的一组的通信,此时该地址不能成为数据的源地址,仅可以充当数据的目的地址。

组播通信的特点:通信前,每个设备要自己进行加组,如果没有加入进该组[没有加进该组播]则数据即便接收也无法处理,如果此时已经提前加组,则该数据可以进行处理。

组播MAC地址用于标识链路上的一组节点

目的MAC地址为组播MAC地址的帧发往一组节点。

组播MAC地址不能作为源地址,只能作为目的地址

Broadcast发送给一组目标,MAC地址是01-00-5E开头(第8位bit=1),IP地址=D类组播地址

(3)广播(Broadcast)

通信形式上-点对所有单对所有的通信,类似QQ广告/新闻联播。广而播之 /强制性接收处理

广播MAC地址∶用来表示局域网上的所有终端设备。

从高位向低位(从左往右),48位全为1的MAC地址(FF-FF-FF-FF-FF-FF)。

数据封装时,因为广播代表的是所有人的集合,面向所有人的通信,此时该地址不能成为数据的源地址,仅可以充当数据的目的地址。

广播MAC地址可以理解为一种特殊的组播MAC地址。其具体格式为∶FFFF-FFFF-FFFF。

目的MAC地址为广播MAC地址的帧发往链路上的所有节点。

广播通信的特点:此时不需要设备提前加组,该通信是强制性的行为,网络中每一个可以接收到该数据的设备, 此时必须要进行下一步的处理。

Broadcast发送给所属广播域内的所有目标,MAC地址是FFFFFFFFFFFF ,IP地址=广播地址

6、数据帧传输

数据链路层基于MAC地址进行帧的传输。

1.当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。

2.帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。

3.主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。

4.如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。

5.如果帧的FCS值与本机计算的值不同,主机会认为帧已被破坏,并会丢弃该帧。

6.如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。

7.本例中,Type字段的值为0x0800,表明该帧需要发送到IP协议上处理。在发送给IP协议之前,帧的头部和尾部会被剥掉。

a场景:

单播数据抵达接收端接口以后,接收者的动作:

1、首先看目的MAC,是否是自己的mac,如果不是丢弃,如果是,则进行下一步;

2、将数据也进行CRC检验,比对FCS字段,如果不同则丢弃,如果相同,则进行下一步;

3、查看type字段,交由type字段标识的上层协议处理。数据链路层工作,结束。

b场景:

组播数据抵达接收端接口以后,接收者的动作:

1、首先看目的MAC,查看自己本地是否加组,如果没加组丢弃,如果加组,则进行下一步;

2、将数据也进行CRC检验,比对FCS字段,如果不同则丢弃,如果相同,则进行下一步;

3、查看type字段,交由type字段标识的上层协议处理。数据链路层工作,结束。

c场景:

广播数据抵达接收端接口以后,接收者的动作:

1、首先看目的MAC,如果是广播,则直接进行下一步;

2、将数据也进行CRC检验,比对FCS字段,如果不同则丢弃,如果相同,则进行下一步;

3、查看type字段,交由type字段标识的上层协议处理。数据链路层工作,结束。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵韵设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值