计算机网络系列五篇文章传送门
计算机网络,既然是网络肯定是连起来,那么他们是怎么连起来的?网络又是什么?本章将对计算机网络做简要概述,但也详细说明了计算机网络七层模型
与四层模型
~
计算机网络及其分类(了解😄)
计算机网络
主要由一些通用的、可编程的硬件互联而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。需要注意的是:
- 计算机网络并不是软件概念,还包含硬件设备。
- 计算机网络不仅仅是信息通信,还可以支持广泛应用。
按分布范围,计算机网络分为局域网LAN、城域网MAN和广域网WAN。
按照网络使用者分为公用网络和专用网络。
公用网络:
所有愿意付钱,或者是愿意加入的都可以加入的网络。
专用网络:
某些部门或者人为满足特殊的业务需求,而建立起来的特殊的网络,军队,铁路,银行等。
可以在infrapedia
看一下壮观的国际互联网的主要线路的分布吧!
计算机网络发展历史
第一阶段:单个网络ARPANET
这个阶段主要是一些计算机通过交换机进行连接,这个时候计算机通过连接交换机,就可以直接完成信息的交换,并且连接的计算机不多
第二阶段:三级结构互联网
这个阶段主要连接的是全美国主要的一些学校、研究所、实验室等拥有计算机的地方
第三阶段:多层次ISP互联网
ISP
(Internet Service Provider):网络服务提供商(中国电信、中国联通、中国移动都是中国著名的网络服务提供商)。
顶级的是主干ISP,这里边就包含了上边提到的三大网络服务提供商。中国的主干ISP可以连接美国、澳洲、欧洲的主干ISP。主干ISP下边是地区ISP,比如说移动网络在中国叫中国移动,在北京叫北京移动、在上海叫上海移动,这个就属于地区ISP,地区ISP主要就是负责地区的网络服务的提供。
网络的性能指标
了解网络的性能指标,有助于评估或判断网络的质量或者速度。 评价一个网络的性能,主要由三个指标完成——速率
、时延
和往返时间RTT
。
速率(bps)
在了解之前,先对常用的丈量单位进行简单的了解(速率) 购买宽带时,经常会问问什么100M的光线,测峰值速度只有12m/s?
首先,因为网络常用单位是Mbps
100M/s = 100Mbps = 100Mbit/s
由比特位换算到字节是有一个进制的,8个比特位等于1个字节,因此:
100Mbit/s = (100/8)MB/s = 12.5MB/s
速率即bps,也就是我们常问的“多少bit/s啊?”。 (bps = bit/s)
时延
网络时延分四种:
发送时延:
本机进行网络发送的时候在本机所停留的时间,受限于网卡。传播时延:
受限于传输介质排队时延:
指数据包在网络设备中等待被处理的时间,如果数据从本机发送到路由器,路由器需要处理很多的数据包不能及时处理,发送的数据包可能需要在路由器中停留一段时间,等到路由器处理时这一段的时间被称作排队时延处理时延:
数据包到达某一设备或者到达目标机器被处理所需要的时间。如果到达目的的服务器性能不好,数据报文到达了以后服务器需要反应一段时间才能处理数据包,这一段时间就是处理时延
其中,发送时延和传播时延的计算方式如下图:
其中数据长度是由用户所决定的,发送速率由计算机网卡所决定。性能越好发送速率越快。路径由用户所决定,传播速率由传输的介质所决定,光纤、铜线不同的介质传播速率不同。
往返时间RTT
往返时间RTT是数据报文在端到端通信中来回一次的时间,通常用 ping
命令查看RTT。
ping一下本站点,服务器是华北腾讯云
DIDI-FVFYN24SHV2D:~ daxinge$ ping www.bayuechuqi.com
PING www.bayuechuqi.com (81.70.165.28): 56 data bytes
64 bytes from 81.70.165.28: icmp_seq=0 ttl=54 time=13.619 ms
64 bytes from 81.70.165.28: icmp_seq=1 ttl=54 time=13.476 ms
64 bytes from 81.70.165.28: icmp_seq=2 ttl=54 time=13.278 ms
64 bytes from 81.70.165.28: icmp_seq=3 ttl=54 time=13.147 ms
64 bytes from 81.70.165.28: icmp_seq=4 ttl=54 time=12.979 ms
64 bytes from 81.70.165.28: icmp_seq=5 ttl=54 time=13.354 ms
ping下知名ip——1.1.1.1(澳大利亚)
DIDI-FVFYN24SHV2D:~ daxinge$ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: icmp_seq=0 ttl=52 time=373.087 ms
Request timeout for icmp_seq 1
64 bytes from 1.1.1.1: icmp_seq=2 ttl=52 time=310.429 ms
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
可见到达澳大利亚也存在数据丢失的情况,且时间明显变长。
网络层次结构
网络层次结构设计的基本原则
了解计算机层次结构之前,需要了解为什么计算机网络要使用层次结构的设计?假设两台计算机分别是计算机A和计算机B,他们之间通过计算机网络连接起来,这里的计算机网络需要解决四个问题:
要保证数据通路顺畅
,如果网路断了,比如施工被挖掘机挖断了,数据就无法通信识别目的计算机
,在互联网有非常多的计算机,A如何识别到B,B又如何识别到A需要通过网络来解决通过网络需要查询到目的计算机状态
,如果A需要和B进行通信,A需要通过网络先知道B是否在线以及B是否可以接受数据。进行数据是否错误的判断
,数据很可能会因为宇宙射线等原因导致数据的错误。网路需要保证数据不会出错或者出错后如何解决。
计算机网络需要解决的问题繁多而又复杂,所以采用分层设计分层的去解决不同问题分别实现不同的功能以此让计算机网络正常运行,其基本原则为:
各层之间相互独立的
,某一层不需要知道下一层是如何实现的,也不需要直到它的上一层是如何实现。某一层仅仅需要知道该层是怎样通过层与层之间的接口来进行服务的提供。即每一层只实现一个相对独立的功能,并且层与层之间的耦合度非常的低。要求每一层有足够的灵活性
, 计算机网络不断发展,设计每一层的时候要求每一层有足够的灵活性使得它可以应对未来的变化各层之间完全解耦
,即某一层它的上一层或者下一层的变化不影响当前这一层的稳定没,使每一层的功能都易于实现和维护,并且结构上可以完全的独立。
其实这不光是网络层次结构设计的基本原则,也是我们开发中系统架构设计、组件设计等的基本原则。
OSI七层模型
开放式系统互联模型(Open System Interconnection Model,简称为 OSI 模型) 是一种概念模型,由国际标准化组织提出,并试图成为计算机在世界范围内互连为网络的标准框架,它具有七层网络结构。
物理层:
数据通信的光电物理特征数据链路层:
管理相邻节点之间的数据通信网络层:
数据路由(决定数据在网络中路径)传输层:
管理端到端的通信连接会话层:
管理(建立、维护、重连)通信会话表示层:
数据处理(加密、解密)应用层:
为计算机用户提供接口和服务
TCP/IP四层模型
互联网协议套件(Internet Protocol Suite,IPS) 是多个网络传输协议的集合,它为网际网络的基础通信提供架构支撑。由于该协议族中最核心的两个协议分别为 TCP(传输控制协议)和 IP(网际协议),因此它也被称为 TCP/IP 协议族(TCP/IP Protocol Suite 或 TCP/IP Protocols),简称 TCP/IP,它具有四层网络结构 :
网络接口层
(OSI七层模型的1、2)- 包含HTTP、FTP等协议网络层
(OSI七层模型的3)- 包含TCP、UDP协议传输层
(OSI七层模型的4)- 包含IP、ICMP协议应用层
(OSI七层模型的5、6、7)- 包含以太网、ARP等协议
有了上边的七层模型为什么还要有四层模型?
OSI七层模型在制定的时候,是想成为全球计算机都遵循的标准,然后促进全球的计算机都可以沿用这个标准来方便的进行互联以及交换数据。而实际上,OSI在市场化过程中困难重重,因为在OSI制定标准出来的时候,TCP/IP模型在全球范围内成功的运行了。 因此OSI七层模型,只是获得了理论层面的研究成果,但是在市场化方面却没有成功的推进。所以,OSI最终并没有成为广为使用的标准模型。
网络拓扑
了解网络拓扑可以帮助我们在脑海中形成一个形象的计算机网络,是有助于我们往下学习的。对于现代互联网的网络拓扑主要分为两个部分:边缘部分
、核心部分
。
边缘部分
主要指的的是平时的用户可以直接接触的部分,比如说在家、在公司或者在商场所使用的网络,都是属于计算机网络的边缘部分(家里的手机、电脑、智能家电,通过有线或无线的方式连接路由器,路由器连接一个当地的网关,然后网关连接到地区的ISP)。 上边是一个家庭连网的一个网络拓扑,下边看一个企业的网络拓扑。
核心部分
核心部分主要是由地区ISP、主干IS以及一些国际的路由器所组成。这些主干ISP相互连接,并且通过国际路由器来与其它国家和地区的主干ISP进行连接,这些就属于互联网的核心部分。这其中有很多的海底电缆、跨地区电缆等通信设备,他们主要是由中国联通、中国电信进行铺设,他们所使用的一些设备是来自中国的华为,所以说华为在通信领域是有一定的地位的。
应用层网络模型
客户/服务器模型(C/S)
服务器是提供计算服务的设备,主要特征:
- 永久提供服务
- 提供永久性访问地址或域名
主要应用于web、文件传输FTP、电子邮件等。
P2P模型
在P2P模型中,各计算机没有固定的客户和服务器划分。相反,任意一一对计算机一称为对等方(Peer), 直接相互通信。P2P 模型从本质上来看仍然使用客户/服务器方式,每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。当前比较流行的P2P应用有PPlive、Bittorrent 和迅雷下载等。
与C/S模型相比,P2P 模型的优点主要体现如下:
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统效率和资源利用率(例如,播放流媒体时对服务器的压力过大,而通过P2P模型,可以利用大量的客户机来提供服务)。
- 多个客户机之间可以直接共享文档。
- 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受- -定 数量的请求。
- 网络健壮性强,单个结点的失效不会影响其他部分的结点。
P2P模型也有缺点。 在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度。例如,经常进行P2P下载还会对硬盘造成较大的损伤。据某互联网调研机构统计,当前P2P程序已占互联网50%~90%的流量,使网络变得非常拥塞,因此各大ISP (互联网服务2提供商,如电信、网通等)通常都对P2P应用持反对态度。