认识计算机网络

Internet的产生和中国的ISP

Internet的产生和发展

Internet是全球最大的互联网络,家庭通过电话线使用ADSL拨号上网接入的就是Internet,企业的网络通过光纤接入Internet,现在我们使用智能手机通过4G技术也可以很容易接入Internet。Internet正在深刻地改变着我们的生活,网上购物、网上订票、预约挂号、QQ聊天、支付宝转账、共享单车等应用都离不开Internet。现在我们就讲解一下Internet的产生和发展过程。

最初计算机是独立的,没有相互连接,在计算机之间复制文件和程序很不方便,于是就用同轴电缆将一个办公室内(短距离、小范围)的计算机连接起来组成网络(局域网),计算机的网络接口卡(网卡)与同轴电缆连接,如图1-1所示。

image.png

位于异地的多个办公室(如图1-2所示的Office1和Office2)的网络,如果需要通信,就要通过路由器连接,形成互联网。路由器有广域网接口用于长距离数据传输,路由器负责在不同网络之间转发数据包。

image.png

最初只是美国各大学和科研机构的网络进行互联,随后越来越多的公司、政府机构也接入网络。这个在美国产生的开放式的网络后来又不局限于美国,越来越多的国家网络通过海底光缆、卫星接入美国这个开放式的网络,如图1-3所示,就形成了现在的Internet,Internet是全球最大的互联网络。在这张图中你能体会到路由器的重要性,如何规划网络、配置路由器为数据包选择最佳路径是网络工程师主要和重要的工作。当然,学完本书,你也能掌握对Internet的网络地址进行规划和简化路由器路由表的方法。

image.png

中国的ISP

Internet是全球网络,在中国主要有3家“互联网服务提供商(InternetService Provider,ISP)”,它们向广大用户和企业提供互联网接入业务、信息业务和增值业务。中国三大网络服务提供商分别是中国电信、中国移动、中国联通。

这些运营商在全国各大城市和地区铺设了通信光缆,用于计算机网络通信。运营商的作用就是为城镇居民、企业和机构提供Internet的接入服务,在大城市建立机房。小企业没有机房,可以购买服务器,将服务器托管到运营商的机房。用户和企业可以根据ISP所提供的网络带宽、入网方式、服务项目、收费标准以及管理措施等选择适合自己的ISP。

跨ISP访问网络带来的问题

不同的运营商独立地规划和部署自己的网络,在同一运营商内部,网络能实现高度冗余和带宽的优化,运营商之间的网络连接链路数量有限,跨运营商通信网速比较慢。如图1-4所示,A运营商网络和B运营商网络使用1000 Mbit/s的线路连接,虽然带宽很高,但其承载了所有A运营商访问B运营商的流量以及B运营商访问A运营商的流量,因此还是显得拥堵。A小区的用户访问A网站速度快,访问B运营商机房中的D网站时速度就会显得较慢。

image.png

为了解决跨运营商访问网速慢的问题,可以把公司的服务器托管在双线机房,即同时连接A运营商和B运营商的机房,如图1-4所示。这样通过A运营商上网的网民和通过B运营商上网的网民访问C网站时,速度没有差别。

有些网站为了解决跨运营商访问慢的问题,将内容相同的网站部署到多个运营商。如图1-4所示,把B网站部署在两台服务器上,分别托管在A运营商机房和B运营商机房,网站内容一模一样,对用户来说就是一个网站。如果用户需要从网站下载较大文件,可以让用户选择从哪个运营商下载。比如下载软件,用户可以根据是联通上网还是电信上网选择联通下载还是电信下载,如图1-5所示。

image.png

多层级的ISP结构

根据服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分为不同的层次。最高级别的第一层ISP为主干ISP,主干ISP的服务面积最大(一般都能覆盖国家范围),并且还拥有高速主干网。第二层ISP为地区ISP,一些大公司都属于第二层ISP的用户。第三层ISP又称为本地ISP,它们是第二层ISP的用户,且只拥有本地范围的网络。一般的校园网和企业网以及拨号上网的用户,都是第三层ISP的用户,如图1-6所示。

image.png

比如中国联通是一级ISP,负责铺设全国范围内连接各地区的网络,中国联通有限公司石家庄分公司是地区ISP,负责石家庄地区的网络连接,石家庄联通藁城区分公司就属于三级ISP了,也就是本地ISP了。

如何理解ISP分级呢?比如你家通过联通的光纤接入Internet,带宽是100Mbit/s,上网费每年700元。你的3个邻居通过你家的路由器上网,每家每年给你300元上网费,你就相当于一个四级ISP了,你每年还能赢利200元。

有些公司的网站是为全国甚至全球提供服务的,比如淘宝网和12306网上订票网站,这样的网站最好接入主干ISP,全国网民访问主干网都比较快。有些公司的网站主要服务于本地区,比如58同城之类的网站,负责石家庄地区的网站就可以部署在石家庄地区的ISP机房。藁城区中学的网站主要是藁城区的学生和学生家长访问,藁城区中学的网站通过联通的本地ISP接入Internet。

网络规模大一点的公司接入Internet,ISP通常会部署光纤提供接入,家庭用户或企业小规模网络上网,ISP通常会通过电话线使用ADSL拨号提供Internet接入。随着光纤线路的普及,现在农村和城市的小区也可以使用光纤接入Internet了。

局域网的发展

局域网和广域网

首先通过举例来简单了解一下局域网和广域网的概念。

中国电信运营商的网络覆盖全国,属于广域网。企业的网络通常覆盖一个厂区的几栋大楼,学校的网络覆盖整座学校。这种企业或学校自己组建的覆盖小范围的网络就是局域网。

如图1-7所示,车辆厂在石家庄和唐山都有厂区,南车石家庄车辆厂和北车唐山车辆厂都组建了自己的网络,可以看到企业按部门规划网络,基本上一个部门一个网段(网络),使用三层交换(可以充当路由器)连接各个部门的网络,企业的服务器连接到三层交换机,这就是企业的局域网。

image.png

北车唐山车辆厂需要访问南车石家庄车辆厂的服务器,这就需要将这两个厂区的网络连接起来。车辆厂不可能自己架设网线或光纤来将这两个不同城市厂区的局域网连接起来,架设和维护成本太高了。该厂租用了联通的专线以将两个局域网连接起来,只需每年缴费即可,连接后的局域网就是广域网。

现在总结一下,局域网通常是企业或学校自己花钱购买网络设备组建,带宽通常为10Mbit/s、100Mbit/s或1000Mbit/s,自己维护,覆盖范围小。广域网是连接不同地区局域网与城域网计算机通信的远程网,通常跨接很大的物理范围。常见的广域网有互联网,通常是花钱租用联通、电信等运营商的线路,花钱买带宽,不用自己维护,用于长距离通信。

换个角度说,计算机通信经过了ISP的线路,就是广域网,也不完全从距离上来划分局域网和广域网。比如你家使用ADSL拨号上网,你的邻居也使用ADSL拨号上网,你们两家的计算机通过QQ传输文件,也是广域网,虽然你和邻居的计算机距离很近。

同轴电缆组建的局域网

早期的计算机网络就是使用一根同轴电缆连接网络中的计算机,计算机之间的通信信号会被同轴电缆传送到所有计算机,所以说同轴电缆是广播信道,如图1-8所示。

在这样的广播信道里,如何实现点到点通信呢?那就需要通信的这些计算机都有一个地址,这个地址就是网卡的MAC地址。如果这些计算机发现收到的数据帧的目标MAC地址和自己网卡的MAC地址不一样,就丢弃这个数据帧。

MAC(Media Access Control或者Medium Access Control)地址可意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。

同轴电缆上连接的这些计算机不允许多台计算机同时发送数据,如果多台计算机同时发送数据,发送的信号就会叠加造成信号不能正确识别。所以计算机在发送数据之前先侦听网络中有没有数据在传输,发现没有信号传输才发送数据,这就是载波侦听。

即便在开始发送的时候没有检测出有信号在传输,在开始发送后,也有可能在同轴电缆的某处和其他计算机发送的信号迎面相撞,发送端收到相撞后的信号后认为发送失败。发送端必须能够检测出这种发生在链路上的冲突,然后通过退避算法计算退避时间并尝试再次发送,这就是冲突检测。

image.png

这种使用共享介质进行通信的网络,网络中的设备接口必须有MAC地址,每台计算机发送数据的机会均等(多路访问,Multiple Access),发送之前检测链路是否有信号在传输(载波侦听,Carrier Sense)。即便开始发送了,也要检测是否在链路上产生冲突(冲突检测,Collision Detection),这种带冲突检测的载波侦听多路访问机制就是CSMA/CD协议,使用CSMA/CD协议的网络就是以太网。局域网通常使用共享介质线路组建,使用CSMA/CD协议通信,所以有人不严谨地说局域网就是以太网,但你应该知道以太网的实质和局域网的实质,使用CSMA/CD协议的是以太网,覆盖小范围的网络是局域网。

集线器组建的局域网

同轴电缆随后被集线器(HUB)这种设备替代,使用双绞线可以很方便地将计算机接入到网络中。其功能和同轴电缆一样,只是负责将一个接口收到的信号扩散到全部接口,计算机通信依然共享介质,使用的依然是CSMA/CD协议,因此使用集线器组建的网络也被称为以太网,如图1-9所示,图中的MA、MB、MC和MD分别代表计算机的MAC地址。

