• 沒有找到結果。

计算机网络基础应用 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "计算机网络基础应用 - 万水书苑-出版资源网"

Copied!
10
0
0

加載中.... (立即查看全文)

全文

(1)

对于计算机网络的初学者来说,学习计算机网络最重要的部分是理 解什么是网络协议以及网络协议是怎样工作的。大多数的初学者都会觉 得网络协议是一个很抽象的东西,既看不见也摸不着,因此,对网络协 议的理解也成为计算机网络初学者学习的难点之一。为此,我们将计算 机网络协议作为本书的第1 章,以一个从网络上捕获的数据包为基础, 分析计算机网络协议的体系结构,进而帮助初学者理解各层协议的工作 原理。

1

计算机网络的语言——

理解计算机网络协议

(2)

/ 002 第 1章

1.1

什么是网络协议

什么是网络协议呢?让我们百度一下吧,百度的解释是:网络协议是为计算机网 络中数据进行交换而建立的规则、标准或约定的集合。 这个概念听起来很抽象,那么先让我们思考一下为什么会有网络协议,也就是网 络协议的目的是什么。根据它的定义可知,网络协议的目的是为了在计算机网络中 进行数据交换。我们知道计算机网络就是把分布在不同地方的计算机连接起来,然 后通过计算机之间进行的数据交换来完成各种各样的网络功能。但计算机不是人, 它怎么知道别的计算机发送过来的数据是什么意思呢?因此,我们人为地制定了计 算机之间进行数据交换的规则、标准或约定,称之为协议。也就是说,计算机之间 在进行数据交换时,只要大家都遵守同一协议,那么它们就能知道对方发送的数据 是什么含义,或者自己要发送什么格式的数据才能让对方计算机明白应该做怎样的 操作。 网络协议的功能基本上是用计算机软件来实现的,一般来说,只要我们安装了操 作系统,无论是Windows 系统、Linux 系统还是其他系统,计算机都会默认安装与系 统相对应的常用网络协议的支持,如TCP/IP 协议的支持。 在介绍网络协议时,都会提到网络协议的三要素: (1)语义。语义解释控制信息每个部分的意义,它规定了需要发出何种控制信息, 完成什么样的动作和做出什么样的响应。 (2)语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。 (3)时序。时序是对事件发生顺序的详细说明,也可称为“同步”。 可以简单地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序 表示做的顺序。 网络协议三要素看起来很抽象,但我们可以把计算机之间的通信与人类之间的交 流作一个类比:人类之间最直接的交流是通过语言,大家都学过语文,其实语义、语 法、时序这些概念在我们学习语文时都会用到,只不过叫法可能不同而已;人类之间 如果希望共同完成一件事,那么他们可以通过语言进行交流,这些语言也包含了语义、 语法及时序的规则,而且这些规则必须是一致的,这样人类才能互相理解,就比如你 若是不懂英语,就无法和一个说英语的外国人用语言进行交流;在计算机网络中,计 算机之间进行交流的“语言”就是网络协议,计算机要共同完成某种功能,必须保证 它们能够相互理解通过网络传递的数据,也就是说它们必须遵守同一网络协议,即使 用同一“语言”,告诉对方要做什么(语义)、要怎么做(语法)、做的顺序(时序)。 但有一个基本概念需要注意,计算机本身是没有“语言”的,所有的这些协议都是人 们为了让计算机能够相互理解、协同工作而人为制定的标准和规则。

(3)

/ 003 第 1章

1.2

网络协议的体系结构

要让计算机相互理解、协同工作可不是一件容易的事,计算机网络要完成的功能 也是各种各样的,怎样设计才能够使整个网络协议的结构更加清晰、实现更为容易、 修改更为方便呢?目前使用的网络协议大都采用分层体系结构。 那么,什么是分层体系结构呢?分层体系结构来源于对整个网络协议体系的设计思 路,由于网络协议是帮助计算机之间互相理解、相互协作来完成各种网络功能的,如果 只用一个协议的话很难实现所有功能,并且实现相当复杂,修改也极不方便。因此,网 络协议体系设计的主要思路是把一个复杂的功能划分为更小的功能模块,我们把这些小 的功能模块称为“层”,每层实现部分的网络功能,所有层一起完成完整网的络功能。

1.3

ISO/OSI RM

1.ISO/OSI RM 简介

ISO/OSI RM 的全称是 International Organization for Standardization/Open System Interconnect Reference Model,翻译成中文为:国际标准化组织 / 开放系统互联参考 模型。它是计算机网络协议分层体系结构的国际标准,如果希望实现不同开放系统之 间的相互通信,可以参照它的分层模型进行协议的体系设计。ISO/OSI RM 共分为 7 层, 从低到高分别为1

~

7 层,如图 1-1 所示。

1-1 ISO/OSI RM 分层体系结构示意图

物理层(Physical Layer) 数据链路层(Data Link Layer)

网络层(Network Layer) 传输层(Transport Layer) 会话层(Session Layer) 表示层(Presentation Layer) 应用层(Application Layer) 第7 层 第6 层 第5 层 第4 层 第3 层 第2 层 第1 层 应用层 表示层 会话层 传输层 网络层 物理层 数据链路层 应用层 表示层 会话层 传输层 网络层 物理层 数据链路层 传输媒体 应用进程A 应用进程B 主机A 主机B 图1-1 ISO/OSI RM 分层体系结构示意图 2.ISO/OSI RM 各层功能 (1)物理层:物理层协议是一些标准和规范,这些大家都共同遵守的物理层协议

(4)

/ 004 第 1章 使数据能够通过物理介质从一方传递到另一方。物理层协议主要关注的是物理连接的 机械、电气、功能和规程特性,简单地说就是规定接口的几何形状是什么样的,多少 伏电压代表1,多少伏电压代表 0,时钟速率是多少,采用什么样的编码,采用全双工 还是半双工传输等,它并不关心要传输的数据是什么含义,只负责保证数据能够在物 理介质上传输。像网络里面用得最多的以太网标准及通信常用的RS-232(通常叫串口) 标准中,都有相关的物理层协议。 (2)数据链路层:数据链路层协议的主要功能是保证有链路连接的主机之间或同 一网络主机之间数据的正确传输,即点到点的数据的正确传输。为此,它需要定义设 备的硬件地址,以便能够准确找到该设备;还要定义设备在使用公用传输介质时,如 何控制应该由哪个设备占用公用传输介质来传输数据;为了保证传输数据的正确性, 还需要定义如何保证发送方与接收方的数据同步及差错检测方法等。常用的数据链 路层协议有以太网的数据链路层协议及HDLC 协议(高级数据链路协议,High-Level Data Link Protocol)等。

(3)网络层:网络层协议的主要功能是使数据包能够跨越多个网络,从一端的主 机顺利到达远端主机。为了能够跨越不同的网络,在网络层需要定义统一的逻辑通信 地址来标识源主机和目的主机。另外,网络层需要解决的问题是:当数据包通过多个 网络传输时,它可能有多条路径可以到达目的地,如何才能选择一条最优的路径;当 网络出现故障时如何调整最优路径;如何解决网络拥塞等。网络层协议包括著名的IP 协议及各种动态路由协议等。 (4)传输层:传输层协议的主要功能是为主机里的不同应用提供端到端的传输服 务。即使网络层协议已经能够保证数据从一个源主机到达另一个远端主机,但主机里 可以有很多应用,这些应用数据是一个网页数据、一条QQ 消息还是通过 FTP 下载的 视频呢?这些数据是不是可靠的、完整的?这些问题都是由传输层协议来处理的,因此, 传输层需要为不同的应用定义不同的服务访问点,以区分为不同的应用提供的传输服 务;同时还要定义完善的差错处理机制及流量控制机制,以保证不同的应用只需要使 用传输层提供的服务,就一定能够将数据传输到远端的对等应用进程,如果多次传输 也不能将数据传输到目的应用进程,就通知源应用进程目的不可达。常见的传输层协 议有TCP 协议和 UDP 协议等。 (5)会话层:若传输层已经能够为两个远程主机的应用提供传输服务了,则可以 简单地认为使用传输层可以在两个远程主机的应用之间建立起一个连接。在这个连接 之上,应用进程之间还可以建立多个逻辑会话,会话层的功能就是对这些逻辑会话进 行管理,包括建立、维护及终止会话等。 (6)表示层:如果两个主机对数据的表示方法不一致,就算数据能够在不同的应 用进程之间正确传输,主机依然无法理解这些数据的含义,这就需要使用到表示层协议。 表示层协议定义统一的数据表示方式,源主机通过表示层协议将自己特有的数据格式 转换成标准的数据格式发送出去,目的主机再通过表示层协议将标准的数据格式转换 为自己特有的数据格式,这样双方就能相互通信了。根据这个定义,网络数据加密功 能也属于表示层协议功能,只不过这种数据格式是一种统一的加密格式而已。

