软件开发速学计网:入门

有错请在评论区指出,别让我一直理解错误,谢谢。

1. 概念

  1. 网络(network):许多计算机连在一起。

  1. 互联网(internet):许多网络使用路由器连在一起。图中的圆盘就是路由器。

在这里插入图片描述

  1. 因特网(Internet):全球最大的一个互联网,采用TCP/IP 协议族作为通信规则。

注意:互联网和因特网的英文名的首字母的区分。internet指的是网络中的网络;Internet是一个专有名词。

2. 互联网发展的三个阶段(了解下名词)

1. ARPANET向互联网发展

ARPANET:ARPA是美国高级研究计划署(Advanced Research Project Agency)的简称,也可称"阿帕网"。1969年,ARPANET就是它开发的全球第一个运营的封包交换网,也就是互联网的始祖。直到1983年,TCP/IP协议成为ARPANET的标准协议,使得所有使用TCP/IP协议的计算机都能利用它来相互通信,这才最终诞生了互联网。

2. 三级结构的互联网

1985年,NSF(美国国家科学基金会)建成了一个NSFNET,把计算机网络分成3级,分别为:校园网(企业网),地区网,主干网。许多校园网(企业网)由地区网连接,许多地区网由主干网来连接。这单个三级结构的网络完全不能供应互联网日益增长的通信量需求,而且随着互联网越来越大,政府将主干网交给私人来经营。

在这里插入图片描述

3. 逐渐形成多层次ISP结构的互联网

1993年开始,NSFNET逐渐被若干个商用的互联网主干网替代。而ISP(Internet Service Provider)就成为互联网服务的提供商。比如中国移动、中国联通、中国电信就是我国最有名的ISP。再由这些大的ISP再分为不同层次的ISP:主干ISP,地区ISP和本地ISP。就构成了现在的互联网。

而这些ISP就会给我们计算机分配公网IP,但是这些IP地址是有统一规范的,每个IP地址都是独一无二的。比如把各个省会划分IP地址,每个省中的市也会划分好IP地址,方便识别是哪个哪个地区的,

通过IP地址就可以查出是哪个地区的,比如:在cmd命令行输入:

ping www.baidu.com

就会得到一个公网IP地址,然后复制该IP地址百度一下,就看到是百度的服务器在哪。

正在 Ping www.a.shifen.com [183.232.231.174] 具有 32 字节的数据:
来自 183.232.231.174 的回复: 字节=32 时间=17ms TTL=57
来自 183.232.231.174 的回复: 字节=32 时间=17ms TTL=57
来自 183.232.231.174 的回复: 字节=32 时间=17ms TTL=57
来自 183.232.231.174 的回复: 字节=32 时间=17ms TTL=57

183.232.231.174 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 17ms,最长 = 17ms,平均 = 17ms

因为我在广东,所以看到的是百度在广东省的服务器的位置(有可能不是真实的服务器,可能搜索的ip是做了cdn的ip。做了cdn的网站,就好像源站在各个地区都有服务器,但实际上只有一个服务器,具体看这: 开了cdn的作用,结果还是为了加快访问速度,)当然有时可能不是这样的,因为网络总是会自己选择合适的线路访问。为什么是访问广东省的服务器?因为我去访问北京地区的百度的服务器,那网速可能会慢,所以很多大公司都会设置不同的地区节点服务器,而对应地区的人访问它们的网页(产品)就很快,并且网络是自适应的,自己选择合适的线路进行访问,所以一般都是会选择访问离自己最近的服务器,要是自己最近的地区没有或者服务器有问题则会去访问其他地区的。

上面是我的理解,理解有错请指出。

在我们购买服务器时总是会出现不同地区节点给你选择,一般都是选择离自己最近的去购买。

所以你也可以发现,我们去访问一些可访问的国外网站(除了被屏蔽的),会很慢很慢。

3. 因特网的组成

因特网主要可以分为边缘部分和核心部分。

在这里插入图片描述

因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?

边缘部分:就是连接在因特网上的所有的主机。边缘部分利用核心部分提供的服务,使众多主机之间能够互相通信并交换信息或共享信息。

核心部分:网络中的核心部分由许多路由器实现互连,向网络边缘中的主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信,即数据交换。

3.1 边缘部分

边缘部分可分为:客户服务器方式(Client/Server方式–CS方式)和对等方式(Peer-to-Peer方式–P2P方式)。

3.1.1 客户服务器方式(Client/Server方式–CS方式)

这个最容易理解,举个例子:比如我们打开英雄联盟客户端,在登录账号时,会通过网络将登录信息(获取账号数据)发送给服务器,然后客户端就等待应答服务器的消息(显示正在载入);对于服务器获取该信息后,它就执行客户端所请求的账号信息,然后就发送回一个应答消息(账号数据)。

整个过程都是通过网络来通信的,你试试把网线拔了并且不连热点,看看能不能登录。而登录后,点击客户端的功能(开房间)这些也是需要网络进行通信。所以即使登进去后再拔网线,客户端的功能都是无法响应的,并且会显示 网络连接失败强制你退出客户端的信息。

该方式的缺点就是:如果同一时间很多很多很多人去请求服务器(点击客户端功能),那么网络的带宽就会有压力,服务器有负载,一时间内承受不住这么多人的请求。所以有时候我们在客户端点击功能时会很长时间才响应或者响应不了。

不过像英雄联盟有活动时一区爆满,它通过限制人数来解决该问题。

现在网站是用BS方式,即浏览器-服务器方式,通信方式也是一样。但是BS方式对电脑配置要求低,且利于维护,安全性还好,而CS容易被反汇编,但是CS对于复杂的业务处理更容易。

3.1.2 对等方式(Peer-to-Peer方式–P2P方式)

