前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据帧的学习整理

数据帧的学习整理

作者头像
全栈程序员站长
发布2022-09-20 14:42:59
2.7K0
发布2022-09-20 14:42:59
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

事先声明,本文档所有内容均在本人的学习和理解上整理,不具有权威性,甚至不具有准确性,本人也会在以后的学习中对不合理之处进行修改。

在了解数据帧之前,我们得先知道OSI参考模型

数据帧的学习整理
数据帧的学习整理

咱们从下往上数,数据帧在第二层数据链路层处理。我们知道,用户发送的数据从应用层开始,从上往下逐层封装,到达数据链路层就被封装成数据帧。接下来,帧格式

Ethernet_II帧格式

数据帧的学习整理
数据帧的学习整理

D.MAC:Destination Mac,顾名思义,目的mac地址,该字段长6字节,存放接收方的mac地址。

S.MAC:Source MAC,源mac地址,该字段长6字节,存放发送方mac地址。

Type:类型字段。用来标识上一层(网络层)的协议。字段值为0x0800表示上层协议为IP协议,字段值为0x0806表示上层协议是ARP协议。该字段长2字节。

Data:该字段是来自网络层的数据,在整理数据包时会提到。该字段最少为46字节,最大1500字节。

FCS:循环冗余校验字段,用来对数据进行校验,如果校验结果不正确,则将数据丢弃。该字段长4字节。

IEEE802.3帧格式

数据帧的学习整理
数据帧的学习整理

Length:长度字段,定义Data字段的大小。

LLC:Login Link Control 逻辑链路控制协议,它里面包含三个字段

  ①D.SAP/S.SAP  Destination/Source Service Access Point 目的/源服务访问点。SAP提供多个高层协议进程共用一个LLC层实体进行通信的机制。字段值不同代表不同帧类型

  ②Control  控制字段,定义LLC帧的类型:信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)

SNAP:Sub-network Access Protocol 子网访问协议。其中的Org Code字段设置为0,Type字段即封装上层网络协议,同Ethernet_II帧。

数据帧在网络中传输主要依据其帧头的目的mac地址。当数据帧封装完成后从本机物理端口发出,同一冲突域中的所有PC机都会收到该帧,PC机在接受到帧后会对该帧做处理,查看目的MAC字段,如果不是自己的地址则对该帧做丢弃处理。如果目的MAC地址与自己相匹配,则先对FCS进行校验,如果校验结果不正确则丢弃该帧。校验通过后会产看帧中的type字段,根据type字段值将数据传给上层对应的协议处理,并剥离帧头和帧尾(FCS)。

MAC地址

  MAC地址是唯一标识一台设备的序列号,和人的身份证类似,具有唯一性和标识性。一个MAC地址由48个比特位,一般按16进制表示。一般主机发送数据帧有三种方式:单播、组播、广播。三种发送方式的帧的D.MAC字段有些区别。单播时,MAC地址的第一个字节的第8个比特位为0;组播时,第一个字节的第8个比特位为1;广播时,48个比特位全为1,即表示为FF-FF-FF-FF-FF。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167233.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档