计算机网络修炼指南——练气期(叁)[地址和媒介]
专栏地址
专栏地址
地址
在现实生活中地址的概念很容易就被理解,但是在计算机角度来说地址的概念就相对复杂一点,因为在实际的网络通信当中,每一层的地址都不太相同。
举个例子在TCP/IP体系中,使用MAC地址(数据链路层)、IP地址(网络层)、端口号等信息作为地址标识。
地址的唯一性
地址的唯一性指的是每一个地址必须明确标明一个唯一的通信主体。
所谓通信主体并不是代表一个计算机,而是可以代表一个或者多个计算机。
为什么这样说呢?
我们回顾一下上一篇所讲解的,实际上通信中包含单播、广播、多播、任播四种方式。当通信主体是单机的时候对于单播还能理解,那么对于多播呢?实际上就是相当于多个通信端被同时赋予了一个相同的具有唯一特性的地址,从而准确的标明避免歧义,明确接受对象。
举一个简单的多播的例子:
任播的例子:
此时也能标明一个任意对象,具有唯一性。
地址的层次性
当地址总数并不是很多而情况下,有了唯一地址就可以定位互相通信的主体。但是这种扁平化的结构实际上并不利于查找,当通信终端数量急剧上升的时候,如何高效的查找出来目标地址成为重要问题。为此人们还需要将地址划分为层次性的内容。
生活中最直接的例子就是你的家的地址,每次你寄送快递的时候,都是按照一种层次性的地址来填写的,省、市、区、县、街道,实际上就是按照层次结构来划分的。
对照计算机网络的层次地址我们可以看到如下内容:
可以看到上图,虽然MAC地址和IP地址都具有唯一性,但是只有他们的的IP地址具有层次性。
MAC地址由设备制造商针对每一块网卡进行分别指定。人们可以通过制造商识别号、制造商内部产品号以及产品通用编号来确保MAC地址的唯一性。然而,人们无法指定此张卡被用于哪个地方,实际上MAC地址并不是被设计用来识别网络层信息的,他是链路层所特有的地址,虽然构成上具有一定的层次性,但是对于寻找其具体网络位置并没有做出贡献。
那么IP是如何实现分层的呢?实际上IP地址由网络号和主机号一同构成,即使单个个体的主机号并不相同,但是对于一个通信主体的来说,他们的网络号是可以相同的,说明他们可以同处于一个网段。通常,同处于一个网段的主机也属于同一个部门或者组织。
网络传输过程当中,每个节点会根据分组数据的地址信息,来判断该报文应该由哪个网卡发送出去,对于路由器或者分组交换机也是这样。为此,各个地址会参考一个发出接口列表,在这一点上MAC寻址与IP寻址是一样的。只不过MAC寻址中所参考的这张表叫做地址转发表,而IP寻址中所参考的叫做路由控制表或者说是路由转发表。MAC地址转发表中所记录的是实际的MAC地址本身,而路由表中记录的IP地址则是集中了之后的网络号。
下图简单叙述了转发过程中的查表过程:
网络的构成要素
如上图是构成一个简单的WWW网的结构图,其中包含了各种各样的设备,分别对应了不同的层次结构,如下表:
通信媒介与数据链路
计算机网络指的是计算机与计算机相连而组成的网络。计算机之间通过各种电缆相互连接,电缆有很多种,包括双绞线电缆,光纤电缆,同轴电缆,串行电缆等。根据需要连接的设备之间数据链路的不同选择使用的电缆连接方式也不同,这里的**数据链路(Datalink)**所指的是通信所涉及的协议及其网络类型。针对不同数据链路有不同的传播介质与其对应。具体有什么可参考下图:
传输速率与吞吐量
在数据传输过程当中信号的传播速度通常都是恒定的,因为光和电在一种介质当中其速率保持一定。而传输速率指的是两个设备之间数据流动的物理速度,注意这里指的是数据的速度,不是信号的速度,要和上边区分开,其单位是bps(Bits per second,每秒比特数),因此即使数据链路的传输速率不同,也不会出现传播速度忽快忽慢的情况,传输速率不是指单位数据流动的速度有多快,而是指单位时间内传输的数据量有多少。
传输速率又称为带宽,带宽越大网络传输能力就越强。
**主机之间实际的传输速率被称作吞吐量。其单位与带宽相同,都是bps(Bits per second)。吞吐量不仅衡量带宽,同时也衡量主机的CPU处理能力、网络的拥堵程度、报文中数据字段的占有份额等信息。**它实际上是一个综合的评价标准。
基础的网络设备
网卡
任何一台计算机连接网络的时候,都需要一个硬件支持,俗称网卡,全称为网络接口卡(Network :network interface card)有时也被叫做:网络适配器(network adapter)、LAN卡。
目前大多数PC都集成了连接局域网功能的设备。有时会被集成到计算机的主板中,有时也可以单独插入扩展槽使用。Network lnformation Center的缩写也是NIC,所以要注意区分。两者指向的对象不尽相同。
计算机与外部链接的接口称作为计算机端口,简称端口。没有配置NIC的计算机如果想接入以太网,至少得外接一个扩展槽以便插入NIC。
无线局域网的情况下也是如此,计算机必须具备能够接入无线网的NIC才能保证连接到网络。笔记本电脑如果没有内置的 NIC,可以通过ExpressCard或CardBus、压缩闪存以及USB方式插一块 NIC 以后再连网。
ExpressCard,笔记本电脑中的卡型扩展设备。由制定PC卡标准的 PCMCIA ( Per-sonal Computer Memory Cardlnternational Association,PC机内存卡国际联合会)统一规格。目前大多数的笔记本已经将这个接口淘汰掉了,推荐使用USB来外接网卡。
中继器
中继器是OSI模型的第一层,物理层上边延长网络的设备。由电缆传过来的电信号或者光信号经由中继器的波形调整和放大再传给另一个电缆。
一般情况下,中继器的两端连接的是相同的通信媒介,但有的中继器可以完成不同媒介之间的转接工作。例如,可以在同轴电缆与光缆之间调整信号。然而,在这种情况下,中继器也只是单纯负责信号在0和1比特流之间的替换,并不负责判断数据是否有错误。同时,它只负责将电信号转化为光信号两端属于点对点链路,因此不能在传输速度不同的媒介之间转发。
通过中继器而进行的网络延长,其距离也并非可以无限扩大。例如一个10Mbps 的以太网最多可以用4个中继器分段连接,而一个100Mbps 的以太网则最多只能连两个中继器。
有些中继器可以提供多个端口服务。这种中继器被称作中继集线器或集线器。因此,集线器也可以看作是多口中继器,每个端口都可以成为一个中继器。其结构如下图:
网桥/二层交换机
网桥是在OSI模型的第二层——数据链路层面上连接两个设备的。
它能够识别数据链路层中的数据帧,并将数据存储在临时内存中,再重新生成信号作为一个全新的帧转发给线连接的另一个网段,由于能存储这些数据,网桥能连接传输速率完全不同的数据链路。并且不限制连接网段的个数。此处不同的网段指的应该是IBM令牌环网,而不是常见的TCP/IP。**此处的网段指的是一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。**下图的连接一个和另一个网络是错误的说法,实际上应该是网段。
数据链路层的数据帧中有一个数据位叫做FCS,用以校验数据是否发送到正确的目的地。网桥通过检查这个数据域中的值,将那些损坏的数据丢弃,从而避免发送给其他的网段,此外,网桥还能通过地址自学习机制和过滤功能控制网络流量。
这类功能是OSI参考模型的第二层(数据链路层)所具有的功能,这里所说的地址是指MAC地址、硬件地址、物理地址以及适配器地址,也就是网络上针对NIC分配的具体地址。如下图所示,主机A与主机B之间进行通信时,主机B只针对主机A发送数据帧即可。网桥会根据地址自学机制来判断是否需要转发数据帧。可以看到下图网桥的转发学习过程。实际上到后边我们会详细讲解其是如何通过MAC层的协议实现转发的。
路由器/三层交换机
路由器是OSI模型的第三层——网络层面上连接两个网络、并对分组报文进行转发的设备。这一层才是真正连接不同子网的层,连接不同的子网就是连接其他的网络,二层设备实际上是针对MAC地址进行寻址和转发,三层设备是针对IP地址进行转发和寻址,同时路由器也可以链接不同的数据链路,例如链接一个以太网和一个光纤分布式数据接口(FDDI)。
同时路由器还有着网络负荷分担的作用,他会分割数据链路,将另一个数据链路的广播屏蔽,有一些甚至有着网络安全的功能。
4-7层交换机
4~7层交换机负责处理OSI模型中从传输层和应用层的数据。如果TCP/IP分层模型来表述,实际上对应的的是其传输层和应用层为基础分析收发数据,并对其进行处理。
例如,对于并发访问量非常大的一个企业级Web站点,使用一台服务器不足以满足前端的访问需求,这时通常会架设多台服务器来分担。这些服务器前端访问的入口地址通常只有一个(企业为了使用者的方便,只会向最终用户开放一个统一的访问URL)。为了能通过同一个URL将前端访问分发到后台多个服务器上,可以在这些服务器的前端加一个负载均衡器。这种负载均衡器就是4~7层交换机的一种。
总结如下:
|