image.png

使用集线器和同轴电缆组网具有如下特点。

·网络中的计算机共享带宽,如果集线器带宽是10Mbit/s,网络中有4台计算机,理想状态下平均每台计算机的通信带宽是2.5Mbit/s,可见以太网中计算机数量越多,平均到每台计算机的带宽越少,理想状态是不考虑产生冲突后重传浪费的时间。

·不安全,由于集线器会把一个接口收到的信号传播到全部接口,在一台计算机上安装抓包软件就能够捕获以太网中全部的计算机通信流量。安装抓包软件之后,只要网卡收到的数据帧就接收,而不看目标MAC地址是否是自己。

·使用集线器联网的计算机就在冲突域中,通信要避免冲突。·接入集线器的设备需要有MAC地址。

·使用CSMA/CD协议进行通信。·每个接口的带宽相同。

网桥优化以太网

如果网络中的计算机数量太多,就将计算机接入多个集线器,再将集线器连接起来。集线器相连可以扩大以太网的规模,但随之而来的一个问题就是冲突的增加。如图1-10所示,集线器1和集线器2相连,形成了一个大的以太网,这两个集线器就形成了一个大的冲突域。A计算机和B计算机通信的数据也被传输到集线器2的全部接口,D计算机和E计算机就不能通信了,冲突域变大,冲突增加。

image.png

为了解决集线器级联冲突域增大的问题,研究人员研发了网桥这种设备,用网桥的每个接口连接一个集线器,网桥能够构造MAC地址表,记录每个接口对应的MAC地址,如图1-11所示。网桥的E0接口连接集线器1,集线器1上连接3台计算机,这3台计算机的MAC地址分别为MA、MB和MC,于是网桥就在MAC地址表中记录E0接口对应MA、MB和MC 3个MAC地址。E1接口连接集线器2,集线器2连接的3台计算机的MAC地址分别是MD、ME和MF,于是在MAC地址表中E1接口对应MD、ME和MF 3个MAC地址。

image.png

有了MAC地址表,A计算机发送给B计算机的帧被传输到网桥的E0接口,网桥查MAC地址表后发现目标MAC对应的接口就是E0,该帧就不会转发到E1接口。这时D计算机也可以向E计算机发送数据了。这样网桥就把一个大的冲突域划分成了两个小的冲突域,从而优化了集线器组建的以太网。

如果A计算机向D计算机发送帧,网桥会根据帧的目标MAC地址对照MAC地址表以确定转发端口,从E1接口发送出去。当然从E1接口发送出去时,也要冲突检测载波侦听,寻找机会发送出去。

网桥组网有以下特点。

·网桥基于帧的目标MAC地址选择转发端口。

·一个接口一个冲突域,冲突域数量增加,冲突减少。

·网桥接口收到一个帧后,先接收存储,再查MAC地址表选择转发端口,增加了时延。

·网桥接口E1和E2的带宽可以不同,集线器所有接口的带宽一样。

交换机组网

随着技术的发展,网桥接口越来越多,数据交换能力越来越强。这种高性能网桥我们称为交换机(Switch),交换机是现在企业组网的主流设备。

交换机和网桥一样,可以构造MAC地址表,基于MAC地址转发帧。由于交换机直接连接计算机,如图1-14所示,因此A给B发送数据不影响D给C发送数据。如果两台计算机同时向B计算机发送数据,会不会产生冲突呢?答案是,不会。

image.png

交换机的每个接口都有接收缓存和发送缓存,帧可以在缓存中排队。接收到的帧先进入接收缓存,再查找MAC地址表以确定转发端口,放到转发端口的发送缓存,排队等待发送。因此,多台计算机同时给一台计算机发送数据,会放到缓存排队等待发送,而不会产生冲突。正是因为交换机使用的是存储转发,交换机的接口可以工作在不同的速率下。

使用交换机组网比集线器和同轴电缆更安全,如图1-14所示,E计算机即便安装了抓包软件,也不能捕获A给B计算机发送的帧,因为交换机根本不会将帧转发给E计算机。

计算机的网卡直接连接交换机的接口,可以工作在全双工模式,即可以同时发送和接收帧而不用冲突检测。集线器和同轴电缆组建的以太网只能工作在半双工模式,即不能同时收发。

如果交换机收到一个广播帧,即目标MAC地址是FF-FF-FF-FF-FF-FF的数据帧,交换机将该帧发送到所有交换机端口(除发送端口外),因此交换机组建的网络就是一个广播域。

