Embedded 版 (精华区)
发信人: he (无情的雨), 信区: Embedded_system
标 题: 单片机与TCP/IP网络(二)
发信站: 哈工大紫丁香 (2001年07月16日09:23:51 星期一), 站内信件
单片机与TCP/IP网络
--版主 老古
(二)以太网协议
以太网协议(用于10MBPS的以太网,作者以下所说的以太网均指10M以太网,
而不是100M,1000M的以太网)
以太网协议有两种,一种是IEEE802.2/IEEE802.3,还有一种是以太网的封装
格式。
现代的操作系统均能同时支持这两种类型的协议格式。因此对我们来说只需要
了解其中的一种就够了,特别是对单片机来说,不可能支持太多的协议格式。
以太网的物理传输帧:(仅介绍第二种格式)
j
PR SD DA SA TYPE DATA PAD FCS
56位 8位 48位 48位 16位 不超过1500字节 可选 32位
PR:同步位,用于收发双方的时钟同步,同时也指明了传输的速率(10M和
100M的时钟频率不一样,所以100M网卡可以兼容10M网卡),是56位的二进制数
101010101010.....
SD: 分隔位,表示下面跟着的是真正的数据,而不是同步时钟,为8位的
10101011,跟同步位不同的是最后2位是11而不是10.
DA:目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给哪个
网卡.如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到
.
SA:源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样
是6个字节.
TYPE:类型字段,表明该帧的数据是什么类型的数据,不同的协议的类型字段
不同。如:0800H 表示数据为IP包,0806H 表示数据为ARP包,814CH是SNMP包,
8137H为IPX/SPX包,(小于0600H的值是用于IEEE802的,表示数据包的长度。)
DATA:数据段 ,该段数据不能超过1500字节。因为以太网规定整个传输包的
最大长度不能超过1514字节。(14字节为DA,SA,TYPE)
PAD:填充位。由于以太网帧传输的数据包最小不能小于60字节, 除去(DA,
SA,TYPE 14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,
后面补000000.....(当然也可以补其它值)
FCS:32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自
动校验,自动在数据段后面填入.对于数据的校验算法,我们无需了解.
事实上,PR,SD,PAD,FCS这几个数据段我们不用理它 ,它是由网卡自动产生的,
我们要理的是DA,SA,TYPE,DATA四个段的内容.
所有数据位的传输由低位开始(但传输的位流是用曼彻斯特编码的)
以太网的冲突退避算法就不介绍了,它是由硬件自动执行的.
DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节.
以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用
不上),一个是它自已的地址.但网卡也可以设置为接收任何数据包(用于网络分析和
监控).
任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构
分配.不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的.根据
网卡的地址段(网卡地址的前三个字节),可以知道网卡的生产厂家.有些网卡的地址
也可以由用户去设定,但一般不需要.
(未完)
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.250]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.226毫秒