| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【计算机网络】第一部分 概述(2) 网络模型(OSI和TCP/IP模型) -> 正文阅读 |
|
[网络协议]【计算机网络】第一部分 概述(2) 网络模型(OSI和TCP/IP模型) |
网络利用硬件和软件的组合,将数据从一个地点发送到另一地点。硬件由「能够将信号从网络的一点传输到另一点的物理设备」组成,软件由指令集合组成,它使我们所期待的来自网络的服务成为可能。 可将网络的任务与运用计算机解决数学问题的任务进行比较。计算机解决数学问题时,最基础的工作是由计算机硬件完成的。然而,如果只使用硬件,这将是一项十分冗长乏味的工作。如果软件能够掌握这些情况,那么就可以很容易完成这些任务。在最高层,程序能够指导问题解决的过程。而像实际的硬件该如何完成任务之类的细节问题,则留给「由更高的层来调用的软件层」来完成 计算机网络的情形与之相似。例如,将一份电子邮件从世界上的一个地点发送到另一个地点的任务,可以划分成几个子任务,每个子任务都是由一个强立的软件包来完成。每一份软件都使用另一软件包提供的服务来完成自己的工作。在最底层,将一个信号或一组信号从源计算机发送到目的计算机。 本章给出网络层次 2.1 任务分层在日常生活中就使用层次的概念。举个例子,有两位朋友通过邮寄信件互相通信。如果没有邮局提供的服务,将信件发送给朋友的过程将是十分复杂的。图2.1显示了该任务是如何完成的。 2.1.1 发送方、接收方和载体在图2.1中有一个发送方、接收方和传输信件的载体。任务具有层次结构。下面按顺序描述一下在发送方发生的活动。
下面按顺序描述一下在接收方发生的活动。
2.1.2 层次结构根据分析,在发送方有三个不同的活动,在接收方也有另外三个活动。在发送方和接收方之间转运信件的任务是由邮车完成的。不能一眼看出来的是,这些任务必须按照给定的层次顺序完成。在发送方,信件必须是先写出、投进邮箱,然后才能让邮递员拣起再递送到邮局。在接收方,信件必须先放入接收方信箱,然后才能被接收方取出并被阅读。 服务在高层的发送方使用中间层提供的服务,中间层使用低层提供的服务,低层使用邮车提供的服务。在接收方,每一层都使用其直接下层提供的服务。 1990年以前,在数据通信和网络文献资料中、占有主要地位的分层结构模型是开放系统互联 本节简要讨论OSI模型,然后集中关注TCP/IP协议族。 2.2 OSI模型国际标准化组织 OSI模型并不是一个协议,而是一个模型。利用该模型可以理解并设计一个灵活、健壮和可互操作的网络体系结构。 OSI模型提供了一个用来进行网络系统设计的层次化框架。它由
7
7
7 个相互独立、但又有互相关联的层次组成,每一层都定义了「通过网络传递信息 2.2.1 层次化体系OSI模型由
7
7
7 个有序的层组成:物理层(第一层)、数据链路层(第二层)、网络层(第三层)、传输层(第四层)、会话层(第五层)、表示层(第六层)以反应用层(第七层)。图2.3表示了当一个报文从设备
A
A
A 到设备
B
B
B 传输时所涉及的层次。当报文从设备
A
A
A 到设备
B
B
B 时,它可能通过许多中间节点。这些中间节点通常只涉及OSI模型的前三层。 在单台机器中,每一层调用下一层提供的服务。例如,第三层使用第二层提供的服务,同时也向第四层提供服务。在两台机器之间,一台机器上的第
x
x
x 层与另一机器的第
x
x
x 层进行通信,这种通信由一系列称为协议的规则和约定来控制。每台机器上在特定层次进行通信的进程称为对等进程 2.2.2 对等过程在物理层,通信是直接发生的。在图2.3中,设备 A A A 将位流传送到设备 B B B(通过中间节点)。但是,在更高层次中,通信必须先在设备 A A A 中从上层传到下层,再传输到设备 B B B ,然后在设备 B B B 中再从下层传输到上层。在发送端,每一层都在从直接上层传来的报文加上自己的信息,并将整个分组传到它的直接下层。 在第一层,整个分组被转换成可以传输到接收端设备的形式。在接收端,报文被一层一层地打开,每一层接收并提取对它有意义的数据。例如,第二层将提取对它有意义的数据,并将剩下的传输给第三层。第三层提取对它有意义的数据,并将剩下的传输给第四层,依此类推。 1. 层间接口发送设备将数据和网络信息从高层向低层传递,而接收设备将这些信息由低层向高层传递,这个过程是通过相邻两层的接口 2. 层次组织7 7 7 个层次分属于 3 3 3 个子功能组。第一层、第二层和第三层(物理层、数据链路层和网络层)是网络支持层,它们处理从一个设备到另一个设备数据传输的物理方面问题(比如,电气特性、物理连接、物理寻址、传输的时序和可靠性)。第五层、第六层和第七层(会话层、表示层和应用层)可认为是用户支持层,它们允许不相关的软件系统间的互操作。第四层即传输层,将这两个子功能组连接起来,并保证下层是以上层能够使用的形式传输的。 OSI的高层常通过软件来实现,而低层则是由硬件和软件混合实现,但物理层几乎都是由硬件实现。在图2.4中描述了OSI层次的整体结构, 到达目的地后,信号传入第一层并被重新转换成数字形式。然后,数据单元由下向上传到OSI各层。当每一数据块到达下一个更高层时,在发送端对应层次附加的头部和尾部就被除去,并执行该层相应的动作。数据到达第七层时,报文又回到应用层的格式,并可以为接收者使用。 2.2.3 封装图2.4揭示了OSI模型中数据通信的另一个方面:封装。在第七层的一个分组(头部和数据)封装在第六层的一个分组中,第六层的整个分组封装在第五层的一个分组中,依此类推。换言之,第 N ? 1 N-1 N?1 层的分组中的数据部分是第 N N N 层的完整分组(数据、头部、也可能有尾部)。 这种概念称为封装 2.3 OSI模型的各层功能在本节中,简要描述OSI模型每一层的功能。 2.3.1 物理层物理层
2.3.2 数据链路层数据链路层
图2.7说明了数据链路层的跳到跳传递 2.3.3 网络层网络层 如果两个系统连接在同一条链路上,则通常不需要网络层。然而,如果两个系统在不同的网络(链路)上、并通过网络(链路)之间的设备连接,通常就需要网络层,以完成源端到目的端的传递。图2.8表示了网络层与数据链路层、传输层的关系。 网络层负责将各个分组从源地址传递到目的地址。网络层的具体任务是:
2.3.4 传输层传输层 传输层负责一个报文从一个进程到另一个进程的传递。传输层的具体任务如下:
2.3.5 会话层前面
3
3
3 层(物理层、数据链路层和网络层)提供的服务对某些进程是不需要的。会话层 会话层负责对话控制和同步。会话层的具体任务是:
2.3.6 表示层表示层 表示层负责翻译、加密和压缩数据 。表示层的具体任务是:
2.3.7 应用层应用层 图2.14说明了应用层与用户和表示层的关系。在许多现有的应用服务中,图中只表示了三种:
2.3.8 各层功能小结图2.15对每层的功能做了小结。 2.4 TCP/IP协议族TCP/IP协议族 TCP/IP协议族由
4
4
4 个层次组成:主机到网络层、互联网层、传输层和应用层 所以不妨假定TCP/IP协议族由 5 5 5 层组成:物理层、数据链路层、网络层、传输层和应用层。前面 4 4 4 层提供物理标准、网络接口、网际互联和传输功能,它相应于OSI模型前的 4 4 4 层。OSI模型最上面的 3 3 3 层由TCP/IP一个称为应用层(见图2.16)的单一层来表示。 TCP/IP是由相互作用的模块组成的分层协议,每一层提供一个特定的功能,但它们不需要相互依赖。尽管OSI模型指定了属于每一 层的功能,但TCP/IP协议族的各层却包含一些相对独立的协议,这些协议依据系统的需要能棍合与匹配。术语分层意指每个上一层协议是由一个或多个下层协议支持的。 在传输层,TCP/IP定义了
3
3
3 个协议:传输控制协议 2.4.1 物理层和数据链路层
2.4.2 网络层在网络层(或者更确切地说互联网络层),TCP/IP支持网际协议 (1) 网际协议网际协议是TCP/IP协议使用的传输机制。它是一个不可靠、无连接数据报协议,即尽力传递 IP传输的数据称为数据报 然而,IP的这一局限功能并不被认为是一个缺点,因为它提供了基本的传输功能,使用户只需自由添加「已知应用所必需的那些设施」,就可以获得最大的效率。IP将在【计算机网络】第四部分 网络层(20) IP协议中讨论。 (2) 地址解析协议地址解析协议 (3) 逆地址解析协议逆地址解析协议 (4) 因特网控制报文协议因特网控制报文协议 (5) 因特网组报文协议因特网组报文协议 2.4.3 传输层传输层在TCP/lP中用两个协议表示:TCP和UDP。IP是主机到主机协议 (1) 用户数据报协议用户数据报协议 (2) 传输控制协议传输控制协议 在每个传输的发送端,TCP划分数据流为称为片段的更小的数据单元,每个片段都包括一个用来在接收后重新排序的序号,以及对接收到片段的确认序号。片段将包含在IP数据报中,通过互联网传输。在接收端,TCP收集每个到来的数据报,然后基于序号对传输重新排列。TCP在第23章中讨论。 (3) 流控制传输协议流控制传输协议 2.4.4 应用层在TCP/IP中的应用层相当于OSI模型中的会话层、表示层和应用层的组合。这一层定义了许多协议。在后面几章中,将讨论多个标准协议。 2.5 寻址采用TCP/IP协议的互联网使用
4
4
4 层地址:物理(链路)地址 2.5.1 物理地址物理地址 【例2.1】在图2.19中,物理地址为
10
10
10 的节点发送一个帧到物理地址为
87
87
87 的节点,这两个节点通过链路连接(总线拓扑结构的LAN)。在数据链路层,该帧的头部含有物理(链路)地址,它们是需要的地址,头部还含有该层其他必要的信息。尾部通常是为了差错检测需要的附加位。 2.5.2 逻辑地址逻辑地址 【例2.3】图2.20表示,用两个路由器连接三个局域网所组成的互联网的一个部分。每台设备(路由器和计算机)都有一对地址(逻辑的和物理的)用作连接。此时,每台计算机仅连接到一条链路,因此它只有一对地址。然而,路由器连接
3
3
3 个网络(图中仅连接
2
2
2 个) ,因此每一个路由器有
3
3
3 对地址,每个连接用一对。对每一个连接,每个路由器必须有一个单独的物理地址,虽然这一点可能很明显,但是为什么对每一连接,每个路由器并不需要一个逻辑地址?这一点可能并不明显。当讨论路由选择时,这些问题将在【计算机网络】第四部分 网络层(22) 传递、转发和(单播/多播)路由选择中讨论。
注意:虽然跳到跳时物理地址改变了,但源到目的逻辑地址保持相同。在后面,也有例外的情况。 2.5.3 端口地址端口地址 【例2.4】图2.21表示了两台计算机通过因特网进行通信。发送计算机此时使用
3
3
3 个端口地址
a
,
b
,
c
a, b, c
a,b,c 、同时运行
3
3
3 个进程,接收计算机用
2
2
2 个端口地址
j
,
k
j, k
j,k ,也同时运行
2
2
2 个进程。发送计算机中的进程
a
a
a 需要与接收计算机中的进程
j
j
j 进行通信。注意:虽然两台计算机运行同一个应用程序,比如FTP ,但由于一个是客户进程,另一个是服务进程,它们的端口地址是不同的(在第23章中讨论)。 2.5.4 专用地址专用地址是一个面向用户的地址,有些面向用户的应用被设计为专用地址。例如,电子邮件的地址(例如 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 7:42:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |