计算机网络(三)
学习计算机网络过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。
—— 计算机网络体系结构 ——
文章目录
1. 计算机网络体系结构的形成
1.1 计算机网络体系结构形成的原因
- 计算机网络是个非常复杂的系统。
- 相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
- “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
1.2 计算机网络体系结构形成的过程
- 1974年,美国的 IBM 公司宣布了系统网络体系结构SNA (System Network Architecture)。这个著名的网络标准就是按照分层的方法制定的。
- 不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。
- 由于网络体系结构的不同,不同公司的设备很难互相连通。
1.3 开放系统互连参考模型OSI/RM
- 为了使不同体系结构的计算机网络都能互连,国际标准化组织 ISO 于1977年成立了专门机构研究该问题。
- 他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM (Open Systems Interconnection Reference Model),简称为 OSI。
- 只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。
- OSI 只获得了一些理论研究的成果,在市场化方面却失败了。原因包括:
- OSI 的专家们在完成 OSI 标准时没有商业驱动力;
- OSI 的协议实现起来过分复杂,且运行效率很低;
- OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
- OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
1.4 两种国际标准
- 法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。
- 非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。
2. 协议与划分层次
- 计算机网络中的数据交换必须遵守事先约定好的规则。
- 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
- 网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
2.1 网络协议的三个组成要素
- 语法:数据与控制信息的结构或格式 。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
2.2 协议的两种形式
- 一种是使用便于人来阅读和理解的文字描述。
- 另一种是使用让计算机能够理解的程序代码。
- 这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
2.3层次式协议结构
ARPANET 的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。
2.3.1 划分层次的概念举例
- 主机 1 向主机 2 通过网络发送文件。
- 可以将要做的工作进行如下的划分:
- 第一类工作与传送文件直接有关。
- 确信对方已做好接收和存储文件的准备。
- 双方已协调好一致的文件格式。
- 第一类工作与传送文件直接有关。
- 两个主机将文件传送模块作为最高的一层 ,剩下的工作由下面的模块负责。
2.3.2 分层的各种问题
-
优点:
- 各层之间是独立的。
- 灵活性好。
- 结构上可分割开。
- 易于实现和维护。
- 能促进标准化工作。
-
缺点:
- 降低效率。
- 有些功能会在不同的层次中重复出现,因而产生了额外开销。
-
层数多少要适当
- 层数太少,就会使每一层的协议太复杂。
- 层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
2.3.3 各层完成的主要功能
① 差错控制:使相应层次对等方的通信更加可靠。
② 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
③ 分段和重装 :发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
④ 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
⑤ 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
2.4 具有五层协议的体系结构
2.4.1 构成
- OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
- TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。
- 因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。
- 五层协议的体系结构:
2.4.2 通讯过程
- 具体过程:
- 发送过程(接收过程相反):
3. 实体、协议、服务和服务访问点
3.1 概念
- 实体 (entity) 表示任何可发送或接收信息的硬件或软件进程。
- 协议是控制两个对等实体进行通信的规则的集合。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下层所提供的服务。
3.2 协议
- 协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
- 看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。
3.3 协议和服务的不同
- 协议的实现保证了能够向上一层提供服务。
- 本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
- 协议是“水平的”,即协议是控制对等实体之间通信的规则。
- 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
- 上层使用服务原语获得下层所提供的服务。
3.4 服务访问点
- 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
- 服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。
- OSI把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。
- OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。这个名词现已被许多非 OSI 标准采用。
- SDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
4. TCP/IP 的体系结构
4.1 TCP/IP 的四层体系结构
4.2 TCP/IP 的另一种表达形式
- 实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。