05_光纤,网络拓扑和_CSMA_CD ## 网络协议那些事儿

127 阅读15分钟

05_光纤,网络拓扑和_CSMA_CD

网络协议那些事儿

内容简介 前言 光纤 网络拓扑 CSMA/CD 协议 总结 1. 前言 前面两课我们主要讲解了双绞线和 RJ45 接口,也提到了集线器的作用。

内容简介

1. 前言

前面两课我们主要讲解了双绞线和 RJ45 接口,也提到了集线器的作用。在最后,我们也提到了比双绞线更优越的光纤,现在我们就来揭开它的神秘面纱吧。紧接着,我们也会学习网络拓扑和 CSMA/CD 协议。

2. 光纤

光纤是光导纤维的简称,英语是 Optical Fiber。optical 是 “光学的,视觉的” 的意思,fiber 是 “纤维” 的意思。

光纤是一种由石英或塑料制成的纤维,所以使用光纤通信的成本比同轴电缆等要低很多。铺设 1000 公里的同轴电缆大约需要 500 吨铜,改用光纤通信只需几公斤石英就可以了。沙石中就含有石英(主要成分是二氧化硅),几乎取之不尽。

下面是光纤的示意图:

下图展示了内含光纤的线缆,称为光缆(微细的光纤封装在塑料护套中,使得它能够弯曲而不至于断裂):

靠着光纤,我们就不再使用电来传输 0 和 1 这样的信号了,而是用光来传输。光纤的传输原理是光的全反射。

光纤通信主要由三个部分构成:

光在光导纤维的传导损耗比电在电线(例如我们之前学习的同轴电缆、双绞线等等)传导的损耗低得多。将电信号通过光发射机的光调制器变为光信号,沿光纤传输到数米甚至数千米远的地方,再将光信号由光接收机的光电二极管变为电信号。

我们不会深入讲解光纤的技术细节,但是会讲一些有用的知识点。如果你想要了解更多,可以看关于光纤的这个 百度百科

光纤的科学命名

如果同轴电缆和双绞线都有各自的科学命名,那光纤怎么能落后呢?

通常,光纤的科学命名是 1000BF。当然,也有其它的科学命名。

  • 1000 表示传输速率为 1000 Mbps,就是 1000 兆比特每秒;

  • B 我们以前说过,是 Baseband 的首字母,表示 “基带”;

  • F 是 fiber 的缩写,表示 “纤维”,就是代指光纤。

光纤分为很多种,不过通常我们将其分为两大类:

  • 单模光纤:Single Mode Fiber。mode 是英语 “模式,方式” 的意思。single 是英语 “单一的” 的意思;

  • 多模光纤:Multi Mode Fiber。multi 是英语 “多,多个” 的意思。

单模光纤传输的光的波长是单一的,使用的是激光,颜色可以是绿色、蓝色、红色,等等。

多模光纤传输的光则是白光,包含各种波长。白光是各种光的组合,比如太阳光就是典型的白光。

你也许要问:“为什么有两种不同的光纤呢?”

因为这两种光纤的传输速率和传输距离是不一样的。事实上,单模光纤的性能比多模光纤更好。

你也许会说:“什么?一种波长的光竟然比所有波长的光加起来还要厉害?没有搞错吧?”

是的。在多模光纤中,白光会在光纤内部反射,但是每种颜色(对应每种波长)的光的反射是略有不同的。这就导致在接收端收到的光并不是完美的白光,因为每种颜色的光的到达时间略有不同。

这就好像你从手里扔出一把石子。在扔出去之前这些石子在你手里是成团的,但是你扔出去之后,这些石子会越来越分散,当它们落在远处时,已经相隔一定距离。如果你只扔一颗石子,因为只有一颗,所以当它落在远处时,也不可能分散。

因此,单模光纤的有效传输距离就比多模光纤远得多:

  • 多模光纤的有效传输距离大概是 2 千米;

  • 单模光纤的有效传输距离大概是 60 千米。

光纤传输的最大距离大概可以达到 8000 千米。我们正是这样,在大西洋的海底用光缆来连接欧洲和美国,每 60 千米重复传输一下光信号。

当今的光纤

目前,我们一般还不会用光纤来连接你的电脑和网络盒子,用的还是我们之前介绍过的双绞线。这是为什么呢?

首先是因为在家庭中,如果用光纤来连接电脑和网络盒子,那么匹配的所有接口必须是光卡口,即使在网络这么发达的今天,一个光口网卡的平均价格要比用双绞线的千兆网卡贵很多,将近 10 倍。

其次,目前一条几米的光纤的价格还是比同样长度的双绞线要贵 1 倍左右。

再者,光纤的信号传输载体是玻璃芯,即使光缆外面有外套保护,可以增加光纤的抗折性,都不能突破走直角的瓶颈。家装布线中,墙面和地面间的直角、墙面和网线面板之间的直角等,很可能造成线芯的损坏,网络不能正常使用,而双绞线却能轻松胜任。

然而,在你的网络盒子和提供网络服务的网络运营商(比如移动、电信、联通,等等)之间,现在已经有越来越多的家庭用光纤了。我自己家里就是用光纤来连接的上网盒子,下图就是我家里目前用的光纤网络盒子:

光纤被广泛应用在网络运营商的设备里,因为他们需要很高的通行带宽。光纤也被用在一些对互联网很重要的大公司里面。还有一些公司,里面会有一些产生电磁干扰的大型设备,比如很大的发动机,那么这些公司用光纤来通信就比较必要了,因为光纤对电磁干扰是免疫的。

好了,你现在对网络中的各种线缆已经有了不错的认知,至少对实体线缆是这样,因为还有 “虚拟的线缆”,我们指的是像 WiFi 这样的无线通信方式。然而,我们暂时不会讲解 WiFi 技术的细节。

现在既然我们已经大致学习了连接机器所需的所有设备,是时候来学习如何连接机器了,因为连接的方式不止一种。

  1. 网络拓扑

网络拓扑的英语是 Network Topology。network 是 “网络” 的意思,topology 是 “拓扑” 的意思。

3 种网络拓扑

拓扑(topology)这个词,有不少含义。

在网络领域,拓扑简单来说是表示 “机器互相连接的方式”。关于网络拓扑的更多细节,可以参看这篇 百度百科

网络拓扑其实有好几种,但一般来说分为三种:

  • 总线拓扑:Bus Topology。bus 是 “总线,公共汽车” 的意思。总线拓扑中信息流的形式就很像公共汽车来回开动、到站停靠,每台连接总线的机器就像站台上等车的乘客;

  • 环型拓扑:Ring topology。ring 是 “环,指环,环型的” 的意思;

  • 星型拓扑:Star Topology。star 是 “星星,星型的” 的意思。

下面的图就演示了这三种网络拓扑,电脑代表互连的机器,线条则是代表线缆:

在总线拓扑中,所有的机器都连接到一条相同的线缆。我们之前学过的同轴电缆 10B5 和 10B2,一般就是用这种形式来互连机器的。

在环型拓扑中,所有的机器都连接到一条相同的线缆,但这条线缆自身是成环的。

在星型拓扑中,所有的机器都连接到一个中央机器,这个中央机器能够把信息发送到某个与它相连的特定的机器。这让我们联想到用双绞线将多台电脑连接到一个交换机,交换机就充当了中央机器的角色。

你也许要问了:“为什么要有这么多种网络拓扑结构呢?它们的区别在哪里呢?”

网络拓扑的特点

我们会逐个来研究这些网络拓扑结构,首先请记住:我们构建网络的很重要目标是尽可能连接更多的机器,尽可能让网络的尺寸或范围更大。

总线拓扑的特点

在总线拓扑中,机器之间如何互相通信呢?

在总线拓扑中,同一时间只能有一台机器发送信息(类似 “发言”),因为只有一条主线缆。大致说来,所有机器时刻监听着,如果没有任何机器发送信息,那我就可以发送信息。

在总线拓扑结构中,我们可以连接无限个机器吗?

不可以。原因很简单,总线拓扑中所有机器共用一根主线缆,而指定时刻又只允许一台机器发送信息。因此,机器数目越多,每台机器能发送信息的机会就越少。

就好比你和其他人一起在会议室里开会。人数越多,你获得发言的机会就越少。

用总线拓扑结构,我们可以构建尺寸无限的网络吗?

也不可以。主要是因为信息的传输时间。总线拓扑的主线缆越长,机器之间信息的传输就耗时越久。这就好比等公共汽车,公共汽车的行驶路径越长,每一站的乘客等公共汽车的时间就越久。

机器越多,同一时刻想要发送信息的机器就越多。网络的尺寸被限制,也是为了避免几台机器同时发送信息的冲突。

环型拓扑的特点

环型拓扑的通信方式比较特别,因为有一个 “令牌”(英语是 token)。每台机器只有持有令牌时,才可以发送信息。

就好比你和你的小伙伴们围坐成一个圆圈,你们之间交流就只能用一个小篮子,这个篮子由一个人递给另一个人,向着一个方向。为了和某个人讲话,你就得首先拿到小篮子,把你的信息写成纸条放在篮子里。你把篮子递给你边上的人,他 / 她先看一下纸条上写的收件人名字,如果是他 / 她,那么就读信息。如果不是他 / 她,就把篮子沿此方向递给下一个人。以此类推。

在环型拓扑结构中,我们可以连接无限个机器吗?

不可以。原因和总线拓扑一样,因为环型拓扑中所有机器只共享一个令牌。

用环型拓扑结构,我们可以构建尺寸无限的网络吗?

也不行。原因和总线拓扑一样。环越大,令牌的传递所需时间就越久。

星型拓扑的特点

在星型拓扑中,所有通信都须要经过中央的机器。

连着中央机器的其他机器向中央机器发送信息时,会连带发送目标机器的名字,中央机器就会把信息根据目标机器的名字发送给正确的接收者。有点类似邮局的分发系统。

在星型拓扑结构中,我们可以连接无限个机器吗?

可以,但也不可以… 事实上,这取决于中央机器(比如交换机)能处理的机器的数目。但如果把许多交换机组合在一起,就可以处理几十亿台机器了。

