(读鸟哥的书笔记)
1/以太网的速度和标准
早先IEEE所指定的以太网标准802.3的IEEE 10BASE5,这个表示什么东东呢?
10表示传输速度为10Mbps, BASE表示采用基频信号进行传输, 至于5则是指每个网络节点之间最长可达500公尺。
由于网路的传输信息是0和1, 因此数据传输的单位为每秒多少bit, 即M bit/second, Mbps的意思,那么为什么要制定成10Mbps呢?这是因为早期的网络线压制的方法以及相关的制作方法,还有以太网网卡制作的技术并不是很好,加上当时的数据传输需求并没有现在这么高, 所以10 Mbps已经可以符合大多数人的需求了。
注:我们经常看到网络提供者(Internet Service Provider, ISP)所宣称他们的ADSL传输速度可以达到下行/上行 2Mbps/128Kbps(Kbits per second),注意,那个Kb指的可不是bytes而是bits哦,所以2M/128K在实际的档案大小传输速度上面, 最大理论传输为256KBps/16KBps(KBytes per second),所以正常下载速度约在100~200KBytes/s之间
以太网的传输协议:CSMA/CD
可以说,在以太网中最重要的就是网络卡了,以太网的传输主要就是网络卡对网络卡之间的数据传输而已。每张网卡出产时,都会有一个独一无二的卡号,这就是所谓的MAC地址了,在LINUX下,可以用ifconfig来查看自己的MAC地址,理论上,网卡地址是不能修改的,但是有些笔记本电脑上的是可以修改的,但是不建议修改。
以太网网卡之间的数据到底是怎么传输的?那就得谈一下IEEE 802.3的标准CSMA/CD了。
图中,最中间那个是集线器,各个主机通过网线连接到集线器,然后透过集线器的功能向所有的主机发起联机的。
那么,什么是集线器呢?
所谓的集线器就是一种网络共享媒体, 那什么是网络共享媒体呢? 打个比方,上图为一个十字路口,在Hub这个地方,每次只允许一辆车通过,如果两辆车同时使用Hub这个路口,那么肯定会出车祸的,这就是网络共享媒体了, 也就是说,网络共享媒体在同一时间点内,只能允许一部主机使用。
那么我们现在还是不知道以太网间的数据是怎么传输的啊,好, 以上图为例, 假如A要传输给D,那么CSMA/CD搭配上述的环境,它的传输情况如下:
1,监听媒体使用情况:A主机要发送网络封包时,首先要对网络媒体进行监听,确认没人使用后,才能够发送出讯框;
2,多点传输:A主机发送的数据会被集线器复制一份,然后传给所有连接到此的主机,也就是说,A发给D的数据,B,C,D三部主机都会收到,但由于目的主机为D,所以B,C在收到数据后,便把该数据包丢弃,而D则会接收该数据包来进行处理。
3,碰撞侦测:该讯框数据附有检测能力,若其他主机, 例如B计算机也刚好在同时发送讯框数据的时候,那么A,B送出的数据就会碰撞在一起,此时,这些数据就会被损毁,那么A,B就会各自随机等待一个时间,然后重复第一步再次发送该数据。
问题来了,那我们经常碰到的问题来说:
1,网络忙碌时,集线器灯号闪个不停,但是我的主机明明没有使用网络:
答:这是因为无论那一步主机发出讯框,所有的计算的都会接收到,因为集线器会复制该讯框,然后发给所有的计算机。因此,虽然只有一部主机在对外联机,但是集线器上面的所有计算机灯号都会闪个不停。
2,既然网络共享媒体只有一个主机可以使用,那么为什么大家可以一起上网?
答:举个例子,既然共享媒体一次只能被一部主机使用,那么假如我传输100MB的资料,那么集线器不得给我使用一段时间?这段时间其他人都不可以使用集线器吗?其实不是这样子的,由于标准的讯框在网络卡与其他以太网络媒体一次只能传输1500bytes,因此我的100MB资料就得分成很多个小的数据报,然后一个个的传送,每个数据报传输前都要经过CSMA/CD机制,所以,这个集线器的使用权是大家抢着用的,即使只有一部主机在使用网络媒体的时候,那么这部主机在发送封包间,也都是要等待一段时间的。
集线器和交换机
上面提到,当网路忙碌运作的时候,集线器这个网络共享媒体就可能会发生碰撞的情况,这是因为CSMA/CD的缘故。那有没有办法避免这种请乱搞呢?
办法是有的,那就得用到我们的交换机了,交换机的等级非常多,价格差别也很大,在这里,我们只讨论OSI第二层的交换机。交换机和集线器比较大的差异是,交换机有一个特别的内存,这个内存可以记录每个switch port与其连接的PC的MAC地址,所以,当来自switch两端的PC要传送数据的时候,每个讯框将直接透过交换机的内存数据而传送到目的主机上,所以,switch不是共享媒体,switch的么哦个port都有独立的带宽。
举例来说,10/100 的 Hub 上链接 5 部主机,那么整个 10/100Mbps 是分给这五部主机的,所以这五部主机总共只能使用 10/100Mbps 而已。那如果是 switch 呢?由于『每个 port 都具有 10/100Mbps 的带宽』,所以就看你当时的传输行为是如何啰!举例来说,如果是底下的状况时,每个联机都是 10/100 Mbps 的。
A 传送到 D 与 B 传送到 C 都独自拥有 10/100Mbps 的带宽,两边并不会互相影响!不过,如果是 A 与 D 都传给 C 时,由于 C port 就仅有 10/100Mbps ,等于 A 与 D 都需要抢 C 节点的 10/100Mbps 来用的意思。总之,你就是得要记得的是,switch 已经克服了封包碰撞的问题,因为他有个 switch port 对应 MAC 的相关功能,所以 switch 并非共享媒体喔!同时需要记得的是,现在的 switch 规格很多,在选购的时候,千万记得选购可以支持全双工/半双工,以及支持 Jumbo frame 的为佳!