本系统教程参考自:
教程:https://blog.youkuaiyun.com/weixin_42146136/category_10581354.html
视频:王道计算机考研 计算机网络_哔哩哔哩_bilibili
感谢!
1、计算机网络概述
1.1、概念、组成、功能和分类
1)计算机网络概念
-
计算机网络
是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善软件实现资源共享和信息传递的系统。
- 计算机网络的概念:计算机网络是互连的、自治的计算机集合
- 互连-互联互通 通信链路
- 自治-无主从关系
2)计算机网络的功能
- 数据通信:计算机网络最基本最重要功能
- 资源共享:硬件 软件 数据
- 分布式处理 :多台计算机各自承担同一工作任务的不同部分,例如Hadoop平台
- 提高可靠性:如果A主机宕机,可以通过替代机通信
- 负载均衡:各计算机之间互相配合
3)计算机网络的组成
a)组成部分
- 硬件、软件、协议(网络协议是网络软件系统中最重要、最核心的部分)
b)工作方式
- 边缘部分:用户直接使用 C/S方式 P2P方式
- 核心部分:为边缘部分服务
c)功能组成
- 通信子网:实现数据通信
- 资源子网:实现资源共享/数据处理
4)计算机网络的分类
a)按分布范围分
- 广域网WAN(交换技术)
- 城域网MAN
- 局域网LAN(广播技术)
- 个人区域网PAN
b)按使用者分
- 公用网(中国电信等)
- 专用网(军队内部网)
c)按交换技术分
- 电路交换
- 报文交换
- 分组交换
d)按拓扑结构分
e)按传输技术分
- 广播式网络(共享公共通信信道)
- 点对点网络(使用分组存储转发和路由选择机制)
5)总结
1.2、标准化工作及相关组织
1)标准化工作
2)相关组织
-
国际标准化组织ISO
OSI参考模型、HDLC协议
-
国际电信联盟ITU
制定通信规则
-
国际电气电子工程师协会IEEE
学术机构、IEEE802 系列标准、5G
-
Internet_工程任务组IETF
负责因特网相关标准的制定RFC XXXX
3)总结
1.3、速率相关的性能指标
1)速率
2)带宽
a)带宽原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz) 。
b)计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是:比特每秒,b/s, kb/s, Mb/s, Gb/s
带宽就是网络设备所支持的最高速度
理解:带宽可以理解为路的宽度,带宽2Mb/s的就是双车道,带宽1Mb/s的就是单车道
3)吞吐量
-
表示在单位时间内通过某个网络(或信道、接口)的数据量
单位b/s, kb/s, Mb/s 等
吞吐量受网络的带宽或网络的额定速率的限制
-
理解
- 带宽 可以理解为链路的理论传输速率上限
- 吞吐量 是某时间内链路实际的数据量
1.4、时延、时延带宽积、RTT和利用率
1)时延
- 指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是 s
理解:
- 排队时延:排队等待安检所需的时间
- 处理时延:安检所需的时间
- 发送时延(传输时延):把数据从主机放到信道上所需的时间,比如0101001从1到0全部发送出去所需的时间。
- 传播时延:数据以电磁波为载体传输,在信道上传输所需的时间。其中电磁波传播速度只与介质有关。
2)时延带宽积
3)往返时延RTT
- 从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延
- 终端输入ping命令,再加ip地址或者域名即可查看RTT
- RTT越大,在收到确认之前,可以发送的数据越多。因为RTT越大则等的越久,等的越久则数据越多
- RTT包括:往返传播时延 = 传播时延*2 + 末端处理时间(不包括发送时延,只管传播时延 )
4)利用率
5)总结
2、分层结构、协议、接口、服务
协议:网络软件系统最重要核心
2.1、分层结构
1)为什么要分层?
发送文件前要完成的工作:
(1) 发起通信的计算机必须将数据通信的通路进行激活。
(2) 要告诉网络如何识别目的主机。
(3) 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4) 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
(5) 确保差错和意外可以解决。
为什么分层?
以上问题比较多,要把大问题分成一系列的小问题进行解决。
2)怎么分层?
分层的基本原则
- 各层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上可分割开。每层都采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 酒桌中下级向上级敬酒,上级只接受直接下级的敬酒
- 整个分层结构应该能促进标准化工作
3)认识分层结构
-
实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体
-
协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。[水平方向]
网络协议属于计算机网络软件系统,是网络软件系统中最重要、最核心的部分
- 语法:规定传输数据的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的条件、时序关系等,即事件实现顺序的详细说明
-
接口(访问服务点SAP) :上层 使用 下层 服务的入口。[垂直方向]
-
服务:下层为相邻上层 提供的功能调用。[垂直方向]
区别 | 特性 | 功能 |
---|---|---|
实体 | n 层实体;对等实体 | - |
协议 | 同一层 水平方向 | 对等实体数据交换 |
接口 | 垂直方向;单向,上到下(所有下层) | 上层 使用 下层 服务的入口 |
服务 | 垂直方向;单向,下到上(相邻上层) | 下层为相邻上层 提供的功能调用 |
将第3、4、5层抽出进行分析:
-
PCI + SDU = PDU
-
SDU 服务数据单元
为完成用户所要求的功能而应传送的数据
-
PCI 协议控制信息
控制协议操作的信息
-
PDU 协议数据单元
对等层次之间传送的数据单位
PDU作为下一层的SDU
4)概念总结
- 网络体系结构是从功能上描述计算机网络结构。(而不是从物理上的硬件来描述)
- 计算机网络体系结构简称网络体系结构是分层结构
- 每层遵循某个/些网络协议以完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合
- 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
- 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽
- 体系结构是抽象的,而实现是指能运行的一些软件和硬件
5)总结
2.2、OSI参考模型(1)
1) ISO/OSI 模型由来
是为了解决计算机网络复杂的大问题-->分层结构(按功能)
- 目的:支持异构网络系统的互联互通
- 国际标准化组织(ISO) 于1984年提出 开放系统互连(OSI) 参考模型
- 但是!理论成功,市场失败。不过还是有学习价值的。
2)ISO/OSI 通信过程
2.3、OSI参考模型(2)
1)应用层 7
2)表示层 6
3)会话层 5
建立一个会话不会影响其他窗口的内容,因为会话之间彼此独立互不影响
功能二理解:断点续传
上传小说时,可能在上传到第四章的时候网络中断,当网络恢复时,可以从第四章继续恢复上传,而不需要整个小说重新上传
4)传输层 4
巧记:可差流用
可差的也能留用???
a)可靠传输、不可靠传输
- 可靠传输
- 发送端 在文件很大时就需要 切分 成报文段进行发送,接收端接收后会反馈确认信息给发送端,发送端收到 确认信息 后才能继续发送报文段
- 这是一个 基于确认机制 的过程
- 不可靠传输
- 不需要使用确认机制,直接发报文段就行了。比如发消息就是采用不可靠传输
b)差错控制
对于发生的差错进行控制,比如传输报文段顺序错误,丢失等
传输层就负责纠正这些错误
c)流量控制
如果接收端接收能力有限,就需要发送方慢点发送,于是发送方减缓发送速率
d)复用和分用
复用:多个应用层进程可同时使用下面传输层的服务分用:传输层把收到的信息分别交付给上面应用层中相应的进程
每个应用层进程(比如QQ、微信)都会有一个端口号,多个进程可以同时发送(复用),应用层发送端传输报文段后,接收端根据端口号精准发送给对应的进程(分用,比如QQ的消息就发给QQ)
5)网络层 3
主要任务是 把分组从 源端 传到 目的端,为分组交换网上的不同主机提供通信服务
网络层传输单位是 数据报
数据报 与 分组是 整体 与 部分 的关系
当数据报过长时就可以对数据报进行切割,切割成一个一个小的分组
a)路由选择
选择合适的路由,具体选择哪种方式要看网络情况,选择最佳路径
b)流量控制
协调 发送端 和 接收端 的速率问题(与传输层感觉重复了)
c)差错控制
通信两节点之间约定的规则
d)拥塞控制
若所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态
因此要采取一定措施,缓解这种拥塞
6)数据链接层 2
主要任务是把网络层传下来的数据报组装成帧
数据链路层/链路层的传输单位是 帧
a)成帧
定义帧的开始和结束: ....1000011101010101.....
数据报组装成帧后会形成一个比较长的比特流序列,对于这样一个比特流需要定义一下 哪是帧的开始,哪是帧的结束。只有这样定义好,我们才可以在接收端收到帧的时候,提取出数据的部分进而提交给网络层。
b)差错控制
帧错 + 位错
如果发现有差错,数据链路层可能丢弃出现差错的帧,因为差错的帧继续在网络上传输会浪费资源
如果要纠错,可以通过可靠的传输协议纠正出现的差错
c)流量控制
协调 发送端 和 接收端 的速率问题,如果接收端的缓存不够用,发送端发过来的数据全都会丢弃掉,就会告诉发送端慢点发,等缓存有空间了再加快速度
功能四:
d)访问(接入)控制
控制对信道的访问
比如在广播式网络中,同一时间只能有一个人在发送信息。所以数据链路层就可以控制大家对于共享信道的访问,专门由它的特殊子层介质访问子层来专门处理控制这个问题。
7)物理层 1
主要任务是在 物理媒体 上实现 比特流 的 透明传输
物理层传输单位是 比特
-
透明传输
- 指不管所传数据是什么样的比特组合,都应当能够在链路上传送
-
物理层称为傻瓜层
- 因为只需要把 比特流 转换成 电信号 的形式,然后放到链路上进行传输就OK了,不需要对数据进行改动和切割
a)定义接口特性
比如连接电缆的插头应该有多少引脚,每个引脚如何连接
b)定义传输模式
单工、半双工、双工
- 单工:只可以单方向,比如两个人进行通信,同一时间段只可以一个人在发送,且整个时间段不能变成接收端,另一个人只能接收且不能变成发送端
- 半双工:两个人都可以发送或者接收,但是同一时间只能一个人发送另一个人接收(但发送方可以成为接收方,类似对讲机)
- 双工: 两个人可以同发送和接收(类似打电话)
c)定义传输速率
定义发送端的发送速率和传输速率
d)比特同步
发送端发送一个1,接收端就能接收一个1,保证比特的同步
e)比特编码
规定一下用什么样的电压表示1和0
8)总结
2.4、TCP/IP、五层参考模型
1)OSI 与 TCP/IP 参考模型
OSI参考模型先是理论,没有实践。而TCP/IP是由TCP/IP协议栈的实践发展为TCP/IP参考模型理论的
TCP/IP协议栈不是只有TCP和IP,只不过TCP和IP占大头
2)OSI 与 TCP/IP 相同点
- 都分层
- 基于独立的协议栈的概念
- 可以实现异构网络互联
3)OSI 与 TCP/IP 不同点
- OSI定义三点:服务、协议、接口
- OSI先出现,参考模型先于协议发明,不偏向特定协议
- TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
- 面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。而面向无连接没有这么多阶段,它直接进行数据传输
4)五层参考模型
5)五层模型的数据封装与解封装