计算机网络的概述
概念
网络:网状类的东西或系统。
计算机网络:是一个将分散的、具有独立性功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。即计算机网络是互连(通过通信链路互连互通)的、自治(无主从关系)的计算机集合。
功能
数据通信:即可以实现多台计算机之间的信息交流,例如发送邮件,接收资料等。
资源共享:同一个计算机网络上的其他计算机可使用某台计算机的计算机资源的行为,可共享硬件、软件、数据。
分布式处理:多台计算机各自承担同一份工作任务的不同部分,如 Hadoop平台。
提高计算机可靠性
实现负载均衡
发展
网络把许多计算机连接在一起,互联网(internet:interconnected network)则把许多网络连接在一起,因特网(Internrt)是世界上最大的互联网
-
初创阶段(1960年代初至1970年代末):
- ARPANET的建立: ARPANET是第一个分组交换网络,由美国国防部高级研究计划局(ARPA)于1969年建立。其目标是实现分布式、鲁棒性的通信系统,以应对军事上的网络故障。
- 包交换技术: 这个阶段的关键技术是包交换,它允许数据以离散的包的形式在网络中传输,而不是通过传统的电路交换。
-
分组交换网络的发展(1970年代末至1980年代初):
- TCP/IP协议: 1970年代末至1980年代初,TCP/IP协议套件的发展成为事实上的标准,它定义了数据如何在网络中传输和路由。
- LAN和WAN的发展: 开始出现各种局域网(LAN)和广域网(WAN)技术,如以太网和传输控制协议/互联网协议(TCP/IP)。
-
商用互联网的崛起(1980年代末至1990年代初):
- 商用化和ISP: 互联网逐渐从军事和学术用途发展为商业用途,商用互联网服务提供商(ISP)涌现,为企业和个人提供接入互联网的服务。
- 万维网的发明: 1990年,蒂姆·伯纳斯-李发明了万维网,引入了超文本标记语言(HTML)和统一资源定位符(URL)等概念,使互联网更加用户友好。
-
大众化和全球化(1990年代至2000年代初):
- 普及和多媒体: 互联网的使用普及,大量个人用户和企业加入网络。多媒体内容,如图像和音频,变得更加普遍。
- 宽带互联网: 宽带互联网的兴起提供了更高的带宽,支持更快速和高质量的数据传输。
-
移动互联网时代(2000年代至2010年代初):
- 移动互联网: 移动设备的普及推动了移动互联网的兴起,无线网络技术不断进步,包括3G和4G。
- 社交媒体和云计算: 社交媒体平台崛起,云计算成为一种主流的服务模式,使用户能够访问和分享存储在云中的数据。
-
物联网和5G时代(2010年代至今):
- 物联网(IoT): 物联网的概念变得更加突出,各种设备和传感器开始互联,共同构建智能化的环境。
- 5G技术: 5G技术的推出提供了更高的带宽和低延迟,支持更多复杂的应用,包括虚拟现实、增强现实和自动驾驶等。
组成
组成部分:硬件、软件、协议(一系列规则和约定的集合)
工作方式:
① 边缘部分:用户直接使用:C/S(或B/S)、P2P方式
C/S:Client/Server,客户端与服务器之间的请求方式,因为服务端数量的原因,当请求的机器越多,请求的速度越慢。
B/S:Browser/Server,浏览器与服务器之间的请求方式(本质上依然是C/S,只不过这里的客户端换成了浏览器)
P2P:Peer-to-Peer,对等的请求方式,没有固定的服务端和客户端,即每台机器都可以是客户端,也可以是服务器。当需要请求资源的时候为客户端,当有与其他客户端需要的请求资源时为服务端。即“我为人人,人人为我”的思想。当请求的机器越多,请求的速度就越快。
② 核心部分
功能组成:① 资源子网:实现数据通信
② 资源子网:实现资源共享/数据处理
分类
按分布范围分:广域网WAN(交换技术)、城域网MAN、局域网LAN(广播技术)、个人区域网PAN(蓝牙)
按使用者分:公用网、专用网
按交换技术分:电路交换、报文交换、分组交换
按拓扑结构分:
按传输技术分:① 广播式网络:共享公共通信信道
② 点对点网络:使用分组存储转发和路由选择机制
标准化工作
要实现不同厂商的硬、软件之间能够相互连通,必须遵从统一的标准。标准化对计算机网络至关重要。
法定标准
由权威机构制定的正式的、合法的标准,如OSI。
事实标准
某些公司的产品在竞争中占据了驻留,经过长时间的筛选,这些产品中的协议和技术便成了标准。如TCP/IP
标准形式
RFC(Request For Comments)——因特网标准的形式
RFC上升为因特网正式标准的四个阶段:
- 因特网草案(Internet Draft):该阶段还不是RFC文档。
- 建议标准(Proposed Standard):从这个阶段开始称为RFC文档。
- 草案标准(Draft Standard:于2011年取消该环节)
- 因特网标准(Internet Standard):交由IETF、IAB组织审核通过后正式成为因特网标准。
相关组织
国际标准化组织ISO:OSI参考模型、HDLC协议
国际电信联盟ITU:制定通信规则
国际电气电子工程师协会IEEE:学术机构、IEEE802系列标准、5G
Internet工程任务组IETF:负责因特网相关标准的制定
性能指标
速率
速率即数据率或称数据传输率或比特率,即连接在计算机网络上的主机在数字信道上传输数据位数的速率。
单位是b/s,kb/s,Mb/s,Gb/s,Tb/s
这与存储容量比较相似:1 Byte(字节) = 8Bit(比特)
带宽
“带宽”原本指的是某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。在计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”,单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s。即网络设备所能支持的最高速度。
吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s、kb/s、Mb/s等
吞吐量受网络的带宽或网络的额定速率的限制。
时延
指数据(报文/分组/比特流)从网络(或者链路)的一端传送到另一端所需要的时间。也叫做延迟或迟延,单位为s。
时延分为四种:发送时延(传输时延)、传播时延、排队时延、处理时延。
发送时延
从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需要的时间。
计算公式:发送时延 = 数据长度 / 信道带宽(发送速率)
如上图,发送的数据长度为10b,则发送时延为1s。
传播时延
电磁波在信道上传播一定距离所花费的一定的时间,取决于电磁波传播速度和链路长度。
计算公式:传播时延 = 信道长度 / 电磁波在信道上的传播速率
排队时延
等待输出/入链路可用的等待时间。
处理时延
检查数据是否有错误,找到传出数据的通道口所花费的时间。
时延带宽积
时延带宽积又称为以比特为单位的链路长度,即“某段链路现在有多少比特”
往返时延RTT
从发送方发送数据开始,到发送方收到接收方的确定(接收方收到数据后立即发送确认),总共经历的时延。
举个最简单的例子,为了检测某个计算机是否已经联网,则可以直接打开cmd,然后在命令行输入ping www.baidu.com
看是否有数据返回回来。
上面的时间就是该计算机与百度网站的往返时延。RTT越大,在收到确认之前,可以发送的数据越多。
其中RTT包含两部分:① 往返传播时延 = 传播时延 * 2 ② 末端处理时间
利用率
信道利用率: 有数据通过时间 / (有 + 无)数据通过时间
网络利用率:信道利用率加权平均值
体系结构&参考模型
分层结构
实体:第n层中的活动元素被称为n层实体,同一层的实体叫对等实体。
协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议(水平层面)。
协议中有三大要素:
- 语法:规定传输数据的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的顺序
接口(访问服务点SAP):上层使用下层服务的入口
服务:下层为相邻上层提供的功能调用(垂直层面)。第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
将三到五层的结构抽取出来:
SDU服务数据单元:为完成用户所需求的功能而应传送的数据。
PCI协议控制信息:控制协议操作的信息。
PDU协议数据单元:对等层次之间传送的数据单位。
ISO/OSI参考模型
应用层
即所有能和用户交互产生网络流量的程序。
经典的应用层服务:① 文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)…
表现层
用于处理在两个通信系统中交换信息的表示方式(语法和语义)
表示层有以下三个功能:
① 数据格式变换,将应用层传来的数据转换成机器码的形式(二进制)。
② 数据加密解密,将用户层传来的数据进行加密处理,对传出的数据进行解密处理。
③ 数据压缩和恢复,将传入数据进行适当的压缩,减少传输的压力。将传出的数据进行恢复。
会话层
向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。会话即建立同步(SYN),会话之间一旦建立就彼此独立,互不影响。
功能:
① 建立、管理、终止会话。
② 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步(适用于传输大文件)。
主要协议:ADSP、ASP
传输层
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
功能:① 可靠传输(确认机制)、不可靠传输
② 差错控制(纠正错误的报文段)
③ 流量控制(控制数据发送的速度)
④ 复用分用(复用:多个应用层进程可同时使用下面运输层的服务;分用:运输层把收到的信息分别交付给上面应用层中相应的进程)
主要协议:TCP、UDP
网络层
把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络传输单位是数据报。
功能:① 路由选择(最佳路径)
② 流量控制
③ 差错控制
④ 拥塞控制(若所有结点都来不及接收分组而需要丢弃大量分组时,网络则会处于拥塞状态。因此要采取一定措施,缓解这种拥塞)。
主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
数据链路层
主要任务是将网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧。
功能:① 成帧(定义帧的开始和结束)
② 差错控制(帧错+位错)
③ 流量控制
④ 访问(接入)控制:控制对信道的访问
主要协议:SDLC、HDLC、PPP、STP
物理层
主要任务是在物理媒体上实现比特流的透明传输。传输单位是比特。
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
功能:① 定义接口特性
② 定义传输模式
- 单工(Simplex):单工通信是指数据只能在一个方向上传输的通信方式。在单工通信中,通信的两个设备中只有一个设备能够发送信息,而另一个设备只能接收信息。这种通信方式类似于广播或单向广播,其中信息只能沿一个方向传播。
- 半双工(Half Duplex):半双工通信是指数据能够在两个方向上传输,但不能同时进行。在任何给定的时刻,通信的两个设备中只有一个设备能够发送信息,而另一个设备只能接收信息。对许多对讲机和无线电通信系统来说,半双工通信是常见的。
- 双工(Full Duplex):双工通信是指数据能够在两个方向上同时进行。通信的两个设备都能够同时发送和接收信息。这种通信方式常见于电话系统、互联网通信和许多其他实时通信应用中。典型的例子是电话对话,其中两个人可以同时说话而不必等待对方完成。
③ 定义传输速率
④ 比特同步
⑤ 比特编码
主要协议:Rj45、802.3
TCP/IP模型
尽管OSI模型是一个早期的理论框架,但TCP/IP模型在实际应用中更为成功,成为互联网通信的主要标准。TCP/IP模型最初的是TCP/IP协议栈
后面对每一块进行分层,就变成了现在的TCP/IP参考模型
相同点
两个模型都采用的了分层的形式,都是基于独立的协议栈的概念。可以实现异构网络的互联。
不同点
OSI定义三点:服务、协议、接口
OSI先出现,参考模型先于协议发明,不偏向特定协议
TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次。
ISO/OSI参考模型 | TCP/IP模型 | |
---|---|---|
网络层 | 无连接+面向连接 | 无连接 |
传输层 | 面向连接 | 无连接+面向连接 |
面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,其为第二阶段,当数据传输完毕后,必须释放连接。而面向无连接没有这么多阶段,它可以直接进行数据传输。