网络传输数据时遵循------IEEE 802.3标准来管理和控制数据帧的。
IEEE 802.3 :有线以太网的物理层和数据链路层的介质访问控制(MAC)-------------medium access control : 局域网中共用信道的使用产生竞争时如何分配信道的使用权。
目标:
-
分层模型的作用
-
以太网中数据帧的结构
-
MAC地址作用
-
以太网中数据转发的过程
网络通信协议:
-
分层模型-OSI
-
应用层
-
表示层----------------------
-
会话层----------------------识别
-
传输层----------------------端到端的链接,
-
网络层----------------------IP寻址和路由选择
-
数据链路层-----------------控制网络
-
物理层----------------------比特流传输 转换位
-
eg:QQ A发给B
-
TCP/IP模型----实际应用时所用到的模型
-
应用层---------------------通过各种协议向终端用户提供业务应用
-
传输层---------------------端到端的可靠传输
-
网络层---------------------解决网络之间的逻辑转发问题
-
网络接口层----------------
-
在TCP/IP协议下,数据的封装:
应用数据----TCP\IP-----目的地
* 协议数据单元(PDU)Protocol Data Unit
* 经过传输层,加入了TCP的报头,变为数据段Segment
* 在网络层添加IP报头得到的PDU叫数据包Packet
* 在数据链路层被称为数据帧Frame
* 最后转换为比特
以上从上往下传输数据成为封装,从下到上是解封装
-
终端之间的通信
帧-----Header(报头)+Data(数据)+Traile(帧检验---是否完整)
帧格式
-
Ethernet_II (Length/Type 大于等于1536时) 大部分以太网中的数据帧都是II
-
组成部分
-
(目标)D.MAC地址+ ----------Destination Mac
-
-------------6个字节,标识帧接收者
-
-
(源)S.MAC地址+ ------------Source Mac
-
-----------------6个字节。 标识帧的发送者
-
-
Type+ ------------------------
-
标识数据字节段中包含最高de协议,2字节
-
取值
-
0x0800-----2048的帧代表IP协议帧
-
IP协议(网络层):不可靠的协议
-
-
0x0806-----2054的帧代表ARP协议帧
-
ARP协议(数据链路层):查询MAC地址,每个网卡只有一个MAC地址
-
-
-
-
Data+ (网络层数据) 64个字节 最大长度1500字节
-
Fcs 帧校验---是否完整 4个字节
-
-
-
-
IEEE802.3 (Length/Type 小于等于1500时)
-
组成部分
-
(目标)D.MAC地址+ ----------Destination Mac
-
-------------6个字节,标识帧接收者
-
-
(源)S.MAC地址+ ------------Source Mac
-
-----------------6个字节。 标识帧的发送者
-
-
Length+ -------------2字节
-
LLC(Logical Link Control)
-
SNAP(Sub-network Access Protocol)
-
-
-
以太帧包括源和MAC地址,别代表发送者的MAC和接收者的MAC,此外还有校验序列字段,用于检验传输过程中帧的完整。封装完成后通过物理层转换为比特流在物理介质上传输。
-
以太网通过MAC地址标识唯一网络设备,并实现局域网下网络设备之间的通信。
MAC地址----------48比特
-
组成
-
OUI (Organizationally unique identifier)供应商代码(由IEEE管理分配)----24bits
-
序列号(由厂家提供) ----24bits
-
局域网上帧发送的方式
-
单播-----MAC地址中OUI第一字节第8个比特()为0,则证明是单播帧
-
冲突域中,所有主机都能够收到源主机发送的单播帧,但发现其目的地址与本地MAC地址不一样后丢弃收到帧,只有目标主机才会收到并处理。
-
-
广播-----目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,
-
组播-----选择性广播 MAC地址中第一个字节第八个比特为1时,证明时组播帧
-
使用情况:需要网络上的一组主机需要接受相同的信息,其他主机不受影响的情况下
-
数据帧的发送和接受过程
帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机,主机检查帧的报头中目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听到的广播或组播MAC地址,则丢弃
如果目的MAC地址时本机MAC地址,则接受该帧,检查帧校验序列FCS字段,并与本计算机的值对比来确认是否完整,如果FCS值与本机计算的值不同,主机会认为此帧被破坏,丢弃;如果通过FCS校验,则主机会根据帧头部中的Type字段来确认将帧发送给上次哪个协议处理,如果是0X0800,则发送给IP协议处理,如果是0X0806则发送给ARP协议处理。(发送给协议之前,帧的头部尾部会被处理)
总结
到了区别是单播的时候,我查了好久,IEEE每个版本的规定不一样,而且华为上的学习资料也没有细分OUI里的结构,第一字节的第八比特位我数了半天,第一字节是从高位数还是低位数,第八比特位是低位数还是高位数?晕!
参考:MAC地址格式详解 - lsgxeva - 博客园 (cnblogs.com)
-
网络设备如何确定以太网数据帧的上层协议?
-
如果通过FCS校验,则主机会根据帧头部中的Type字段来确认将帧发送给上次哪个协议处理,如果是0X0800,则发送给IP协议处理,如果是0X0806则发送给ARP协议处理。(发送给协议之前,帧的头部尾部会被处理)
-
-
终端设备接收到数据帧时,会如何处理
-
主机检查帧的报头中目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听到的广播或组播MAC地址,则丢弃; 如果目的MAC地址时本机MAC地址,则接受该帧,检查帧校验序列FCS字段,并与本计算机的值对比来确认是否完整,如果FCS值与本机计算的值不同,主机会认为此帧被破坏,丢弃;如果通过FCS校验,则主机会根据帧头部中的Type字段来确认将帧发送给上次哪个协议处理,如果是0X0800,则发送给IP协议处理,如果是0X0806则发送给ARP协议处理。(发送给协议之前,帧的头部尾部会被处理)
-