(5)

/ 005 第 1章 (7)应用层:应用层协议是为了实现网络上各种各样的网络服务而制定的协议, 不同的应用使用不同的应用层协议,或者说应用程序使用不同的应用层协议来实现不 同的网络功能。因此,应用层协议也是所有层次中包括协议最多的,如HTTP 协议、 DNS 协议、FTP 协议、TELNET 协议等等。 3.ISO/OSI RM 的工作模式 了解OSI 参考模型 7 层协议的功能后,我们来了解一下它们的工作模式,即这 7 层协议是怎样相互协作共同完成网络通信功能的,如图1-2 所示。OSI 参考模型中的 7 层协议,在整个体系结构中,根据实现的功能不同有其固定的位置,位于某层协议上 方的叫上层协议,位于某层协议下方的叫下层协议。物理层协议与物理介质密切相关, 它能实现透明比特流传输,位于整个体系结构的最下层,而应用层协议实现某种应用 的功能,与应用进程相关,位于整个体系结构的最上层。从图1-2 可以看出,每个下层 协议只与相邻的上层协议通信,即下层协议通过自己所完成的功能为相邻的上层协议 提供服务,而上层协议使用相邻的下层协议提供的服务完成自己的功能,并用自己的 功能为与自己相邻的上层协议提供服务。 因此,从协议功能实现的角度上来看,是自下而上实现的,物理层是基础,只有 实现了物理层功能,数据链路层才能在物理层的基础上实现其功能,而网络层才能在 数据链路层的基础上实现其功能,依此类推。任何一个高层协议要实现其功能,必须 依靠所有的下层协议一起完成,它是不能够孤立存在的,否则只能是空中楼阁。 从应用进程发送与接收数据的角度来看数据在各层协议间的传递,如图1-2 所示。 如果应用进程A 想发送数据给应用进程 B,在主机 A 中,应用进程 A 将要发送的数据 交给相应的应用层,应用层处理后交给表示层,表示层处理后交给会话层,依此类推, 最后由物理层处理后交给传输介质进行传输;在主机B 中,数据的接收是一个相反的 过程,物理层处理传输介质传来的信号,转换成比特流交给数据链路层,数据链路层 处理后交给网络层,依此类推,最后应用层处理后交给应用进程B。从应用进程 B 发 送数据到应用进程A 的过程与此类似。通过以上步骤即可实现两个远端应用进程的数 据交换。 站在主机A 中应用进程 A 的角度,应用进程 A 只和应用层通信,它并不知道应用 层功能在应用层内部是如何实现的,也不知道应用层的下面是否还有其他层,还有几 层等等,它只知道通过某种应用层协议能够实现某种功能,只要把数据交给应用层, 就能将数据传递到主机B 的应用进程 B。对于应用进程 A 和 B 来说,它们之间好像可 以“直接”通信。 同理,对于体系结构中的每一层来说,它们都只负责处理相邻上层协议传递来的 数据或要传递给相邻上层协议的数据,同时需要从相邻下层协议获得要传递给上层协 议的数据,或将处理过的上层协议的数据传递给相邻的下层协议。对于每层协议而言, 它们会“感觉”到可以通过相邻的下层协议实现与远端相同层次的协议之间的数据交流, 而且对数据做的任何处理也只有远端相同层次的协议才能理解,因此我们称相同层次 的协议为对等层协议,如主机A 的网络层协议与主机 B 的网络层协议,它们使用的是