MAC地址由48位二进制数组成,F是十六进制数,F代表4位二进制数1111。


交换机组网有以下特点。

·交换机端口带宽独享。

·比集线器安全。

·交换机接口直接连接计算机,可以工作在全双工模式下。

·全双工模式不再使用CSMA/CD协议。·接口可以工作在不同的速率下。

·交换机所有接口是一个广播域。


使用交换机组网,计算机通信可以设置成全双工模式,可以同时收发,不需要冲突检测,因此也不需要使用CSMA/CD协议,因为交换机转发的帧和以太网的帧格式相同,我们依然习惯说交换机组建的网络是以太网。

如图1-15所示,路由器连接两个交换机,交换机连接计算机和集线器,路由器隔绝广播,图中标出了广播域和冲突域。

image.png

以太网网卡

为了在广播信道中实现点到点通信,需要网络中的每个网卡有一个地址。这个地址称为物理地址或MAC地址(因为这种地址用在MAC帧中)。IEEE 802标准为局域网规定了一种48位二进制的全球地址。

在生产网卡时,这种48位二进制(占6个字节)的MAC地址已被固化在网卡的ROM中。因此,MAC地址也称为硬件地址或物理地址。当把这块网卡插入(或嵌入)某台计算机后,网卡上的MAC地址就成为这台计算机的MAC地址了。

如何确保各网卡生产厂家生产的网卡的MAC地址全球唯一呢?这就要有一个组织为这些网卡生产厂家分配地址块。现在IEEE的注册管理机构RA是局域网全球地址的法定管理机构,它负责分配地址字段的6个字节中的前3个字节(高位24位)。世界上凡要生产局域网网卡的厂家都必须向IEEE购买由这3个字节构成的这个号(即地址块),这个号的正式名称是组织唯一标识符,通常也叫作公司标识符。例如,如图1-16所示,3Com公司生产的网卡的MAC地址的前3个字节是02-60-8C(在计算机中是以十六进制显示的)。地址字段中的后3个字节(低位24位)则由厂家自行指派,称为扩展标识符,只要保证生产出的网卡没有重复地址即可。由此可见,用一个地址块可以生成2的24次方个不同的地址。

image.png

连接在以太网上的路由器接口和计算机网卡的一样,也有MAC地址。

网卡有帧过滤功能,网卡从网络上每收到一个MAC帧,就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧,则收下,然后进行其他的处理;否则就将此帧丢弃,不再进行其他的处理。这样做不浪费主机的CPU和内存资源。这里“发往本站的帧”包括以下3种帧。

·单播(unicast)帧(一对一),即收到的帧的MAC地址与本站的硬件地址相同。·

广播(broadcast)帧(一对全体),即发送给本局域网上所有计算机的帧(目标MAC地址全1)。·

多播(multicast)帧(一对多),即发送给本局域网上一部分计算机的帧。

所有的网卡都至少应当能够识别前两种帧,即能够识别单播和广播地址。有的网卡可用编程方法识别多播地址。当操作系统启动时,它就把网卡初始化,使网卡能够识别某些多播地址。显然,只有目的地址才能使用广播地址和多播地址。

在Windows中查看网卡MAC地址的命令如下:

image.png

企业局域网的规划和设计

根据网络规模和物理位置,企业的网络可以设计成二层结构或三层结构。通过本节的学习,你能掌握企业内网的交换机如何部署和连接,以及服务器部署的位置。

二层结构的局域网

现在以某高校网络为例介绍校园网的网络拓扑。如图1-17所示,在教室1、教室2和教室3分别部署一台交换机,对教室内的计算机进行连接。教室中的交换机要求端口多,这样能够将更多的计算机接入网络,这一级别的交换机称为接入层交换机,接计算机的端口带宽为100Mbit/s。

image.png

学校机房部署一台交换机,该交换机连接学校的服务器和教室中的交换机,并通过路由器连接Internet。该交换机汇聚教室中交换机上网流量,该级别的交换机称为汇聚层交换机。可以看到这一级别的交换机端口不一定有太多,但端口带宽要比接入层交换机的带宽高,否则就会成为制约网速的瓶颈。

三层结构的局域网

在网络规模比较大的学校,局域网可能采用三层结构。如图1-18所示,某高校有3个学院,每个学院有自己的机房和网络,学校网络中心为3个学院提供Internet接入,各学院的汇聚层交换机连接到网络中心的交换机,网络中心的交换机称为核心层交换机,学校的服务器接入到核心层交换机,为整个学校提供服务。

image.png

三层结构的局域网中的交换机有3个级别:接入层交换机、汇聚层交换机和核心层交换机。层次模型可以用来帮助设计、实现和维护可扩展、可靠、性价比高的层次化互联网络。