IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络第一章 -> 正文阅读

[网络协议]计算机网络第一章

1.计算机网络的概念

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享信息传递的系统。

网络:是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。

计算机网络在实际上没有精确统一的定义。
但是有一个最简单的定义:计算机网络是一些互连的、自治的计算机系统的集合。
互连:指的是计算机之间可以通过有线或者无线的方式进行数据通信。
自治:指的是独立的计算机,拥有自己的硬件和软件,可以独立运行。
计算机集合:指的是至少要有两台计算机。
比较全面的定义是:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据(如音频、数据),并能支持广泛的和日益增长的应用。

2.计算机网络的功能


分布式处理:同一工作任务可由多台计算机共同完成。
负载均衡:同一工作任务由多台计算机轮流或同时完成。

3.计算机网络发展的三个阶段


第一阶段的特点是从单个网络ARPANET向互联网发展。
第二阶段的特点是建成了三级结构的互联网。
第三阶段的特点是逐渐形成了全球范围的多层次ISP结构的互联网。
三级结构指的是主干网、地区网和校园网(或企业网)。
ISP指的是互联网服务提供商,如国内的中国移动、中国联通和中国电信。ISP也分为不同层次:主干ISP、地区ISP和本地ISP

其中IXP为互联网交换点,其主要作用是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。

4.互联网与互连网

互联网(Internet):指当前全球最大的、开放的、由众多网络相互连接而成的计算机网络,且 其前身是美国的APRANET,为专用名词
互连网(internet):泛指由多个计算机网络互连而成的计算机网络,为通用名词

5.互联网的标准化工作


6.互联网的组成

互联网从工作方式上看可分为边缘部分核心部分
边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(如传输数据、音频或视频)和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换)。

1.边缘部分

处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统,就是末端的意思(即互联网的末端)。
小的端系统:个人电脑、智能手机或网络摄像头等
大的端系统:大型计算机(通常称为服务器)。
我们要明确一个概念:主机A与主机B进行通信,实际上是指:运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信。由于进程就是运行着的程序,因此这也可以理解为:主机A的某个进程和主机B上的另一个进程进行通信。这种比较严密的说法可以简称为计算机之间通信
在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)对等方式(P2P方式)

1.客户-服务器方式


客户程序:
1.被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
2.不需要特殊的硬件和很复杂的操作系统。
服务器程序:
1.是一种专门用来提供某种服务的程序,可同时处理多个远地或本地用户的请求。
2.系统启动后即一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。
3.一般需要有强大的硬件和高级的操作系统支持。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接受数据。

2.对等连接方式

2.核心部分

在网络核心部分起特殊作用的是路由器,它是一种专用计算机(但不叫作主机),路由器是实现分组交换的关键构件,其任务是转发收到的分组。

为了清楚路由器转发分组的过程,我们先来看下货物的转发过程

由上图分析可得,路由器转发分组的过程:
1.接受分组
2.存储分组
3.查找转发表
4.找到转发端口,转发分组

1.电路交换



2.分组交换




3.报文交换

4.三种交换比较


电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
分组交换:单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。

7.计算机网络的分类


1.按照网络的作用范围分类

广域网(WAN):作用范围通常是几十到几千公里的区域,因而有时也称远程网。广域网是互联网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。
城域网(MAN):作用范围一般是一个城市,可跨越几个街区甚至整个城市,作用距离约为约5 ~ \sim 50km,城域网大多采用以太网技术,因此有时也常并入局域网的范围进行讨论。
局域网(LAN):作用范围局限在较小的范围(如1km左右)。一般用微型计算机或工作站通过高速通信线路相连。
个人区域网(PAN):作用范围大约十米左右。是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网(WPAN)。

2.按照网络的使用者分类

公用网:指电信公司出资建造的大型网络。公用的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网
专用网:指某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。

8.计算机网络的性能

1.速率

速率指的是数据的传送速率 ,也称为数据率或比特率。需要注意的是,速率往往是指额定速率或标称速率,而非实际运行速率。
速率的单位是bit/s(比特每秒)
1 1 1kb/s = 1 0 3 =10^3 =103b/s
1 1 1Mb/s = 1 0 3 =10^3 =103kb/s = 1 0 6 =10^6 =106b/s
1 1 1Gb/s = 1 0 3 =10^3 =103Mb/s = 1 0 6 =10^6 =106kb/s = 1 0 9 =10^9 =109b/s
1 1 1Tb/s = 1 0 3 =10^3 =103Gb/s = 1 0 6 =10^6 =106Mb/s = 1 0 9 =10^9 =109kb/s = 1 0 12 =10^{12} =1012b/s

2.带宽

3.吞吐量

吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量通常用来测量实际上到底有多少数据量能够通过网络。且吞吐量受网络的带宽或网络的额定速率的限制。

4.时延

时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟迟延
网络中的时延由以下几个不同的部分组成:
发送时延、传播时延、处理时延和排队时延

1.发送时延

发送时延:是主机或路由器发送数据帧所需要的时间,也就是从发生数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。发送时延也叫做传输时延,为了避免跟传播时延搞混,一般不常用。
发生时延的计算公式如下:
发 送 时 延 = 数 据 帧 长 度 ( b i t ) 发 送 速 率 ( b i t / s ) 发送时延=\frac{数据帧长度(bit)}{发送速率(bit/s)} =bit/sbit?
举个例子:
100个小学生放学排队离开学校,每个学生离开校门需要1秒的时间,100名学生离开校门需要多长时间?
答: t = 100 1 = 100 秒 t=\frac{100}{1}=100秒 t=1100?=100