用星型拓扑结构,我们可以构建尺寸无限的网络吗?

可以。但要达到这个目标,须要互连多个中央机器(如交换机)。

用哪个网络拓扑结构呢?

经过上面的比较,答案已经呼之欲出了:只有星型拓扑既可以无限延展网络的尺寸或范围,又可以连接无限台机器。

星型拓扑(Star Topology),“你是电,你是光,你是唯一的神话。我只爱你,you are my super star”。

今天,使用总线拓扑和环型拓扑的网络已经越来越少见了。

因此,我们后续的课程也主要是和星型拓扑打交道。

4. CSMA/CD 协议

在结束 OSI 第一层的学习前,我们来看最后一小节的内容,就是 CSMA/CD !

什么?这个复杂的缩略词是啥意思?

CSMA/CD 是 Carrier Sense Multiple Access / Collision Detection 的缩写,表示 “带有冲突检测的载波侦听多路存取”。

嗯,这个名字真的一点都不难理解呢…

为了搞懂这个复杂名字的意思,我们需要重新来看总线拓扑。

在总线拓扑中,因为所有机器共享一个主线缆,因此在某一时刻 t,只允许一台机器发送信息。如果在某一时刻 t,有两台甚至更多的机器发送信息,那就产生了冲突(collision)。

事实上,总线拓扑上传输的一般是电信号。如果两台机器同时发送信息,那么电信号就会重叠。

当两个都为 5 V 的电信号在同一时刻在电缆中传输时,那么接收到的电信号还是 5 V,这样还没什么影响。

但是如果一个电信号是 0 V,而另一个是 5 V,那么结果就变成了 5 V。0 V 的那个电信号就不准确了(因为读取到的是 5 V,而不是 0 V)。这样接收方就不能正确地理解信息了。就好比两个政客同时在电视上发言,我们就听不清他们在说什么。

那么如何避免这样的冲突呢?

遗憾的是,并不能避免。但是,我们可以试着减少冲突的数目。这也是 CSMA/CD 协议被发明的原因。CSMA/CD 协议的目的就是 “通过分配发言的权利,来限制冲突的数目”。这里的“发言” 是指发送信息。

怎么做呢?如果我和邻居们想要抢着同时发言,我们可能会因此争吵。

因此,我和邻居们得制定一个规则,并且严格遵守:

  1. 我持续监听,来检测是否有其他人发言,或者是否有冲突发生;

  2. 只有当没有其他人发言时,我才能发言;

  3. 如果我开始发言时,正好也有其他人开始发言,那么我们都闭嘴。

是的,当冲突发生时,我就闭嘴,然后等待。和我发生冲突的人也是这样做。如果我们又想要发言,那还是会产生冲突。

因此,须要动点小脑筋来避免这种僵局。当发生冲突时,产生冲突的人各自等待一段随机的时间,然后再重新尝试发言。因为这个时间对大家都是随机的,那么一般来说,我下一次尝试发言的时候应该不会和另一个人产生冲突。

我们来概述一下 CSMA/CD 协议(下面描述中的 “我” 表示总线上连着的一台机器):

  1. 我监听总线,来检测是否有其他机器发送信息(这是载波监听),或者是否有冲突发生(这是冲突检测);

  2. 只有当没有其他机器发送信息时,我才能发送信息;

  3. 如果我开始发送信息时,正好也有其他机器开始发送信息,那么我们都停止发送;

  4. 产生冲突的机器分别等待随机的时间长度;

  5. 再尝试发送信息;

  6. 如果又发生冲突,回到第 4 步;如果没有冲突,则发送信息。

在现实中,CSMA/CD 是像这样运作的:

  1. 两台机器 Machine A 和 Machine B(machine 是 “机器” 的意思)在同一时刻发送信息;

  2. 它们侦测到了冲突;

  3. 它们各自等待随机的一段时间。例如:Machine A 等待 3 秒,Machine B 等待 4 秒;

  4. 当 3 秒过后,Machine A 重新开始发送信息;

  5. 当 4 秒过后,Machine B 检测到 Machine A 正在发送信息,因此 Machine B 等待;

  6. 一旦 Machine A 发送信息结束,Machine B 就可以开始发送信息。

这方法不错!

因此,我们并没有消除总线拓扑中的冲突(这不可能),但我们找到了一种方法,可以限制冲突的发生,让总线上的机器可以友好地共享同一根线缆。

关于 CSMA/CD 协议的更多信息,可以参看这篇 百度百科

5. 总结

  1. 存在多种互连机器的方式,称为网络拓扑

  2. 现在最常用的网络拓扑是星型拓扑,因为它有明显的优势;

  3. 在总线拓扑上,可能会产生冲突,就是指两台或多台机器要在同一时刻发送信息;

  4. CSMA/CD 协议可以帮助我们解决总线拓扑的冲突。

现在你对 OSI 的第一层应该有比较好的了解了,是时候去探索 OSI 的第二层了。

今天的课就到这里,一起加油吧!

}如果您想了解更多技术资源,欢迎加入点击这里钉钉群交流IT技术资源查看“IT技术交流群一”群的钉钉群号: 129605002953