(6)

计算机网络基础应用 / 006 第 1章 同一协议,可被称为对等层协议。也就是说,对于位于不同主机的两个相同层次的协议, 它们之间的数据传递实际上需要经过它们下面的每一层协议和物理介质,但就实际的 效果而言,是它们之间实现了数据传递,如果屏蔽下层所有细节,我们也可以简单地 认为,对等层协议之间可以相互“直接”通信,在图1-2 中,用双箭头虚线表示对等层 协议之间的通信,而带箭头的实线则表示实际数据传递的情况。 图1-1 ISO/OSI RM 分层体系结构示意图 图1-2 ISO/OSI RM 工作模式 物理层(Physical Layer) 数据链路层(Data Link Layer)

网络层(Network Layer) 传输层(Transport Layer) 会话层(Session Layer) 表示层(Presentation Layer) Application Layer) 第7 层 第6 层 第5 层 第4 层 第3 层 第2 层 第1 层 应用层 表示层 会话层 传输层 网络层 物理层 数据链路层 应用层 表示层 会话层 传输层 网络层 物理层 数据链路层 传输媒体 应用进程A 应用进程B 主机A 主机B 图1-2 ISO/OSI RM 的工作模式 1.3.1 TCP/IP 协议族 ISO/OSI RM 是国际标准化组织制定的标准,但它只是一个理论上的国际标准,而 大多数计算网络,特别是如今使用最广泛的Internet(因特网),实际上使用的标准是 TCP/IP 协议。 TCP/IP 协议其实是由许多协议组成的一个庞大的协议集合,它包含数量众多的协 议,不同的协议实现不同的功能,而TCP(Transmission Control Protocol,传输控制协议)

(7)

/ 007

1章 和IP(Internet Protocol,网际协议)是其中最为重要的两个协议,因此 TCP/IP 协议族

通常简称为TCP/IP 协议。 TCP/IP 协议也采用分层体系结构,如图 1-3 所示。 TCP/IP 协议的体系结构共分为 4 层,从下到上分别为网络接口层、网络层、传输 层和应用层。TCP/IP 协议的主要目的是实现不同网络在 IP 层上互联,因此主要定义网 络层、传输层和应用层协议,而不同网络的物理层及数据链路层协议由不同的组织及 标准制定,因此TCP/IP 协议还定义了针对不同网络的接口层。 图1-3 TCP/IP 协议体系结构图 图1-4 OSI/ISO RM 与 TCP/IP 协议族体系结构的对应关系 TCP UDP HTTP SNMP TFTP 以太网、无线局域网等 FTP Telnet SMTP POP3 DHCP IP ARP RARP ICMP 应用层 传输层 网络层 网络接口层 第1 层 网络接口层 第1 层 物理层 第2 层 数据链路层 第3 层 网络层 第4 层 传输层 第5 层 会话层 第6 层 表示层 第7 层 应用层 第2 层 网络层 第3 层 传输层 第4 层 应用层 OSI/ISO RM TCP/IP 协议 图1-3 TCP/IP 协议体系结构图 1.应用层协议 在图1-3 中,最高层为应用层,该层针对不同的网络应用制定了不同的应用层协议。 HTTP:HyperText Transfer Protocol,超文本传输协议,我们在浏览网页时,浏览 器使用HTTP 协议从 Web 服务器上传输网页。

FTP:File Transfer Protocol,文件传输协议,用于网络上文件的上传与下载。 Telnet:远程登录协议,用于远程登录到服务器。

SMTP:Simple Mail Transfer Protocol,简单邮件传输协议,负责电子邮件的发送。 POP3:Post Office Protocol - Version 3,邮局协议—版本 3,负责电子邮件的接收。 SNMP:Simple Network Management Protocol,简单网络管理协议,用于网络管理。 TFTP:Trivial File Transfer Protocol,简单文件传输协议,用于传输简单文件。 DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,为客户机自动 分配相关网络配置信息。

(8)

/ 008

1章

2.传输层协议

应用层下面是传输层,TCP/IP 协议在传输层提供两个协议。

TCP:Transmission Control Protocol,传输控制协议,为应用层协议提供面向连接的、 可靠的端到端连接服务。使用TCP 作为传输层协议的应用层协议有:HTTP、FTP、 Telnet、SMTP、POP3 等。

UDP:User Datagram Protocol,用户数据报协议,为应用层协议提供面向无连接 的、不可靠但更为简单迅速的传输服务。使用UDP 作为传输层协议的应用层协议有: SNMP、TFTP、DHCP 等。 3.网络层协议 传输层下面是网络层,网络层的主要协议只有一个。 IP:Internet Protocol,网际协议,通过定义统一的 IP 地址,实现不同网络互联的协议。 除IP 协议外,为配合互联网络正常的工作,TCP/IP 协议还定义了一些其他的协议, 由于这些协议有些直接使用IP 协议,有些为 IP 协议提供地址转换功能,因此把这些协 议都归于网络层协议。

ICMP:Internet Control Message Protocol,Internet 控制消息协议,用于在 IP 主机 和路由器之间传递控制消息。

ARP:Address Resolution Protocol,地址解析协议,根据 IP 地址获取物理地址。 RARP:Reverse Address Resolution Protocol,反向地址解析协议,用于根据物理地 址获取IP 地址。 4.网络接口层 网络接口层对应于不同种类的网络,如以太网、无线局域网等,相关协议后面 介绍。 上面提到的协议,是TCP/IP 协议中较常使用的协议,关于协议的具体情况将在后 文中介绍。此外,这些协议并不是TCP/IP 协议的全部,还有一些协议没有列出来,在 用到时再详细介绍。 1.3.2 ISO/OSI RM 与 TCP/IP 协议的关系 ISO/OSI RM 与 TCP/IP 协议体系结构的对应关系如图 1-4 所示。

TCP/IP 协议的应用层对应了 ISO/OSI RM 的最高三层,网络接口层对应 ISO/OSI RM 的最低两层。TCP/IP 协议是网络协议的事实标准,因此我们将进一步根据 TCP/IP 协议体系结构来介绍各层的具体协议。由于网络接口层对应不同的网络,将有不同的 数据链路层协议和物理层协议,因此对于不同的实际网络来讲,它的网络协议可以看 作是一个5 层的体系结构,后面将以 5 层体系结构来讨论具体的网络协议。实际网络 协议的5 层体系结构如图 1-5 所示。

(9)

计算机网络的语言——理解计算机网络协议 第 章1 / 009 第 1章 图1-3 TCP/IP 协议体系结构图 图1-4 OSI/ISO RM 与 TCP/IP 协议族体系结构的对应关系 TCP UDP 以太网、无线局域网等 IP ARP RARP ICMP 传输层 网络层 网络接口层 第1 层 网络接口层 第1 层 物理层 第2 层 数据链路层 第3 层 网络层 第4 层 传输层 第5 层 会话层 第6 层 表示层 第7 层 应用层 第2 层 网络层 第3 层 传输层 第4 层 应用层 OSI/ISO RM TCP/IP 协议 图1-4 ISO/OSI RM 与 TCP/IP 协议体系结构的对应关系 图1-5 实际网络协议体系结构 图1-6 模拟信号与数字信号 图1-7 调制解调器连接连意图 7 第1 层 物理层 第2 层 数据链路层 第3 层 网络层 第4 层 传输层 第5 层 应用层 1 0 1 0 0 1 1 1 数字信号 时间 时间 电压 电压 模拟信号 图1-5 实际网络协议体系结构

1.4

物理层协议