2.传播时延

传播时延:是电磁波在信道中传播一定的距离需要花费的时间。
传播时延的计算公式如下:
传 播 时 延 = 信 道 长 度 ( 米 ) 信 号 在 信 道 上 的 传 播 速 率 ( 米 / 秒 ) 传播时延=\frac{信道长度(米)}{信号在信道上的传播速率(米/秒)} =/?
注意:
发送时延发生在机器内部的发送器中(一般是在网络适配器中),与传输信道的长度(或信号传送的距离)没有任何关系。
传播时延发生在机器外部的传输信道媒体上,与信号的发送速率无关。信号传送的距离越远,传播时延就越大。

3.处理时延

处理时延:是指主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找转发表等)所花费的时间。

4.排队时延

排队时延:是指分组在路由器输入输出队列中排队等待处理所经历的时延。因为路由器处理的数据很多,而路由器又不能同时处理完所有数据,因此需要进行排队等待。排队时延的长短往往取决于网络中当时的通信量。

最后我们得出一个结论:
总 时 延 = 发 送 时 延 + 传 播 时 延 + 处 理 时 延 + 排 队 时 延 总时延=发送时延+传播时延+处理时延+排队时延 =+++
必须指出,在总时延中,究竟是哪一种时延占主导地位,必须具体分析。

5.时延带宽积

时延带宽积又称为以比特为单位的链路长度,即某段链路现在有多少比特。
其计算公式为: 时 延 带 宽 积 = 传 播 时 延 × 带 宽 时延带宽积=传播时延\times 带宽 =×

如上图所示,传播时延代表了圆柱形管道的长度,带宽代表了管道的截面积。对于一条正在传送数据的链路,只有在代表链路的管道都充满比特时,链路才得到了充分利用。

6.往返时延RTT


RTT越大,在收到确认之前可发送的数据越多。因为一直收不到确认,以为可以一直发送信息,所以就一直发一直发,所以发送的数据就越来越多。

7.利用率

利用率分为信道利用率和网络利用率。信道利用率指出某信道有百分之几的时间是被利用的(即有数据通过),网络利用率是全网络的信道利用率的加权平均值。


由上图我们可以得出结论:信道利用率或网络利用率过高就会产生非常大的时延。

9.计算机网络的系统结构

1.分层

计算机网络是个非常复杂的系统。相互通信的两个计算机必须高度协调工作才行,而这种协调是相当复杂的。分层可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

如上图就是两个不同语言的人进行沟通的过程。

上图是两台计算机通信需要进行的操作,可以看出分成了四个步骤,如果把这四个步骤一起考虑就会使问题变得复杂,因此我们采用分层技术。
那我们如何分层呢?一般情况下我们按功能进行抽象分层,定义层间接口和提供什么服务,层间如何调用服务,对等层间的必须遵循的规则(协议)。
分层 的基本原则如下:



由于网络体系结构的不同,不同公司的设备很难互相连通。

2.协议

计算机网络中的数据交换必须遵守事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。网络协议,简称为协议,是为进行网络中的数据交换而建成的规则、标准或约定。
协议有两种形式,一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
网络协议主要由以下三个要素组成:
1.语法:数据与控制信息的结构或格式,解决交换信息的格式问题。
2.语义:需要发出何种控制信息,完成何种动作以及做出何种响应。解决做什么的问题。
3.同步:事件实现顺序的详细说明。什么时间什么条件下做某一特定操作的规定,解决先做什么后做什么的问题。

注意:正如我们日常生活中需要各种规章制度跟法律一样,网络协议也是计算机网络不可缺少的组成部分。

10.计算机网络的体系结构

计算机网络的体系结构:是计算机网络的各层及其协议的集合。体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。实现是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。比如一种建筑风格是抽象的,但是建筑却是具体的。
OSI七层协议体系结构的概念清楚、理论也较完整,但它既复杂又不实用。
TCP/IP四层协议体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。
因此往往采取折中的办法,即综合OSITCP/IP的优点,采用一种只有五层协议的体系结构。

为了方便理解计算机之间的协议封装和协议解封装过程,我们先来看下两个人互相送礼物的过程。

下面即为计算机之间的协议封装和解封装过程。


实体:表示任何可发送或接收信息的硬件或软件进程。
协议:控制两个对等实体进行通信的规则的集合(水平的)。
1.在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务(功能调用,垂直的,单向的)。
2.要实现本层协议,还需要使用下层所提供的服务。
3.本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
4.服务在形式上由一组接口原语(或操作)来描述,上层实体向下层实体请求服务时,服务提供者和服务用户间需要交互一些必要的信息,以说明要去服务的一些情况,这些信息即服务原语。
5.上层使用服务原语获得下层所提供的服务。
OSI将服务原语划分为四类:
? \bullet ?请求(Request):由服务用户发往服务提供者,请求它完成某项工作。
? \bullet ?指示(Indication):由服务提供者发往服务用户,指示发生了某些事件。
? \bullet ?响应(Response):由服务用户发往服务提供者,对前面发生的指示的响应。
? \bullet ?确认(Confirmation):由服务提供者发往服务用户,对前面发生的请求的证实。


SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
PCI协议控制信息:控制协议操作的信息。
PDU协议数据单元:对等层次之间传送的数据单元。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 19:06:09  更:2022-03-30 19:09:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:22:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码