本帖最后由 haierccc 于 2013-5-23 16:58 编辑
学习网络的过程中我看了一些书,诸如因特网体系结构、ISO7层协议,快速以太网,《TCP/IP协议》第一卷等,有一个问题一直不太明白。
我画了一张示意图:
这是一个典型的家庭因特网接入环境,网线通过无线路由器进入交换机,供台式机和笔记本使用(这里没有画无线接入的笔记本)。
在学习快速以太网的CSMA/CD协议的过程中,有个问题一直萦绕我心,至今没有理解。
CSMA/CD的核心思想是:由于以太网是种竞争型的网络,所以会出现好几台电脑同时发言的情况,这样就会产生“冲突”,所以在发言之前,网卡监听网络上的通信,以太网数据帧之间有个“时隙”,如果静默时间超过了时隙,就认为没有别人发言,于是自己就可以发言了。
举个例子,我从电脑A往电脑B的共享文件夹里拷贝100G的高清电影,连接已经建立,数据正常拷贝中。
由于拷贝时间很长,闲来无事,我就在电脑B上挂着QQ与人聊天,消磨时间。
现在看起来一切都很好,这也是我们早就习以为常的工作状态:多任务。也就是同时有好几个网络任务在运行,比如在线听歌的同时,在线聊天,同时淘宝购物。
但这里隐藏着一个问题:依照CSMA/CD所言,电脑发言的时候,一定要是在网络静默时间超过“时隙”以后,但是此时,电脑B一直在接受电脑A的数据啊。
也就是说,电脑A在给电脑B传送数据,在数据传送完毕之前,以太网数据帧之间的静默时间始终不会超过“时隙”,此时无线路由器根本找不到机会插入信息,也就不会给电脑B上的QQ发送信息了。
当然,以太网在实际工作中不可能同时只有2台机器建立连接,所有的信息都会及时在网上传输(比如P2P信息和广播信息),这究竟是如何做到的呢?
网桥(交换机)是一种解决方法,因为隔离了冲突域,但假设上图的设备不是交换机,而是HUB,也就“集线器”呢?因为集线器不是工作在交换模式,而是工作在总线模式下,其上所有的电脑同属一个冲突域 |