1.4.1 物理层协议基础 简单地说,物理层协议的功能是实现透明比特流传输。也就是说,只要通信双方 共同遵守相同的物理层协议,就能够将比特流(或者说由0 和 1 构成的数据流,如 10100111……)通过不同的物理介质传送到对方。物理层协议就像一个搬运工,它并 不知道它所传输的数据有什么具体含义,它只负责怎样把数据通过传输介质从一端传 到另一端。因此物理层协议的主要任务就是规定各种传输介质和接口与传输信号相关 的一些特性。 ISO/OSI RM

(10)

/ 010 第 1章 1.机械特性 即物理特性,指明通信实体间硬件连接接口的机械特点,如接口所用接线器的形 状和尺寸、引线数目和排列、固定和锁定装置等,如在网络中常用的RJ45 水晶头的形状、 大小、引线数目、如何连接网线及如何锁定在接口中等等。 2.电气特性 规定了在物理连接上,导线的电气连接及有关电路的特性,一般包括接收器和发 送器电路特性的说明、信号的识别、最大传输速率的说明、与互连电缆相关的规则、 发送器的输出阻抗、接收器的输入阻抗等电气参数,如在以太网中,使用什么样的信 号来表示0 或 1,怎样识别 0 和 1,采用什么样的数据编码等与电气相关的特性。 3.功能特性 指明物理接口各条信号线的用途(用法),包括接口线功能的规定方法,接口信 号线的功能分类(数据信号线、控制信号线、定时信号线和接地线4 类),如在以太 网中,每根线的功能是什么,是用于发送数据还是接收数据等。 4.规程特性 指明利用接口传输比特流的全过程及各项用于传输的事件发生的合法顺序,包括 事件的执行顺序和数据的传输方式,即在物理连接建立、维持和交换信息时,双方在 各自电路上的动作序列,如在网络中实现物理信号传输的整个过程的规定。 对于不同种类的网络连接来说,它们关于物理层的这些规定是不相同的,即使是 同一类网络,如平时最常见的局域网,对于不同的传输介质,如同轴电缆、双绞线、 光纤、无线,对应的物理层协议也不相同,因此物理层协议的种类是很多的,本书并 不对某一具体的物理层协议作介绍,只希望大家能够理解物理层协议的基本作用是透 明传输比特流,以及为了完成功能,它大致会定义哪些方面的特性。此外,计算机网 络的本质是数据通信,因此要进一步理解物理层协议,就需要对数据通信的基础知识 有一定的了解,下面我们来学习一些数据通信的基础知识。 1.4.2 数据通信基本概念 1.数据、信号与信道 简单地说,数据是用来表示信息的,而信号是用来承载数据的,信道则是用来传 输信号的通道。 (1)数字数据与模拟数据 当我们把信息表示成数据(可以理解为数值)时,分为两种:一种是模拟数据, 它的取值是连续的并可以有无穷个取值,如连续函数y=f(x);另一种是数字数据,它的 取值是不连续的并只包含有限个取值,如二进制串10110101。 (2)数字信号与模拟信号 数据只是较为抽象的数值,要把这些数据传递给其他人必须把数据用现实生活中

參考文獻

相關文件

普門學報社出版 地址:84049 台灣高雄縣大樹鄉佛光山普門學報社 電話:07-6561921 轉 1291、1292 傳真:07-6565774

协会/组织会议: 由协会/组织主办之会议。.

May calm and mindful practice seed of patience and equanimity deep, May we give rise to spacious hearts and humble thoughts of gratitude.

(一) 建議人姓名、住址;建議人為法人或機關、團體者,其 名稱、負責人及地址。. (二)

E-mail   通訊地址 任職單位/.

[r]

™ 不過, 如果 DHCP 用戶端不接受 DHCP 伺服器 所提供的參數, 就會廣播一個 DHCP Decline (拒絕) 封包, 告知伺服器不接受所建議的 IP位 址 (或租用期限…等)。然後回到第一階段, 再度

™ 經由 PPP 取得網路IP、Gateway與DNS 等 設定後,並更動 Routing Table,將Default Gateway 設為由 PPP取得的 Gateway