今日咱们。用。以太网。衔接两台。电脑。,然后用。示波器。解码。。一边做试验一边解说百兆以太网波形和帧结构,终究还会解说。以太网怎样从波形得到数据的整个解码进程。。
预备工作。
咱们需求预备一台电脑运转简略的UDP发送程序:
而且将这台电脑经过百兆以太网口接上另一台电脑,一起咱们用差分探头和夹具在网线中心勘探波形,调查波形是否能与程序中发的数据对应。
(连线图)。
黄色网线接DUT(运转udp_send.py的电脑),灰色网线接Link Partner(另一台电脑,可接收到udp数据)。
(udp_send.py代码截图)。
DUT。信息。:。
MAC地址:004C5F:18。
IP地址:192.168.2.123。
Link Partner信息:
MAC地址:0033D3:B9。
IP地址:192.168.2.100。
咱们提早了解过,网线中总共有4对差分线,100Base-TX只在其间2对差分线上单向发送。信号。的。DUT发往Link Partner的1对差分线线是夹具上的A,反方向的1对差分线是夹具上的B。当咱们探头按连线图这样接线时,测的波形仅仅从DUT电脑宣布的。
(以太网解码设置)。
咱们能够敞开百兆以太网解码,并按上图挑选100BASE-TX,还能够点击主动设置。
(以太网显现设置)。
在显现设置中,右侧的数据格式指的是关于解出数据成果怎样显现,假如要调查MAC地址主张选十六进制,假如要调查IP地址主张选无正负(整数),终究要比照4B5B成果时主张选二进制。解码层也很重要,尤其是后边比照波形和解码成果时,翻开后会在五颜六色解码成果下呈现额定的蓝色成果,咱们会在文章的后半部分对其具体解说。
以太网帧结构。
咱们能够先来大致看一下以太网解码成果。
电脑发送UDP数据后,主张示波器运用Normal触发,并点击Single,这样示波器在抓到以太网数据后就会暂停,便利调查。
(1 MAC结构)。
你能够看到缩放窗口中是完好的以太网数据,最初是前导码,后边淡蓝色是SFD,然后是方针MAC和源MAC,绿色是LenType,橙色是数据,数据后边是FCS也便是CRC,再然后深灰色是EOS,浅灰色是IDLE。
能够调查到方针MAC和源MAC的确与Link Partner和DUT的MAC地址是对应的。
咱们习气的MAC地址都是用16进制显现,所以显现页面中数据格式要挑选“十六进制”。
(2 IP结构)。
咱们再看一下橙色数据,Data13~16对应的是192.168.2.123也便是DUT的IP。
Data17~20对应的是192.168.2.100,也便是Link Partner的IP。
由于IP地址遍及习气用十进制数表明,因而显现页面中数据格式要挑选“无正负(整形)”。
(3载荷内容)。
再往后看到Data29~Data31,它们是0x31,0x32,0x33,也便是字符串“123”对应的ASCII码,这个字符串正好便是咱们电脑上。python。程序中发送的数据。到此为止,咱们就成功地用示波器解码出了电脑宣布的数据。
解码进程。
咱们以Data30这个数据的解码流程为例,叙述百兆以太网解码流程。
经过上面的试验,你大致了解了以太网帧的结构,但你有或许会问,示波器是怎样解出0x31,0x32,0x33这样的成果的?它们与。模仿。波形的联系是怎样的呢?咱们能否用肉眼从模仿波形中解出这个成果?
答案显然是必定的,下面咱们以Data30这个数据的解码流程为例,叙述百兆以太网解码流程。
咱们扩大Data30,它对应的载荷数据内容是0x32。但为了尽量挨近原始数据,主张显现中数据格式挑选为二进制,这样橙色成果中就会显现为0011 0010,它与咱们电脑发的十六进制数0x32是对应的。接下来咱们一步步演示怎样从模仿波形解出这个橙色成果。
✦ 先把解码层挑选为边缘。
(4解码层边缘)。
从上图能够看到,现在蓝色的解码层成果是与模仿波形电平对应的,高电平对应1,0V邻近对应0,低电平对应-1,这便是一般咱们了解的三电平波形。
然后,咱们把解码层改为二进制。
(5解码层二进制)。
这时候尽管原始波形和终究数据没变,但蓝色解码层成果有改变,现在变成了模仿波形无跳变时对应0,按相似正弦波的规则跳变时对应1,这契合MLT-3。
最终,咱们把解码层改为解扰。
(6解码层解扰)。
这时候,蓝色解码层成果又变了,它是把之前的二进制数据做了解扰运算后的成果(与解扰码10010 00100求异或),咱们调查到橙色波形Data30下的蓝色部分,总共对应了10个数据,10100 10101。假如咱们查询4B5B对应联系,这两个5B成果对应的应该是0010和0011,然后再把这两组4B数据交流,就能得0011和0010,也便是Data30的橙色部分。
(4B5B对应表)。
你或许会问,咱们是怎样知道这时候要用10010 00100作为解扰码的?
(用来生成解扰码的移位。寄存器。)。
答:解扰码是运用11位的线性反应移位寄存器(LFSR)来生成2047位长的伪随机数[2],这串数据是固定的,因而事前已知。但咱们事前无法知道的是从解扰码的哪个方位起作为最初与波形的二进制数据最初来做异或运算。咱们只能前后滑动解扰码,直到能解出契合咱们预期的成果后才知道正确的偏移方位。这个前后滑动的测验,或许会高达8000次。
(帧结构和开端完毕符号示意图)。
上图上半部分与咱们在示波器界面上看到的MAC帧结构共同,下半部分是经过正确解扰后的成果,在Preamble刚呈现时对应的2个符号应该是J(11000)和K(10001)。上图中未画出的IDLE部分应该在Preamble之前和FCS之后,对应的符号是11111。
也便是说假如你前后滑动解扰码,并做异或运算,直到得到了11111 11000 10001,那么你就找出了正确的解扰码开端方位[1],一起也找出了MAC帧从哪里开端(从J开端)。
你或许还会问为什么做了4B5B对应后,还要按下图的方法把接连两个4B交流?
(Nibble交流)。
(MII。接口。和PHY。芯片。)。
这是由于MII接口传输的半字节(Nibble)流和PHY芯片内的串行比特流的次序对应联系导致的。
罗德与施瓦茨事务包括。测验丈量。、技能体系、。网络。与网络安全,致力于打造一个愈加安全、互联的国际。建立90 年来,罗德与施瓦茨作为全球。科技。集团,经过开展尖端技能,不断打破技能边界。公司。抢先的。产品。和解决方案赋能很多职业客户,助其取得数字技能领导力。罗德与施瓦茨总部坐落德国慕尼黑,作为一家私有企业,公司在全球范围内独立、长时间、可继续地开展事务。
内容来源:https://fastrans.nhobethoi.com/app-1/tỷ lệ kèo 365,http://chatbotjud-teste.saude.mg.gov.br/app-1/aposta-morte-do-pele
顶: 5踩: 67