以太网络的传输协议:CSMA/CD

     学习一下协议吧,这个从底层到高层各个协议都要明白(转自鸟哥的私房菜)

   

整个以太网络的重心就是以太网络卡啦!所以说,以太网络的传输主要就是网络卡对网络卡之间的数据传递而已。 每张以太网络卡出厂时,就会赋予一个独一无二的卡号,那就是所谓的 MAC (Media Access Control) 啦! 理论上,网卡卡号是不能修改的,不过某些笔记本电脑的网卡卡号是能够修改的呦! 那么以太网络的网卡之间数据是如何传输的呢?那就得要谈一下 IEEE 802.3 的标准 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 了!我们以下图来作为简介,下图内的中心点为集线器, 各个主机都是联机到集线器,然后透过集线器的功能向所有主机发起联机的。

CSMA/CD联机示意图
图 2.2-2、CSMA/CD联机示意图,由 A 发送资料给 D 时,注意箭头方向

集线器是一种网络共享媒体,什么是网络共享媒体啊?想象一下上述的环境就像一个十字路口,而集线器就是那个路口! 这个路口一次只允许一辆车通过,如果两辆车同时使用这个路口,那么就会发生碰撞的车祸事件啊!那就是所谓的共享媒体。 也就是说,网络共享媒体在单一时间点内, 仅能被一部主机所使用

理解了共享媒体的意义后,再来,我们就得要讨论,那么以太网络的网卡之间是如何传输的呢?我们以上图中的 A 要发给 D 网卡为例好了,简单的说, CSMA/CD 搭配上述的环境,它的传输情况需要有以下的流程:

  1. 监听媒体使用情况 (Carrier Sense):A 主机要发送网络封包前,需要先对网络媒体进行监听,确认没有人在使用后, 才能够发送出讯框;

  2. 多点传输 (Multiple Access):A 主机所送出的数据会被集线器复制一份,然后传送给所有连接到此集线器的主机! 也就是说, A 所送出的数据, B, C, D 三部计算机都能够接收的到!但由于目标是 D 主机,因此 B 与 C 会将此讯框数据丢弃,而 D 则会抓下来处理;

  3. 碰撞侦测 (Collision Detection):该讯框数据附有检测能力,若其他主机例如 B 计算机也刚好在同时间发送讯框数据时, 那么 A 与 B 送出的数据碰撞在一块 (出车祸) ,此时这些讯框就是损毁,那么 A 与 B 就会各自随机等待一个时间, 然后重新透过第一步再传送一次该讯框数据。

了解这个程序很重要吗?我们就来谈谈:

  • 网络忙碌时,集线器灯号闪个不停,但我的主机明明没有使用网络
    透过上述的流程我们会知道,不管哪一部主机发送出讯框,所有的计算机都会接收到!因为集线器会复制一份该数据给所有计算机。 因此,虽然只有一部主机在对外联机,但是在集线器上面的所有计算机灯号就都会闪个不停!

  • 我的计算机明明没有被入侵,为何我的数据会被隔壁的计算机窃取
    透过上述的流程,我们只要在 B 计算机上面安装一套监听软件,这套软件将原本要丢弃的讯框数据捉下来分析,并且加以重组, 就能够知道原本 A 所送出的讯息了。这也是为什么我们都建议重要数据在因特网上面得要『加密』后再传输!

  • 既然共享媒体只有一个主机可以使用,为何大家可以同时上网
    这个问题就有趣了,既然共享媒体一次只能被一个主机所使用,那么万一我传输 100MB 的档案,集线器就得被我使用 80 秒 (以 10Mbps 传输时),在这期间其他人都不可以使用吗?不是的,由于标准的讯框数据在网络卡与其他以太网络媒体一次只能传输 1500bytes,因此我的 100MB 档案就得要拆成多个小数据报,然后一个一个的传送,每个数据报传送前都要经过 CSMA/CD 的机制。 所以,这个集线器的使用权是大家抢着用的!即使只有一部主机在使用网络媒体时,那么这部主机在发送每个封包间, 也都是需要等待一段时间的 (96 bit time)!

  • 讯框要多大比较好?能不能修改讯框?
    如上所述,那么讯框的大小能不能改变呢?因为如果讯框的容量能够增大,那么小数据报的数量就会减少, 那每个讯框传送间的等待就可以减少了!是这样没错,但是以太网络标准讯框确实定义在 1500 bytes, 但近来的超高速以太网络媒体有支持 Jumbo frame (巨型讯框,注10) 的话,那么就能够将讯框大小改为 9000bytes 哩!但不是很建议大家随便修改啦!为什么呢?2.2.5 MTU 那小节再说。

你可能感兴趣的:(网络,协议,CSMA/CD)