00000020.htm

来自「水木社区 embeded 版精华区 下载」· HTM 代码 · 共 79 行

HTM
79
字号
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>单片机与TCP/IP网络(二)               jacobw </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人:&nbsp;turbolinux&nbsp;(hoho~神啊,救救我吧...),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;单片机与TCP/IP网络(二)&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Fri&nbsp;Jul&nbsp;13&nbsp;00:30:12&nbsp;2001)&nbsp;<br />&nbsp;<br />单片机与TCP/IP网络&nbsp;<br />--版主&nbsp;老古&nbsp;&nbsp;<br />&nbsp;<br />(二)以太网协议&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;以太网协议(用于10MBPS的以太网,作者以下所说的以太网均指10M以太网,&nbsp;<br />而不是100M,1000M的以太网)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;以太网协议有两种,一种是IEEE802.2/IEEE802.3,还有一种是以太网的封装&nbsp;<br />格式。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;现代的操作系统均能同时支持这两种类型的协议格式。因此对我们来说只需要&nbsp;<br />了解其中的一种就够了,特别是对单片机来说,不可能支持太多的协议格式。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;以太网的物理传输帧:(仅介绍第二种格式)&nbsp;<br />&nbsp;<br />&nbsp;<br />j&nbsp;<br />PR&nbsp;&nbsp;&nbsp;&nbsp;SD&nbsp;&nbsp;&nbsp;&nbsp;DA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;&nbsp;&nbsp;DATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FCS&nbsp;&nbsp;<br />56位&nbsp;&nbsp;8位&nbsp;&nbsp;&nbsp;48位&nbsp;&nbsp;&nbsp;48位&nbsp;&nbsp;&nbsp;16位&nbsp;&nbsp;&nbsp;不超过1500字节&nbsp;可选&nbsp;&nbsp;&nbsp;&nbsp;32位&nbsp;&nbsp;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;PR:同步位,用于收发双方的时钟同步,同时也指明了传输的速率(10M和&nbsp;<br />100M的时钟频率不一样,所以100M网卡可以兼容10M网卡),是56位的二进制数&nbsp;<br />101010101010.....&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SD:&nbsp;分隔位,表示下面跟着的是真正的数据,而不是同步时钟,为8位的&nbsp;<br />10101011,跟同步位不同的是最后2位是11而不是10.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;DA:目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给哪个&nbsp;<br />网卡.如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到&nbsp;<br />.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SA:源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样&nbsp;<br />是6个字节.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;TYPE:类型字段,表明该帧的数据是什么类型的数据,不同的协议的类型字段&nbsp;<br />不同。如:0800H&nbsp;表示数据为IP包,0806H&nbsp;表示数据为ARP包,814CH是SNMP包,&nbsp;<br />8137H为IPX/SPX包,(小于0600H的值是用于IEEE802的,表示数据包的长度。)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;DATA:数据段&nbsp;,该段数据不能超过1500字节。因为以太网规定整个传输包的&nbsp;<br />最大长度不能超过1514字节。(14字节为DA,SA,TYPE)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;PAD:填充位。由于以太网帧传输的数据包最小不能小于60字节,&nbsp;除去(DA,&nbsp;<br />SA,TYPE&nbsp;14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,&nbsp;<br />后面补000000.....(当然也可以补其它值)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;FCS:32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自&nbsp;<br />动校验,自动在数据段后面填入.对于数据的校验算法,我们无需了解.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;事实上,PR,SD,PAD,FCS这几个数据段我们不用理它&nbsp;,它是由网卡自动产生的,&nbsp;<br />我们要理的是DA,SA,TYPE,DATA四个段的内容.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;所有数据位的传输由低位开始(但传输的位流是用曼彻斯特编码的)&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;以太网的冲突退避算法就不介绍了,它是由硬件自动执行的.&nbsp;<br />DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用&nbsp;<br />不上),一个是它自已的地址.但网卡也可以设置为接收任何数据包(用于网络分析和&nbsp;<br />监控).&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构&nbsp;<br />分配.不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的.根据&nbsp;<br />网卡的地址段(网卡地址的前三个字节),可以知道网卡的生产厂家.有些网卡的地址&nbsp;<br />也可以由用户去设定,但一般不需要.&nbsp;&nbsp;<br />&nbsp;<br />(未完)&nbsp;<br />&nbsp;<br />--&nbsp;<br />&nbsp;<br />※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.174.125]&nbsp;<br /><a href="00000019.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000021.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?