以对等方式进行通信,并不区分客户端和服务端,而是平等关系进行通信。在对等方式下,可以把每个相连的主机当成既是主机又是客户,可以互相下载对方的共享文件。比如迅雷下载就是典型的p2p通信方式,还可以看到一个文件下载的人越多越快,嘿嘿。

3.2 核心部分

核心部分可分为:电路交换(Circuit Switching)、报文交换(Message Switching)、分组交换(Packet Switching)。

3.2.1 电路交换(Circuit Switching)

电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道。即使不通信。信道也是独占

典型的应用就是打电话。当打电话给某人时,会对交换机申请占用通信资源(当我们拨号后会等一下,此时就是在申请通信资源);申请成功后(对方响铃)就会连接到对方,此时就一直占用该通信资源;最后,但我们按下挂断,那么就会释放通信资源。即电路交换的基本过程可分为连接建立、信息传送和连接拆除三个阶段。

交换机就是来转换、连接通信线路的(电话线),还是由ISP提供,所以要钱的。打一个电话,通过电话线发出信号,来到交换机,交换机看看你打的电话是哪里的(电话号码是独一无二的,并且是有规则的分配,比如某地区是以什么数字开头的或者以什么数字结尾的这些,跟IP地址一样的,所以不怕找不到或者不怕很混乱)就接到那个地方的通信线路,建立通话。

当然,也有申请不成功的时候,也就是对方正在跟别人通话,此时就会申请失败。这也说明了打电话是单线的,当被人占用后不释放就提示:您拨打的电话正在通话中。

跨省通话,就需要借助更多交换机来连接我与对方的通信。所以你现在可以想想为什么打长途电话比较贵。

在这里插入图片描述

电路交换的优点:

  1. 由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小
  2. 通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强
  3. 双方通信时按发送顺序传送数据,不存在失序问题
  4. 电路交换既适用于传输模拟信号,也适用于传输数字信号。
  5. 电路交换的交换设备(交换机等)及控制均较简单。

电路交换的缺点:

  1. 电路交换的平均连接建立时间对计算机通信来说嫌长,即连接时间长
  2. 电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低
  3. 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制,即可能不同的终端导致难通信
3.2.2 报文交换(Message Switching)

