`
happmaoo
  • 浏览: 4350790 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

浅谈网络线片

 
阅读更多
互联网时代,人类的生活越来越离不开网络,从娱乐,工作,到生活服务等相关领域,无时无刻不需要数据与信息的传输。而网卡在这其中,一直扮演着重要的角色,无线网卡,独立网卡等等。

<wbr><wbr></wbr></wbr>

<wbr><wbr></wbr></wbr>

<wbr><wbr><p align="center">现如今,当你在餐厅点餐时,会发现服务员手中的PDA,正是通过无线网络传输着你order的信息;你在办公室的拐角处,发现公司早已将旧有的办公设备进行了更新,多功能的网络智能打印机。而这些设备中,都含有网络芯片,负责工作过程中数据的传输,它需要将数据转化为电信号发送出去,并将网线上的电信号解析成数据接收过来。从TCP/IP的协议分层的结构上看,网卡至少完成物理层的功能。而有的网络芯片,已经将物理层,数据链路层,网络层,传输层功能都包含在内。网卡可以起到过滤作用,只接受广播帧/组播帧或专门发往本机物理地址的数据帧,对本网络上的其余帧不予理会。</p> <p align="center"><wbr></wbr></p> <wbr><p><wbr></wbr></p> <wbr><p align="center">对于使用网卡的开发者来说,对网卡的物理结构,硬件检测机制和冲突退避</p> <p align="center">算法不需深究,主要要了解下相应的物理传输帧结构。根据组建的网络类型不同</p> <p align="center">(如以太网,令牌环网等)和使用的底层网络协议不同,帧结构也不相同。就常</p> <p align="center">用的以太网来说,也有Ethernet_II,IEEE 802.3,IEEE 802.2等协议。我们以IEEE</p> <p align="center">802.3数据帧来分析数据链路层和网卡的工作内容。</p> <p align="center"><wbr></wbr></p> <wbr><p><wbr></wbr></p> <wbr><p align="center"><wbr></wbr></p> <wbr><p><wbr></wbr></p> <wbr><p align="center">IEEE 802.3是电气和电子工程师协会(IEEE)制定的一种描述物理层和数据</p> <p align="center">链路层的实现方法的网络协议,主题是在多种物理媒体上以多种速率采用</p> <p align="center">CSMA/CD访问方式。其规定的帧结构如下:</p> <p align="center"><wbr>以太网(802.3)帧结构</wbr></p> <wbr><p><wbr></wbr></p> <wbr><p align="center">PR SD DASA LENGTH/TYPEDATA PAD FCS</p> <p align="center">56位 8位 48位 48位 16位 n ≤1500(字节)可选 32位</p> <p align="center"><wbr>以太网(802.3)帧结构</wbr></p> <wbr><p><wbr></wbr></p> <wbr><p align="center">FR(前导码):包括了7个字节的二进制“1”、“0”间隔的代码,即1010…10</p> <p align="center">共56位。当帧在链路上传输时,接收方就能建立起同步,因为这种“1”、“0”间</p> <p align="center">隔的传输波形为一个周期性方波。同时也指明了传输的速率(10M和100M的方</p> <p align="center">波频率不一样,所以100M网卡可以兼容10M网卡)。</p> <p align="center">SD(帧数据定界符):它是长度为1个字节的10101011二进制序列,此码</p> <p align="center">表示表示下面跟着的是真正的数据。</p> <p align="center">DA(目的地址):目的以太网的物理地址,由48位二进制组成(6个字节),</p> <p align="center">说明该帧传输给哪个网卡。如果地址为FFFFFFFFFFFF(广播地址),则该网络</p> <p align="center">上的所有网卡都能接收到本帧数据。这个地址和下面的SA就是我们常说的网卡</p> <p align="center">的MAC地址。具体信息我们待会介绍。</p> <p align="center">SA(源地址):48位,说明该帧的数据是哪个网卡发的,即发送端的网卡物</p> <p align="center">理地址(MAC)。</p> <p align="center">LENGTH/TYPE(长度/数据类型):指示后面的数据属于什么类型。如0800H</p> <p align="center">表示数据为IP包,0806H 表示数据为ARP包。这样,交给网络层后就可以由相</p> <p align="center">应的协议对后面的数据解析。如果这个字段小于0600H的值,则表示数据包的</p> <p align="center">长度,在单片机的网络编程中不考虑这种用法。</p> <p align="center">DATA(数据段):由网络层负责发送和解析的数据,因为以太网帧传输的数</p> <p align="center">据包最小不能小于64字节,最大不能超过1518字节。除去14字节为DA、SA、</p> <p align="center">TYPE以及4字节的FCS,DATA不能超过1500字节。如果不够46(64-18)</p> <p align="center">字节,余下的由PAD填充。</p> <p align="center">PAD(填充位):当DATA的数据不足46字节时,缺少的字节需要补上(可</p> <p align="center">补任意值)。</p> <p align="center">FCS(帧校验序列):由32位(4字节)循环冗余校检码(CRC)组成,其</p> <p align="center">校验范围不包括前导码FR及帧数据定界符SD。此序列由发送端网卡自动生成,</p> <p align="center">自动填充到帧的最后。一般情况下,接收端网卡对收到的数据校验后也不会将</p> <p align="center">FCS放到数据中上报。</p> <p align="center">由于网卡的自动管理,并且前导码FR和帧数据定界符SD的值是固定的,</p> <p align="center">也由网卡自动生成和插入。所以,网络层向网卡发送的数据或者网络层接收到的</p> <p align="center">数据一般是由DA、SA、TYPE和DATA组成(DATA不足46字节需要用PAD</p> <p align="center">补齐)。如表二。假如网络层的一个IP包要发送出去,首先要填充接收网卡的地</p> <p align="center">址和本网卡的地址(MAC地址),同时将TYPE填充成0800H,紧跟着就是发送</p> <p align="center">的数据。网卡获取到这些数据后会组成物理传输帧发送出去。</p> <p align="center">表3-2 <wbr>网络层管理的帧结构</wbr></p> <wbr><p><wbr></wbr></p> <wbr><p align="center">DA SA TYPE DATA PAD</p> <p align="center">48位 48位 16位 n ≤1500(字节) 可选</p> <p align="center">由以太网的帧结构知道,在数据链路层就需要使用MAC地址(即物理地</p> <p align="center">址)进行通讯,MAC地址是数据的第一道关卡,由硬件自动识别来接收。因此,</p> <p align="center">MAC地址就像是是网络设备的“身份证”一样,需要具有全球唯一性。我们在</p> <p align="center">实验室里做测试,可以修改MAC地址,但也应该保证本地网络里MAC的唯一</p> <p align="center">性。</p> <p align="center">以太网的MAC地址由48bit (6字节)组成,如08:02:10:3A:85:23就是一个</p> <p align="center">MAC地址。前24位(08:02:10)是由生产网卡的厂商向IEEE申请的厂商地址,</p> <p align="center">后24位(3A:85:23)是由厂家自己分配。每个厂商必须确保它所制造的每个以</p> <p align="center">太网设备都具有相同的前三个字节以及不同的后三个字节,这样就可保证世界上</p> <p align="center">每个以太网设备都具有唯一的MAC地址。网卡的MAC地址通常是由生产厂家</p> <p align="center">烧入网卡的EPROM中(NE2000系列网卡常用93C46,在网卡上可以找到)。</p> <p align="center">MAC地址又可以分成3类:</p> <p align="center">(1)广播地址:只能用作目的地址。如果一个以太网帧的目的地址是广播</p> <p align="center"></p> <p align="center">地址,则网络中的所有设备都能接收和处理该帧。广播地址的每一位都是1,即:</p> <p align="center">FF:FF:FF:FF:FF:FF。</p> <p align="center">(2)组播地址:也只能用作目的地址。如果一个帧的目的地址是组播地址,</p> <p align="center">那么网络中预先定义的一组设备都能接收并处理该设备。以太网网MAC的最高</p> <p align="center">有效字节的最低位为1表示以太网帧是组播帧。如01:03:52:3A:85:23就是组播</p> <p align="center">地址。101的最低位为1。</p> <p align="center">(3)单机地址:除了广播和组播的地址就是单机地址,非广播和组播数据</p> <p align="center">包就要与这个地址匹配了才能被接收和处理。</p> <p align="center"><wbr></wbr></p> <wbr><p><wbr><span style="font-size:16px"><wbr><wbr><wbr><wbr><wbr>如果大家还有任何疑问,可以给我们留言,</wbr></wbr></wbr></wbr></wbr></span><span style="font-family:楷体_GB2312; font-size:16px">或致电联系TEL: ( 86)-010-84539974转分机166,E-mail:wiznetbj@wiznettechnology.com</span></wbr></p> <p></p> <p></p> </wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics