CSMA/CD解决了总线网络上多台计算机同时通信需求的协调问题,剩下的就是计算机的标识问题。即大家都能收到广播的数据,但是如何确定这个数据是不是发送给我的。
MAC地址
对于每一个适配器(网卡),都有一个硬件地址,也称为物理地址或MAC地址(Media Aceess Control)
就像每一个人都有一个身份证号一样,身份证号标识了一个独立的人。
一个适配器有一个身份证号(MAC地址),现在我们认为是固化的(不变的)。
MAC可以是48位(6字节)或16位(2字节)的,但是现在用的几乎都是8字节的MAC地址。
如:00-15-5D-F1-E8-75
即0000 0000 - 0000 1111 - 0101 1101 - 1111 0001 - 1110 1000 - 0111 0101
MAC地址是由IEEE的注册管理机构RA分配的。
准确的说,MAC地址的前三个字节是该机构分配的,所有要生产网卡的厂商都需要向IEEE购买这三个字节构成的号(组织唯一标识符OUI),也称为公司标识符。后三个字节由厂家自己指定,只需要保证不产生重复MAC地址即可。
一个OUI并不能标识一个生产网卡的公司,一个大公司可以拥有多个OUI,一个OUI也可以被多个小公司共有。
其中第一个字节的最低位为I/G位(Individual/Group),用于区分单站地址或组地址
第一个字节的最低第二位G/L位(Global/Local),用于区分G/L是否是全球管理,即这个地址是否是由IEEE分配的。
剩下的46位可以共可组成个地址,超过70万亿。暂且可以认为是全球唯一的
有了这个MAC地址,将其放入发送的帧中,就可以标识计算机了。
MAC帧
在PPP协议中讨论的帧的组成如下
广播通信的帧中则有些差别
前两个字节分别是6字节的目的MAC地址和源MAC地址,第三字段是2字节的类型标识,用来标识上层所使用的协议。中间则是数据部分,在46~1500字节之间(46字节是考虑了最小长度64字节),最后一个字段则是FCS帧检验序列(使用CRC检验)。
当发送的上层数据小于46字节时,会对其进行填充,以保证最小长度64字节。
此外,在物理层传输的内容要比MAC帧还要多出8字节,当接收方刚开始接收MAC帧的时候,适配器的时钟仍未到达与比特流同步的状态,MAC帧的前几位就无法接收,因此需要7字节的前同步位,方便同步。还有一字节则是帧开始定界符。
使用SONET/SDH(光同步数字传输网)进行同步传输时不需要前同步位,因为同步传输时,双方总是保持位同步
至于帧结束定界符,前面提到,在CSMA/CD协议中,帧发送需要有一定的时间间隔。因此不需要帧结束定界符。
以上讨论的MAC帧,都是在以太网V2中定义的。