报文(Message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。

报文交换就是以报文为单位,报文中含有目标结点的地址,将完整的报文在网络中一站一站地向前传送。报文交换不要求在两个通信结点之间建立专用通路。

优点:

  1. 报文交换不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送报文
  2. 由于采用存储转发的传输方式,使之具有下列优点:
    a. 在报文交换中便于设置代码检验和数据重发设施,加之交换结点还具有路径选择,就可以做到某条传输路径发生故障时,重新选择另一条路径传输数据,提高了传输的可靠性
    b. 在存储转发中容易实现代码转换和速率匹配,甚至收发双方可以不同时处于可用状态。这样就便于类型、规格和速度不同的计算机之间进行通信
    c. 提供多目标服务,即一个报文可以同时发送到多个目的地址,这在电路交换中是很难实现的;
    d. 允许建立数据传输的优先级,使优先级高的报文优先转换。
  3. 通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率

缺点:

  1. 由于数据进入交换结点后要经历存储、转发这一过程,从而引起转发时延(包括接收报文、检验正确性、排队、发送时间等),而且网络的通信量愈大,造成的时延就愈大,因此报文交换的实时性差,不适合传送实时或交互式业务的数据
  2. 报文交换只适用于数字信号
  3. 由于报文长度没有限制,而每个中间结点都要完整地接收传来的整个报文,当输出线路不空闲时,还可能要存储几个完整报文等待转发,要求网络中每个结点有较大的缓冲区。为了降低成本,减少结点的缓冲存储器的容量,有时要把等待转发的报文存在磁盘上,进一步增加了传送时延。
3.2.3 分组交换(Packet Switching)

百度百科

分组交换,也可以称为包交换,以分组为单位,就是把报文(当成数据就行)按一定长度分成几组后,并且为了准确的发送到目的地,每一组都带上首部信息(标记,指定目的地地址),当交换机收到分组后,会根据首部信息将分组转发到目的地,目的地会把这些组去掉首部后组合成完整的数据。

分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。

电报交换与分组交换的区别:电报交换就好像中国建立的石油管道,管道建立了,就只能传输石油,即使管道空闲也不让别的东西运输;分组交换就好像高速公路,公路上有不同的车辆,可运输不同的东西,车辆有不同的目的地,当车辆驾驶过去后公路空闲,可以由别的车辆继续来行驶,也就是车道是共享的。偶尔会塞车,专业名称就是网络阻塞,出车祸,专业名称就是数据丢失。

分组交换的思想来源于报文交换,报文交换也称为存储转发交换,它们交换过程的本质都是存储转发,所不同的是分组交换的最小信息单位是分组,而报文交换则是一个个报文。由于以较小的分组为单位进行传输和交换,所以分组交换比报文交换快。报文交换主要应用于公用电报网中。

计算机网络是使用分组交换实现通信的。

分组交换的优点:

  1. 不需要像电路交换一样去建立连接,不存在连接建立时延,用户是随时发送分组的;
  2. 由于采用存储转发方式,加之交换节点具有路径选择,当某条传输线路故障时可选择其他传输线路,提高了传输的可靠性
  3. 通信双反不是固定的占用一条通信线路,而是在不同的时间一段一段地部分占用这条物理通路,因而大大提高了通信线路的利用率
  4. 由于分组短小,更适用于采用优先级策略,便于及时传送一些紧急数据,因此对于计算机之间的突发式的数据通信,分组交换显然更为合适些。

缺点就是有时延和开销大:

  1. 时延指的是转发时延,包括接受分组、检验正确性、排队、发送时间等,而且网络的通信量越大,造成的时延就越大,实时性较差,比如我们网络聊天时有可能卡。
  2. 开销就是首部信息,这些信息降低了可用来运输用户数据的通信容量。
  3. 分组交换可能出现失序,丢失或重复分组,分组到达目的节点时,对分组按编号进行排序等工作,增加了麻烦。
3.2.4 三种方式的比较

看图:

在这里插入图片描述

图中的t(也就是电路交换和报文交换中间的向下的箭头)表示的是传输一段报文所用的时间。

解释:

  1. 电路交换,在建立A到D的连接过程中,中间的B和C就是交换机,帮忙转换线路到目的地D,但连接建立完后会给个确认信息(不然就是提示对方正在通话中),称为建立延迟;然后就到了数据传送阶段,多少数据就发多少,而发送这些报文需要时间,称为传送延迟;最后连接释放所需的时间,称为释放延迟。把这三个延迟加起来就是总时间。
  2. 报文交换,可以看出,就从A开始直接将整段报文发送,然后在该过程中都需要将该报文经转发多个地方后才到达D。该交换有传送延迟,即发送报文的时间,当然B处的两个报文之间有处理时间,即处理这些报文,然后要转发到哪个地方这些。所以总时间是处理延迟加上传送延迟。
  3. 分组交换,这是采用并发式发送组,即当第一个组发送后,B点接收到了;当在B点开始发送到C时,第二个组也开始发送到B;接着当第一个组送到目的地D,第二个组要从B发送到C,此时第三个组也开始发送到B。这就是并发式发送,这样的速度是很快的,线路的利用率高。

总结:由图就可以看出,分组交换的传输速度是最快的

4. 网络的分类

总结了这么多。。不同书有不一样的说法,但大致就是下面这些。

  1. 按作用范围(地理位置)来分有:

    • 个域网(PAN,Personal Area Network)
    • 局域网(LAN,Local Area Network)
    • 城域网(MAN,Metropolitan Area Network)
    • 广域网(WAN,Wide Area Network)
    • 无线网络(Wireless Network)
  2. 按使用者来分有:

    • 公用网
    • 私用网
  3. 按拓扑结构来分有:

    • 总线型结构
    • 环形结构
    • 星形结构
    • 树形结构
    • 网状结构
    • 混合结构
  4. 按交换方式来分有:

    • 电路交换
    • 报文交换
    • 分组交换
  5. 工作模式来分:(上面有说)

    • 客户机/服务器(CS)
    • 对等网(P2P)
  6. 按通信来分:

    • 点对点
    • 广播式
  7. 传输介质来分:

    • 有线网
    • 光纤网
    • 无线网

5. 按作用范围来分的网络

5.1 个域网(PAN,Personal Area Network)

个域网允许设备围绕着一个人进行通信,其覆盖范围一般在10米半径以内。

个域网可分为无线个域网和有线个域网。

  1. 无线个域网:用无线搭建的,比如蓝牙,蓝牙打印机。
  2. 有线个域网:用线缆搭建的,比如USB,个人用的打印机。

5.2 局域网(LAN,Local Area Network)

局域网是一种私有网络,是指在某一区域内由多台计算机互联成的计算机组。一般在一座建筑物内或建筑物附近,比如家庭、办公室或工厂。局域网络被广泛用来连接个人计算机和消费类电子设备,使它们能够共享资源和交换信息。当局域网被用于公司时,它们就称为企业网络。局域网的覆盖范围一般是方圆几千米之内。

局域网可分为无线局域网和有线局域网。

  1. 无线局域网:比如WIFI。WIFI还可以使用中续器扩大WIFI信号范围。
  2. 有线局域网:通常情况下,有线局域网的运行速度在100Mbps到1Gbps之间,延迟很低(微秒或者纳秒级),而且很少发生错误。较新的局域网可以工作在高达10Gbps的速率。和无线网络相比,有线局域网在性能的所有方面都超过了它们。比如以太网(Ethernet)连接的网络——教室机房、家庭网络。

1Mbps(兆比特/秒)等于1 000 000 比特/秒。
以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。

在这里插入图片描述

(了解)
局域网一般为一个部门或单位所有,建网、维护以及扩展等较容易,系统灵活性高。其主要特点是:

  1. 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
  2. 使用专门铺设的传输介质进行联网,数据传输速率高(10Mb/s~10Gb/s)。
  3. 通信延迟时间短,可靠性较高
  4. 局域网可以支持多种传输介质

局域网的类型很多,若按网络使用的传输介质分类,可分为有线网和无线网;若按网络拓扑结构分类,可分为总线型、星型、环型、树型、混合型等;若按传输介质所使用的访问控制方法分类,又可分为以太网、令牌环网、FDDI网和无线局域网等。其中,以太网是当前应用最普遍的局域网技术。

5.3 城域网(MAN,Metropolitan Area Network)

百度百科

城域网的范围可覆盖一个城市。属宽带局域网。由于采用具有有源交换元件的局域网技术,网中传输时延较小,它的传输媒介主要采用光缆,传输速率在100兆比特/秒以上。

MAN的一个重要用途是用作骨干网,通过它将位于同一城市内不同地点的主机、数据库,以及LAN等互相联接起来,这与WAN的作用有相似之处,但两者在实现方法与性能上有很大差别。

骨干网(Backbone Network)是用来连接多个区域或地区的高速网络。每个骨干网中至少有一个和其他骨干网进行互联互通的连接点。不同的网络供应商都拥有自己的骨干网,用以连接其位于不同区域的网络。

城域网也可以分为有线城域网和无线城域网。

  1. 有线城域网:比如有线电视网。
  2. 无线城域网:比如无线电视网。

5.4 广域网(WAN,Wide Area Network)

百度百科

又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。

上面也有说过,网络还分为私用网和公用网

一般所指的互联网是属于一种公共型的广域网,公共型的广域网的成本会较低,为一种较便宜的网上环境,但跟广域网比较来说,是没办法管理带宽,走公共型网上系统,任何一段的带宽都无法被保证。所以就会有私用网,如果有北、中、南等分公司,甚至海外分公司,把这些分公司以专线方式连接起来,即也可称为“广域网”。

私用网还有军网,政府网,教育网等。说说教育网:我们学校的网络属于校园网,是局域网类型,而教育网,有地区教育网,省教育网,还有全国教育网。地区教育网(在一个地区内连接各大校园网)属于城域网类型;省教育网(连接各地区)属于广域网类型;而全国教育网(连接各省)属于广域网类型。

广域网的发送介质主要是利用电话线或光纤,由ISP业者将企业间做连线,这些线是ISP业者预先埋在马路下的线路,因为工程浩大,维修不易,而且带宽是可以被保证的,所以在成本上就会比较为昂贵。

5.5 无线网络(Wireless Network)

所谓无线网络,是指无需布线就能实现各种通信设备互联的网络。 无线网络技术涵盖的范围很广,既包括允许用户建立远距离无线连接的全球语音和数据网络,也包括为近距离无线连接进行优化的红外线及射频技术。

根据网络覆盖范围的不同,可以将无线网络划分为:

  1. 无线广域网(WWAN:Wireless Wide Area Network):覆盖广大的区域。比如相邻的城镇,或者城市与郊区之间的接入点之间的无线连接通常使用锅状天线的点对点微波链路,而不是小型网络中所使用的全向天线
  2. 无线局域网(WLAN:Wireless Local Area Network):像家里的网络(以太网),学校的机房。使用的一个标准称为:IEEE802.11。
  3. 无线城域网(WMAN:Wireless Metropolitan Area Network):连接多个无线局域网。
  4. 无线个人局域网(WPAN:Wireless Personal Area Network):蓝牙,仅为个人服务。

这四种在上面也说了。

缺点就是有时会不稳定,易受干扰

5.6 其他问题

不能单单从距离来判断网络是什么类型。比如我传文件给邻居,但是不能因为说我们两个人离得近所以用的一定是局域网,有可能我们是通过广域网(因特网)来传文件的。而如果邻居连接了我的WIFI,则一定是局域网。

6. 按使用者来分的网络

  1. 公有网:就在上面的广域网里面说了,大家都可以用的,共享的网络,比如因特网。

  2. 私有网:军网,教育网等。提供专线,给特定的人群使用。

7. 按拓扑结构分的网络

网络拓扑结构是指用传输介质互连各种设备的物理布局。网络中的计算机等设备要实现互联,就需要以一定的结构方式进行连接,这种连接方式就叫做“拓扑结构”,通俗地讲就是这些网络设备是如何连接在一起的。常见的网络拓扑结构主要有:总线型结构、环形结构、星形结构、树形结构和网状结构等。

百度百科

7.1 总线型结构

总线拓扑结构采用一个信道作为传输媒体,所有站点都通过相应的硬件接口直接连到这一公共传输媒体上,该公共传输媒体即称为总线。任何一个站发送的信号都沿着传输媒体传播,而且能被所有其它站所接收。

因为所有站点共享一条公用的传输信道,所以一次只能由一个设备传输信号。通常采用分布式控制策略来确定哪个站点可以发送或发送时,发送站将报文分成分组,然后逐个依次发送这些分组,有时还要与其它站来的分组交替地在媒体上传输。当分组经过各站时,其中的目的站会识别到分组所携带的目的地址,然后复制下这些分组的内容。

在这里插入图片描述

总线拓扑结构的优点:
(1)总线结构所需要的电缆数量少,线缆长度短,易于布线和维护。
(2)总线结构简单,又是元源工作,有较高的可靠性。传输速率高,可达1~100Mbps。
(3)易于扩充,增加或减少用户比较方便,结构简单,组网容易,网络扩展方便
(4)多个节点共用一条传输信道,信道利用率高。

总线拓扑的缺点:
(1)总线的传输距离有限,通信范围受到限制。
(2)故障诊断和隔离较困难。
(3)分布式协议不能保证信息的及时传送,不具有实时功能。站点必须是智能的,要有媒体访问控制功能,从而增加了站点的硬件和软件开销。

7.2 环形结构

在环型拓扑中各节点通过环路接口连在一条首尾相连的闭合环型通信线路中,环路上任何节点均可以请求发送信息。请求一旦被批准,便可以向环路发送信息。环型网中的数据可以是单向也可是双向传输。由于环线公用,一个节点发出的信息必须穿越环中所有的环路接口,信息流中目的地址与环上某节点地址相符时,信息被该节点的环路接口所接收,而后信息继续流向下一环路接口,一直流回到发送该信息的环路接口节点为止。

在这里插入图片描述

环型拓扑的优点:
(1)电缆长度短。环型拓扑网络所需的电缆长度和总线拓扑网络相似,但比星形拓扑网络要短得多。
(2)增加或减少工作站时,仅需简单的连接操作。
(3)可使用光纤。光纤的传输速率很高,十分适合于环型拓扑的单方向传输。

环型拓扑的缺点:
(1)节点的故障会引起全网故障。这是因为环上的数据传输要通过接在环上的每一个节点,一旦环中某一节点发生故障就会引起全网的故障。
(2)故障检测困难。这与总线拓扑相似,因为不是集中控制,故障检测需在网上各个节点进行,因此就不很容易。
(3)环型拓扑结构的媒体访问控制协议都采用令牌传递的方式,在负载很轻时,信道利用率相对来说就比较低。

7.3 星形结构

星型拓扑是由中央节点和通过点到点通信链路接到中央节点的各个站点组成。中央节点执行集中式通信控制策略,因此中央节点相当复杂,而各个站点的通信处理负担都很小。星型网采用的交换方式有电路交换和报文交换,尤以电路交换更为普遍。这种结构一旦建立了通道连接,就可以无延迟地在连通的两个站点之间传送数据。流行的专用交换机PBX (Private Branch exchange)就是星型拓扑结构的典型实例。

在这里插入图片描述

星型拓扑结构的优点:
(1)结构简单,连接方便,管理和维护都相对容易,而且扩展性强。
(2)网络延迟时间较小,传输误差低。
(3)在同一网段内支持多种传输介质,除非中央节点故障,否则网络不会轻易瘫痪。
(4)每个节点直接连到中央节点,故障容易检测和隔离,可以很方便地排除有故障的节点。

因此,星型网络拓扑结构是应用最广泛的一种网络拓扑结构。
星型拓扑结构的缺点:
(1)安装和维护的费用较高
(2)共享资源的能力较差
(3)一条通信线路只被该线路上的中央节点和边缘节点使用,通信线路利用率不高
(4)对中央节点要求相当高,一旦中央节点出现故障,则整个网络将瘫痪。

星型拓扑结构广泛应用于网络的智能集中于中央节点的场合。从趋势看,计算机的发展已从集中的主机系统发展到大量功能很强的微型机和工作站,在这种形势下,传统的星型拓扑的使用会有所减少。

7.4 树形结构

树型结构树形网络也叫多星级型网络。树形网络是由多个层次的星型结构纵向连接而成,树的每个节点都是都是计算机或转接设备。

在这里插入图片描述

集线器(hub)连N台电脑,他们共享在一个区域里,如果这个区域里有冲突,所有电脑都受影响。
交换机连n台电脑,每个交换机端口是一个独立的区域,即使有冲突,冲突也局限在相对应的交换机端口,不影响其他电脑。

树型拓扑的优点:与星型相比,它的通信线路总长度短,成本较低,节点易于扩充,寻找路径比较方便

树型拓扑的缺点:除了叶节点及其相连的线路外,任一节点或其相连的线路故障都会使系统受到影响。

扩展一下:交换机和集线器。

下图是集线器的一种:
在这里插入图片描述

下图是交换机:
在这里插入图片描述

7.5 网状结构

网状拓扑结构主要指各节点通过传输线互联连接起来,并且每一个节点至少与其他两个节点相连
这种结构在广域网中得到了广泛的应用,它的优点是不受瓶颈问题和失效问题的影响。由于节点之间有许多条路径相连,可以为数据流的传输选择适当的路由,从而绕过失效的部件或过忙的节点。这种结构虽然比较复杂,成本也比较高,提供上述功能的网络协议也较复杂,但由于它的可靠性高,仍然受到用户的欢迎。

在这里插入图片描述

网型拓扑的优点:
(1)节点间路径多,碰撞和阻塞减少。
(2)局部故障不影响整个网络,可靠性高。

网型拓扑的缺点:
(1)网络关系复杂,建网较难,不易扩充。
(2)网络控制机制复杂,必须采用路由算法和流量控制机制。

7.6 混合型拓扑

混合型拓扑是将两种单一拓扑结构混合起来,取两者的优点构成的拓扑。

一种是星型拓扑和环型拓扑混合成的"星-环"拓扑,另一种是星型拓扑和总线拓扑混合成的"星-总"拓扑。

这两种混合型结构有相似之处,如果将总线拓扑的两个端点连在一起也就变成了环型拓扑。

混合型拓扑的优点:
(1)故障诊断和隔离较为方便。一旦网络发生故障,只要诊断出哪个网络设备有故障,将该网络设备和全网隔离即可。
(2)易于扩展。要扩展用户时,可以加入新的网络设备,也可在设计时,在每个网络设备中留出一些备用的可插入新站点的连接口。
(3)安装方便。网络的主链路只要连通汇聚层设备,然后再通过分支链路连通汇聚层设备和接入层设备。

混合型拓扑的缺点:
(1)需要选用智能网络设备,实现网络故障自动诊断和故障节点的隔离,网络建设成本比较高。
(2)像星型拓扑结构一样,汇聚层设备到接入层设备的线缆安装长度会增加较多。

8. 按通信分的网络

8.1 点到点

将两台独立的计算机连接起来。星型网、环形网采用这种传输方式。

8.2 广播式

在一个广播式的网络上,通信信道被网络上的所有机器所共享;任何一台机器发出的数据包(简单理解就是数据在传输时为了快分组拆成几块,这些数据块称为数据包)能被所有其他任何机器收到。无线网和总线型网络属于这种类型。

有些广播系统还支持给一组机器发送数据包的模式,这种传输模式称为组播。

9. 需要知道的计算机名词

结合《计算机网络第五版》,计算机网络有很多名词,可以了解一下一些名词。

  1. 万维网(World Wide Web,简称www):是一个由许多互相链接的超文本组成的系统,通过互联网访问。是互联网的功能之一,在网上冲浪时就是在使用万维网,使用微信,qq,上传文件(FTP)就不是使用万维网。(参考
  2. 虚拟专用网(Virtual Private Networks,VPN):可以将不同地点的单个网络联结成一个扩展网络。也就是终结"地理位置的束缚"。
  3. (无线)射频识别技术(Radio Frequency Identification,RFID):RFID标签是一种无源芯片(无电池,),公交卡、二代身份证、食堂餐卡等里面就有这种芯片,然后利用无线射频识别技术对带有RFID标签的东西进行通信,读取信息。无电池是最早的,现在也有有电池的,比如高速公路上的不停车收费那个。
  4. 全球定位系统(Global Positioning System,GPS):像移动手机上都装有GPS接收器,一打开就可以知道我们的位置。当然位置是可以虚拟的。
  5. 进场通信(NFC):是由非接触式射频识别(RFID)及互连互通技术整合演变而来的,可以看成是RFID的子集。像现在手机都带有NFC,就可以充当RFID智能卡(模拟)与RFID读写器互动进行消费;也可以充当读写器,对公交卡进行充值。
  6. 钓鱼(Phishing)邮件/网站:钓鱼就是伪装成一个看起来可以信赖的邮件/网站,这类通常诱使你吐露敏感信息,比如密码,身份证账号,银行卡账号等。
  7. 数据包:包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”,也可以叫“数据报”。在包交换网络里,单个消息被划分为多个数据块,这些数据块称为包,它包含发送者(IP地址)和接收者的地址信息。是在网络层中的。
  8. 数据帧:数据帧中包含数据包,是在数据链路层中的。带有MAC地址。
  9. 报文(message):在不同的上下文中有不同的称呼,上面的数据包就是网络层中的报文。
  10. 通信子网:通信子网由各种网络通信设备(如路由器、交换机)和通信线路组成,负责数据传输。
  11. 资源子网:资源子网由计算机、外部设备(如打印机)组成,负责处理数据。
  12. 子网(subnet):为了确定网络区域,分开主机和路由器的每个接口,从而产生了若干个分离的网络岛,接口端连接了这些独立网络的端点。这些独立的网络岛叫做子网(subnet)。
  13. 模拟信号:指用连续变化的物理量表示的信息。
  14. 模拟信道:传输模拟信号,如调幅或调频波。
  15. 数字信道:传输二进制脉冲信号(也称数字信号)。
  16. 数字用户线(DSL):Digital Subscriber Line,它重复使用连到各家的电话线进行数字数据的传输。
  17. 非对称数字用户线路(ADSL):Asymmetric Digital Subscriber Line,利用现有的一对电话铜线,为用户提供上行(上传文件)、下行(下载文件)非对称的传输速率(即带宽)。这里是普通宽带上网,现在我们用的是光纤上网的,所以更快。
  18. 调制解调器(modem,俗称猫):取自调制(modulator)和解调(demodulator),指任何一种在数字比特和模拟信号之间作转换的设备。就是我们家里常说的光猫。

10. 网络的性能指标

10.1 速率/比特率/数据率

连接在计算机网络上的主机在数字信道上传送数据位数的速率。单位是b/s,kb/s,Mb/s或者Mbps,Gb/s。当提到网络的速率时,往往指的是额定速率或标称速率(理想速率),并非网络实际上运行的速率。

换算公式:1MB/s = 8b/s = 8Mbps

数字信道:传输比特的信号,比如再看电影时就得给我们开通一个数字信道,下载文件时又得给我们开通一个数字信道。
所以是建立在一个接收方和一个发送方,速率是在这信道的两端点间每秒传输的比特量。

10.2 带宽

数据通信邻域中,数字信道所能传送的最大理论速率值。ISP说的网速一般指带宽。单位是b/s或者Mbps,kb/s,Mb/s,Gb/s。其实带宽包括上行速率(上传文件的速率)和下行速率(下载文件的速率),两者的速率是由ISP提供的,如果是普通的电话线(电缆)则上下是不对称的,现在是光纤上网,所以上下都是对称的,即100M的带宽理论上的上行速率和下行速率都可以跑满100M。

网络提供商(ISP)给我们家装宽带,说给你的网络速率有100M呢,但实际上你下载东西到达100M了吗?其实说的100M是比特(上限),即100Mb/s或者100Mbps,而电脑显示的是字节,也就是说可到达的最大速率是100/8=12.5MB/s。注意大写B(字节)和小写b(比特)。

区别好:一个是在电脑显示的单位(MB/s),一个是网络中常用的单位(Mbps)。

可以看自己的电脑的网卡支持多少兆的带宽。所以网速不仅跟ISP提供的带宽有关系还跟硬件有关。如果遇到ISP提供的带宽和网卡支持的带宽不一样会怎样,那就会默认自动选取一个最合适的带宽(一般会选一个最低的)。

在这里插入图片描述

但是网速的影响不仅仅那样,比如还跟下载文件的服务器有关等。

10.3 吞吐量/流量

在单位时间内通过某个网络的数据量,单位为b/s,Mb/s等。

顾名思义,一个吞,指的是下载文件产生的流量,专业名称是下行流量,一个吐,指的是上传文件产生的流量,专业名称是上行流量。所以ISP每月提供给我们的流量计费是上行流量和下行流量的总和量。

比如下载文件,看电影产生的数量量(流量)的总和。

10.4 时延

一个报文或分组从一个网络(或一条链路)的一端传送到另一端所需要的时间。

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

  1. 发送时延(传输时延):主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特开始算起,到该帧的最后一个比特发送完毕所需的时间。(发生在机器中)

    • 公式:发送时延 = $\dfrac{数据帧长度(bit)}{发送速率(bit/s)}$
  2. 传播时延:指电磁信号或光信号在传输介质中传播一定的距离所花费的时间,即从发送端发送数据开始,到接收端收到数据(或者从接收端发送确认帧,到发送端收到确认帧),总共经历的时间。(发生在传输介质中)

    • 公式:发送时延 = $\dfrac{信道长度(m)}{传播速率(m/s)}$
    • 在铜线电缆中的传播速率约为 2.3 * 10^5 km/s
    • 在光纤中的传播速率约为 2.0 * 10^5 km/s
    • 在此有个疑问不是说光纤比较快吗?是的,其主要原因是铜线传播在传播距离上有一个因素是“衰减”,比如平常用的双绞线,传播距离就能达到100m,更长的距离就需要通过中继器来延续信号,而且只能使用有限次的中继,每次中继也是在消耗时间。而光纤中光传导的的损耗要比点在电线中的损耗低很多,它的传播距离一般都在数千米以上。更多具体参考
  3. 处理时延:主机或路由器收到分组时要花费一定的时间去处理。

  4. 排队时延:分组在经过网络传输时,要经过很多路由器,然而路由器也要处理不同的分组,所以后来的分组可能需要排队等待路由器处理完别的分组。

例如:网上预约医生(发送时延),然后自己过去(传播时延),可能需要排队(排队时延),然后询问医生(处理时延)。

10.5 时延带宽积

指的是数据链路上能够承载的最大数据量。就像一条公路上在单位时间内最多可以承载多少量车。

时延带宽积 = 时延 * 带宽

10.6 往返时间(RTT)

互联网上的信息不仅仅单向传输而是双向交互的。所以有时就需要知道一次双向交互的所需的时间。往返时间包括中间结点的处理时延、排队时延、以及转发数据时的发送时延(中途要经过很多路由器)

可以在CMD上ping一个网站,然后ping出来的结果中带有时间,每个时间都指的是RTT,因为是发送了4次包,不是那些时间加起来才是RTT。时间越小,说明连接到这个地址更快。

在这里插入图片描述

10.7 利用率

这里的利用率指的是信道利用率

利用率 = 有数据通过的时间 / (有+无)数据通过的时间

有数据通过的时间一般指发送时延。(有+无)数据通过的时间可能包括往返时间(RTT)、发送时延,处理时延。

网络利用率:信道利用率加权平均值。

11. 网络的体系结构

为了降低网络的复杂性,绝大多数网络都组成一个层次栈(a stack of layer)或分级栈(a stack of level)。每一层都建立在其下一层的基础之上。层的个数、每层名字和内容以及功能各个网络不尽相同。每一层的目的都是为其上层提供特定的服务,下层如何实现这些服务上层并不需要知道。

需要了解的名词:

  1. 实体(Entity):交换信息的硬件或软件进程。
  2. 协议(Protocol):是指通信双方(一对实体)就如何进行通信的一种约定。协议就好像语言,我们中国人和外国人交流时,肯定要用同种语言才可以交流。
  3. 服务(Service):下层向上层提供服务,上层需要使用下层提供的服务来实现本层的功能。
  4. 接口(Interface):接口定义了下层向上层提供哪些哪些原语(操作)和服务。
  5. 对等体(Peer):不同机器上构成相应层次的实体。

在这里插入图片描述

这张图的含义:主机1向主机2通信时,是从主机1(第5层)开始通过接口把数据向下传输:第5层-》第4层-》…第1层,每一层中的数据会被处理,所以数据名称叫法有所改变,这里先不说。然后通过物理介质(电线,光纤)把数据传到主机2的第1层,然后一直向上传递到主机2的第5层。两台主机中相同层次的协议要相同,才可以把数据处理成可识别的数据。

11.1 面向连接与无连接服务

下层可向上层提供两种不同类型的服务:面向连接的服务和无连接的服务。

  1. 面向连接的服务是按照电话系统建模的(可能会跟电报交换混了,等下看下面的比较),服务用户必须先建立一个连接,然后使用该连接传输数据,最后释放连接。最典型的就是TCP协议,这个以后再说。
  2. 无连接的服务是按照邮政系统建模的,每个信件(报文)都必须携带完整的目标信息,不需要与接收方建立连接。最典型的就是UDP协议,这个也以后再说。

面向连接的服务:可靠性传输,即数据能保证送到对方。流量控制,防止大量数据对网络带来冲击,保证用户网络高效而稳定运行。

面向无连接的服务:实时性强,比如应用在QQ聊天这些。可靠性不是那么高,结合上面的信件也有丢失的时候,只能重发。但是传输速度快,并不需要建立连接。

百度百科,刚好在百度百科看到对它们的区别解释
电路交换和分组交换 VS 面向连接和无连接:

  1. 电路交换和分组交换是强调在通信时用户对网络资源的占用方式
    电路交换是在连接建立后到连接释放前全程占用信道资源,而分组交换则是在数据传送是断续占用信道资源(分组在哪一条链路上传送就占用该链路的信道资源)。
  2. 面向连接和无连接则强调通信必须经过什么样的阶段
    面向连接必须经过三个阶段:“建立连接→传送数据→释放连接”,而无连接则只有一个阶段:“传送数据”。

分组交换中可以是面向连接的服务也可以是无连接的服务;电路交换只能是面向连接的服务。

11.2 服务与协议的关系

服务定义了该层准备代表其用户执行哪些操作,但它并不涉及如何实现这些操作。服务与两层之间的接口有关,低层是服务提供者,而上层是服务用户。

协议是一组规则,规定了同一层上对等体之间所交换的数据包或报文的格式和含义。对等实体利用协议来实现它们的服务定义,它们可以自由地改变协议,只要不改变呈现给它们用户的服务即可。

总结成一句话:服务涉及层与层之间的接口,协议涉及不同机器上两个对等实体之间发送的数据包。

可以使用高级语言来说:服务就好像是面向对象语言中的抽象数据类型或对象,而协议与服务的具体实现有关。

12 参考模型

网络体系结构中两个重要的模型:OSI参考模型和TCP/IP模型

12.1 OSI参考模型

OSI模型(OSI,Open System Interconnection)是国际标准化组织(ISO,International Standards Organization)的研究的网络互联模型。所以要区别好OSI和ISO,一般全称这样写:OSI/ISO模型。

OSI模型也称开放系统互连,它涉及那些为了与其他系统通信而开放的系统。OSI模型有7层,从底层往高层讲:百度百科

  • 物理层(physical layer):主要功能是利用传输介质为数据链路层提供物理联接,负责数据流的物理传输工作。物理层传输的基本单位是“比特流”。 还涉及了:电压、物理数据速率、最大传输距离、物理传输介质等。
  • 数据链路层(data link layer):在通信实体间建立数据链路联接,传输的基本单位为“帧”,并为网络层提供差错控制和流量控制服务。
  • 网络层:主要为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能。传输的基本单位为“数据包”或者“数据报”。该层有提供数据报和虚电路方式的服务。数据报是一种无连接的网络服务,虚电路是一种面向连接的网络服务。
  • 传输层(transport layer):基本功能是接收来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并确保这些数据单元正确地到达另一端,即为用户提供End—to—End(端到端)服务。该层提供的服务可分为传输连接服务(通常,对会话层要求的每个传输连接,传输层都要在网络层上建立相应的连接。)和数据传输服务(强调提供面向连接的可靠服务,并提供流量控制、差错控制和序列控制)。
  • 会话层(session layer):主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。会话层还可以通过对话控制来决定使用何种通信方式,全双工通信或半双工通信。
  • 表示层(presentation layer):关注的是所传递信息的语法和语义,处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等。比如在网页上点击切换中文语言,网页即显示中文,点击切换英文语言,就显示英文页面。
  • 应用层(application layer):包含了用户通常需要的各种各样的协议。比如广泛使用的超文本传输协议(HTTP,HyperText Transfer Protocal),它是万维网的基础。

在这里插入图片描述

参考:网络层,传输层都提供了面向连接和无连接的服务方式。但是它这种说法应该不对,应该是说相对于什么参考模型来说,比如ISO的传输层只是提供了面向连接的服务
额外注意:传输层是在用户机器上运行的,而网络层是运行在承运商控制的路由,所以传输层的目的是为了丢失的、损坏的数据能在该层先检测出来,然后由该层来补偿。用户对网络层几乎没有控制权,如果总是丢失数据要怎么办,可以重发,但是数据都到了承运商那里了,现在重发,影响速度,如果能在用户机器发送到承运商前先检查好(在用户机器上重发),那么速度岂不是快了。

12.2 TCP/IP参考模型

现在的Internet所使用的就是该模型。鼻祖ARPANET也是使用该模型。TCP/IP参加模型是以无缝的方式将多个网络连接起来。这里以该模型中两个最主要的协议命名,即TCP协议和IP协议。该模型一共有5层,以最低层开始:

  • 链路层(link layer)或网络接入层(即主机-网络层):网络接入层与OSI参考模型中的物理层和数据链路层相对应,它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。
  • 互联网层(internet layer):将整个网络体系结构贯穿在一起的关键层。大致对应于OSI的网络层。该层的任务是允许主机将数据包注入到任何网络,并且让这些数据包独立地到达接收方(接收方可能在不同的网络上)。主要有2个协议:因特网协议(IP,Internet Protocal),与之相伴的还有一个辅助协议:因特网控制报文协议(ICMP,Internet Control Message Protocal)。百度百科说有3个主要协议,除上面两个还有一个:互联网组管理协议(IGMP)。
  • 传输层(transport layer):为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。。跟OSI的传输层一样,主要定义了两个端到端的传输协议:传输控制协议(TCP,Transport Control Protocal)和用户数据包协议(UDP,User Datagram Protocal)。TCP协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务。
  • 应用层:应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务(来自OSI模型的经验,对于大多数应用来说表示层和会话层独立出来并没有多大用处,所以就合并在应用层)。例如:文件传输协议(FTP,上传文件要用的),电子邮件协议(SMTP),域名系统(DNS,将主机名称映射到网络地址)等。

书上的图,不过这张图还缺少一些协议:
在这里插入图片描述

12.3 OSI/ISO参考模型和TCP/IP参考模型的比较

在这里插入图片描述

共同点:都是以协议栈概念为基础,并且协议栈中的协议彼此相互独立,此外,两个模型中各个层的功能也大致相似。

不同点:

  • OSI/ISO模型的核心是:服务、接口、协议。而TCP/IP模型并没有明确区分服务、接口、协议。所以OSI/ISO模型中的协议比TCP/IP模型中的协议有更好的隐蔽性,当技术发送变化时OSI模型中的协议相对更容易被新协议所替换。
  • 无连接和面向连接的通信领域有所不同。OSI模型的网络层同时支持无连接和面向连接的通信,但是传输层只能支持面向连接的通信;ICP/IP模型在网络层只支持一种模式:无连接,但是在传输层同时支持两种通信模型,给了用户一个选择的机会。

12.4《计算机网络第五版》使用的模型

因为我是结合这本书的,使用5层模型来讲解,韩立刚老师使用的模型也是这样。

在这里插入图片描述

  1. 物理层规定了如何在不同的介质上以电器(或其他模拟)信号传输比特。
  2. 链路层关注的是如何在两台直接相连的计算机之间发送有限长度的消息,并具有指定级别的可靠性。
  3. 网络层主要处理如何把多条链路结合到网络中,以及如何把网络与网络联结成互联网络,以便使我们可以在两个相隔遥远的计算机之间发送数据包。
  4. 传输层增强了网络层的传递保证,通常具有更高的可靠性,而且提供了数据交付的抽象。
  5. 应用层包含了使用网络的应用程序。比如Web浏览器。

参考:

我们常说的互联网究竟是怎么形成的?

网络通信方式:CS和P2P入门区别

三种交换方式的优缺点

韩立刚老师的计算机网络

计算机网络第五版

发布了65 篇原创文章 · 获赞 51 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41800884/article/details/104288628