通信实务—4.互联网

一、计算机网络基础

1.计算机网络的基本概念

1.1 计算机网络的基本定义

计算机网络是将若干台具有独立功能的计算机通过通信设备及传输媒体互连起来,在操作系统和网络协议等软件的支持下,实现计算机之间信息传输与交换的系统。计算机网络的发展与现代计算机技术和通信技术的发展密不可分,通信网络为计算机之间的信息传送与交换提供了必要手段,同时由于计算机技术的渗透,通信网络的诸多性能得到不断提高。

1.2 计算机网络的主要功能

(1)资源共享。资源共享包括计算机资源共享以及通信资源共事。计算机资源主要指 算机的硬件、软件和数据信息资源。资源共享功能使得网络用户可以克服地理位置的差异性, 共享网络中的计算机资源,以达到提高硬件、软件的利用率和充分利用信息资源的目的。

(2) 数据传输。计算机网络提供网络用户之间、各个处理器之间以及用户与处理器之间的通信,这是资源共享的基础。用户可以通过网络传送电子邮件,发布新闻消息,进行文件 传输、语音通信、视频会议等,这极大地方便了用户,提高了工作效率。

除了上述主要功能之外,计算机网络还可以实现集中管理、分布式处理和负载均衡等其他功能。

1.3 计算机网络的组成

(1)资源子网。资源子网负责全网的数据处理,向网络用户提供各种网络资源与网络服务。资源子网由用户的主机和终端组成,主机通过高速通信线路与通信子网的路由器(早期为通信控制处理器)相连接。

(2)通信子网。通信子网完成网络数据传输、转发等通信处理任务。通信子网包含传输线路、网络设备和网络控制中心等硬、软件设施,电信部门提供的网络(如 X.25 网、 DDN、 帧中继网等) 一般都属于通信子网, 通信子网与具体的网络应用无关。

在计算机网络中,为了在不同设备之间进行数据通信而需要有预先制定的一整套通信双 方共同遵守的格式和约定,这就是通信协议。它的存在与否是计算机网络与一般计算机互连 系统的根本区别。不同的计算机网络使用不同的通信协议, 如开放系统互连协议、 X.25 协议等。

1.4 计算机网络的体系结构

计算机网络体系结构的基本思想是在计算机网络的设计中, 采用分层次的设计方法, 使其达到在相互通信的两个计算机之间高度协调工作的目的。网络体系结构规定了同层进程通信的协议,以及相邻层之间的接口及服务。 这些层次结构、同层进程间通信的协议以及相邻层之间的接口统称为网络体系结构。

开放系统互连参考模型 (Open System InterconnectionIReference Model, OSI/RM) 是一个开放式计算机网络的层次结构模型。"开放"表示任何两个遵守了参考模型及相关标准的系统都可以进行互连。

OSI/RM 对系统体系结构、服务定义和协议规范 3 个方面进行了定义。它定义了一个 7 层模型, 用以进行进程间的通信, 并作为一个框架来协调各层标准的制定, OSI 的服务定义描述了各层所提供的服务,以及层与层之间的抽象接 口和交互用的服务原语 OSI 各层的协议规范精确地定义了应当发送何种控制信息以及应该通过何种过程对此控制信息进行解释。

(1)物理层。物理层是数据终端设备 (DTE) 和数据电路终端设备 (DCE) 之间的接 口。 物理层定义了建立、维护和拆除物理链路所需的机械、电气、 功能和规程特性。 其目的是在物理介质上传输原始的数据比特流。

(2)数据链路层。数据链路层使用物理层提 的服务,建立通信联系,将比特流组织成名为帧的协议数据单元进行传输。

(3)网络层。网络层的功能是实现网络互连,主要功能是路由选择和拥塞控制。 物理层、数据链路层和网络层是 7 层协议的基础层次,也是最为成熟的 3 个层次。 无论是广域网还是局域网,都是以这几个层次为基础的。它们主要是面向数据通信的,因此基于这 3 层通信协议构成的网络通常被称为通信网络或通信子网。

(4)传输层。传输层处于分层结构体系高低层之间,是高低层之间的接口,是非常关键的一层。传输层主要采用的技术手段有分流技术、复用技术、差错检测与恢复、流量控制等。

(5)会话层。会话层是进程间的通信协议,主要功能是组织和同步不同主机上各种进程间的通信,负责在两个会话层实体之间进行对话连接的建立和拆除。

(6)表示层。表示层执行协议转换、数据翻译、压缩与加密、字符转换以及图形命令的解释功能。

(7)应用层。应用层提供文件服务、数据库服务、电子邮件及其他网络软件服务。

2.局域网的基本原理

2.1 局域网的定义

计算机网络可以根据网络覆盖的范围划分为局域网、城域网和广域网。局域网是指在较小区域范围内由各种计算机和数据通信设备互连在一起形成的计算机递信网络;广域网的地域跨度则较大,其范围可能覆盖一个国家或一个大的行政区域;城域网的规模介于局域网和广域网之间,可能覆盖一个城市。由于网络规模不同,它们所采用的链路和连接协议通常也不相同。

局域网是将分散在有限地理范围内(如一栋大楼、一个部门)的多台计算机通过传输介质连接起来的递信网络,通过功能完善的网络软件,实现计算机之间的相互通信和资源共事。

2.2 局域网的组成

要实现一个网络的正常运行,需要两方面条件的保::硬件和软件。从硬件角度来看, 局域网的组成首先需要有能够正常运行的机器,包括个人计算机和各种服务器。而将这些独立的机器连接起来需要用到各种传输介质以及实现计算机和传输介质问互连功能的网卡。从软件角度来看,除了保证独立计算机正常运行的操作系统和各种应用软件之外,还 需要有网络操作系统来控制和管理局域网的正常运行。由此看来,一个局域网主要由以下 几个部分组成:计算机(包括个人计算机和服务器)、传输介质、网络适配器(网卡)、网络操作系统。

2.3 局域网的特点

• 网络覆盖范围较小,适合于校园、机关、公司、企业等机构和组织内部使用。

• 数据传输速率较高,一般为 10Mbit/s~100Mbit/s,光纤高速网可达10Gbit/s。

• 传输质量好,误码率低。

• 介质访问控制方法相对简单。

• 软、硬件设施及协议方面有所简化。

• 有相对规则的拓扑结构。

2.4 局域网的拓扑结构

(1)星形结构。星形结构由中心节点和分支节点构成,各个分支节点与中心节点伺均具有点到点的物理连接,各分支节点间没有直接的物理通路。如果分支节点问需要传输信息,必须通过中心节点进行转发。星形结构可以通过级联的方式很方便地将网络扩展到很大的规模。星形网络结构简单、建网方便、便于控制和管理,对中心节点的可靠性和冗余度要求很高。

(2)总线型结构。总线型结构网络是将各个节点设备和一根总线相连。网络中所有节点的工作站都是通过总线进行信息传输的。工作站发出的数据组成数据帧。每个数据帧中都含有源地址和目标地址,沿着总线向两端传播。工作站监视总线上的信号,并将发送给自己的数据复制下来。由于总线是共享介质,多个站同时发送数据时会发生冲突 , 因此需要采用介质访问控制协议来防止冲突的发生,如 CSMA/CD 技术。总线型结构易于布线和维护、结构简单、可靠性强、可扩充性好。以太网和令牌总线网采用的是总线型结构。

(3)环形结构。环形结构是指网络中各节点通过一条首尾相连的通信链路连接起来,形成的一个闭合的环。工作站通过环接口设备(如中继器)接入环路。当某个节点有数据发送时,首先将数据发送到对应的环接口设备,并沿环路发往其下行的环接口设备,该设备对其进行转发或者递交给设备附近的节点。环接口设备通常从一端接收数据,从另一端发出数据。 因此,整个环路中的数据是单向流动的。 环形网络在短距离、拓扑结构简单时具有较大的优势,但不适用于大规模的长途骨干网。 令牌环局域网采用的是环形结构。

(4) 混合型结构。混合型结构就是将上述各种拓扑混合起来的结构,常见的有树形(总线型结构的演变或者总线和星形的混合)、环星形(星形和环形拓扑的混合)等。

2.5 局域网参考模型

局域网参考模型包含了OSI/RM中物理层和数据链路层的功能。在局域网标准中,数据链路层被进一步划分成两个子层:介质访问控制 (MAC) 子层和逻 辑链路控制 (LLC) 子层。其目的是将数据链路层功能中与硬件相关的部分和与硬件无关的部分区分开来,降低研究和实现的复杂度。其中, MAC 子层主要负责实现共享信道的动态分配,控制和管理信道的使用。 LLC 子层具有差错控制、流量控制等功 能,负责实现数据帧的可靠传输。各种不同的 LAN 标准体现在物理层和 MAC 层上,传输介质的区别对 LLC 来说是透明的。 局域网不存在中间交换,不要求路由选择,所以不单独设置网络层。

2.6 局域网标准

局域网标准由美国电气和电子工程师协会 (Institute of Electrical and Electronics Engineers, IEEE) 的 802 委员会负责制定,这些标准都以 802 开头。

• IEEE 802.1:通用网络概念及体系结构。

• IEEE 802.2:逻辑链路控制。

• IEEE 802.3:载波监听多路访问/冲突检测 (CSMNCD) 规范。

• IEEE 802.4:令牌总线 (Token Bus) 结构及访问方法、物理层规范。

• IEEE 802.5:令牌环<Token Ring) 访问方法及物理层规范。

• IEEE 802.6:城域网的访问方法及物理层规范。

• IEEE 802.7:宽带局域网。

• IEEE 802.8:光纤网络技术标准。

• IEEE 802.9:综合声音数据网的介质访问控制方法及物理层技术规范。

• IEEE 802.10:可互操作的局域网的安全。

• IEEE 802.11:无线局域网。

• IEEE 802.12:100VG-AnyLAN 的介质访问控制方法及物理层技术规范。

• IEEE 802.16:无线城域网。

3.局域网协议与应用

3.1 以太网

1973年,Xerox 公司开发出了一种采用总线竞争式介质访问方法的设备互连技术,并将这项技术命名为"以太网 (Ethernet)"。1984-1985年, IEEE 802 委员会公布了局域网的 5项标准 IEEE 802.1 ~IEEE 802.5。起初,以太网只有 10Mbit/s 的吞吐量,使用的是CSMA/CD 的访问控制方法。 这种早期的10Mbit/s 以太网被称为标准以太网。

CSMA/CD 协议适用于总线型拓扑结构网络。在总线型结构中,所有的设备都直接连到同一条物理信道上,该信道负责任何两个设备之间的数据传送。节点以帧的形式发送数据, 帧的头部含有目的节点和源节点的地址。帧在信道上是以广播方式传输的,所有连接在信道上的设备随时都能检测到该帧。当目的节点检测到目的地址为本节点地址的帧时,就接收帧中所携带的数据,并按规定的链路协议给源节点返回一个响应。 采用这种操作方法时,可能会有两个或更多的设备同时发送帧,这样就会在信道上发生冲突。采用 CSMA/CD 控制协议,即可减少冲突的发生。

CSMA 代表载波监听多路访问。它是"先听后发"也就是各站在发送前先检测总线是否空闲,当测得总线空闲后,再考虑发送本站信号。各站均按此规律检测、发送,形成多站共同访问总线的通信形式,故把这种方法称为载波监听多路访问(实际上采用基带传输的总线局域网,总线上根本不存在什么"载波"各站可检测到的是其他站所发送的二进制代码。 但大家习惯上称这种检测为"载波监听")。

CD 表示冲突检测,即"边发边听",各站点在发送信息帧的同时,继续监听总线 。 当 监听到有冲突发生时(即有其他站也监听到总线空闲,也在发送数据),便立即停止发送信息。

归纳起来, CSMA/CD 的控制方式如下:

• 一个站要发送信息,首先对总线进行监听,看介质上是否有其他站发送的信息存在。 如果介质是空闲的,则可以发送信息。

• 在发送信息帧的同时,继续监听总线,即"边发边听"。当检测到有冲突发生时,便立即停止发送,并发出报警信号,告知其他各工作站已发生冲突,防止它们再发送新的信息介入冲突。若发送完成后,尚未检测到冲突,则发送成功。

• 检测到冲突的站发出报警信号后,退让一段随机时间,然后再试。

3.2 高速以太网

以太网的标准拓扑结构为总线型拓扑,但为了最大限度地减少冲突,提高网络速度和使用效率,目前的快速以太网(100Mbit/s、 1000Mbit/s、 10Gbit/s 以太网) 都使用交换机来进行网络连接和组织,这样以太网的拓扑结构就成了星形,但在逻辑上,以太网仍然使用总线型拓扑结构的 CSMA/CD。

100Base-T 是 IEEE 正式接受的 100Mbit/s以太网规范,采用非屏蔽双绞线 (UTP) 或屏蔽双绞线 (STP) 作为网络介质, MAC 子层与 IEEE 802.3协议所规定的 MAC 子层兼容,被 IEEE 作为 802.3规范的补充标准 802.3u 公布。100VG-AnyLAN 是 100Mbit/s令牌环网和采用 4 对UTP作为网络介质的以太网的技术规范, MAC子层与IEEE802.3标准的 MAC 子层并不兼容。100VG-AnyLAN剧由HP公司开发,主要是为那些对网络时延安求较高的应用提供支持,IEEE 将其作为 802.12 规范公布。

100Base-T 沿用了 IEEE 802.3规范所采用的 CSMA/CD 技术,工作方式与之类似,它的帧结构、长度以及错误检测机制等都没有做任何的改动。此外 100Base-T 还提供了10Mbit/s 和 100Mbit/s两种网络传输速率的自适应功能。

吉比特以太网与快速以太网很相似,只是传输和访问速度更快,为系统扩展带宽提供了有效保障。它同样采用了 CSMA/CD 协议,并且采用了同样的帧格式。对子广大的网络用户来说,在向吉比特以太网过渡时,不需要做额外的协议和中间件投资就可以实现平滑的过渡。 10Gbit/s 以太网标准只工作子光纤介质上,且只工作在全双工模式,省略了 CSMA/CD 策略,因此它本身也没有覆盖距离的限制。

10Gbit/s 以太网可用于局域网,也可用于广域网。10Gbit/s 局域以太网和广域以太网物理层的速率不同,局域网的数据率为10Gbit/s,广域网的数据率为 9.58464Gbit/s。由于两种速率的物理层共用一个MAC子层,而 MAC 子层的工作速率为 10Gbit/s。所以必须采取相应的速度调整策略。

3.3 无线局域网

(1)点对点。点对点的结构简单,可在中远距离上获得高速率的数据传输。例如,在不同的局域网之间互连时,如果由于物理上的原因不方便采取有线方式,则可利用无线网桥的方式实现二者的点对点连接,无线网桥不仅提供二者之间的物理层与数据链路层的连接,还为两个网的用户提供较高层的路由与协议转换。

(2) 点对多点。点对多点结构由一个中心节点和若干外围节点组成。外围节点既可以是独立的工作站,也可与多个用户相连,是典型的集中控制方式。中心节点作为网络管理设备, 监控所有外国节点对网络的访问,管理接入点对有线局域网络或服务器的访问及带宽的使用。 例如,可以利用无线 Hub 组建厦形拓扑结构的无线局域网,它具有与有线 Hub 组网方式类似 的优点。

(3)分布式。分布式结构类似于分组无线网,所有相关节点在数据传输中都起着控制路由选择的作用。分布式结构抗毁性好、移动能力强,但网络节点多、结构复杂、成本商、存在多径干扰等问题。 无线局域网可以在普通局域网的基础上通过无线 Hub、无线接入站 (AP)、 无线网桥、无线 Modem 及无线网卡等来实现。其中以无线网卡最为普遍,使用最多。

二、Internet

1.TCP/IP

Internet 的主要协议是 TCP 和 IP,所以 Internet 协议也叫 TCP/IP 协议簇。

1.1 TCP/IP 分层模型

TCP/IP 采用分层体系结构。协议分层模型包括层次结构和各层功能描述两方面的内容。 每一层提供特定的功能,层与层之间相对独立,当需要改变某一层的功能时,不会影响其他层。采用分层技术,可以简化系统的设计和实现,并能提高系统的可靠性和灵活性。

与 OSI/RM分层的原则不同, TCP/IP 协议簇允许同层的协议实体问互相调用,从而完成复杂的控制功能,也允许上层过程直接调用不相邻的下层过程,甚至在有些高层协议中,控制信息和数据分别传输,而不是共享同一协议数据单元。

TCP/IP 完全撇开了网络的物理性"网络"的概念是一个高度抽象的概念,即将任何一 个能传输数据分级的通信系统都视为网络。这种概念为协议的设计提供了极大的方便,大大简化了网络互连技术的实现,为 TCP/IP 赋予了极大的灵活性和适应性。

TCP/IP 是也许多协议组成的协议簇:

TCP/IP 的主要特点如下:

• 高可靠性。 TCP/IP 采用重新确认的方法保证数据的可靠传输,并采用"窗口"流量控制机制得到进一步保证。

• 安全性。为建立 TCP 连接,在连接的每一端都必须就与该连接的安全性控制达成一致。 IP 协议在它的控制分组头中有若干字段允许有选择地对传输的信息实施保护。

• 灵活性。 TCP/IP 对下层支持其协议,而对上层应用协议没有特殊要求。因此,TCP/IP 的使用不受传输媒体和网络应用软件的限制。

• 互操作性。由 FTP、 Telnet 等实用程序可以看到,不同计算机系统彼此之间可采用文件方式进行通信。

TCP/IP 模型各层的功能如下

(1)应用层。应用层为用户提供访问 Internet 的一组应用高层协议,即一组应用程序。

(2) 传输层。传输层的作用是提供应用程序问(端到端)的通信服务。该层提供了 TCP 和 UDP 两个主要协议。 TCP 负责提供高可靠的数据传送服务,主要用于一次传送大量报文, 如文件传送等 UDP 负责提供高效率的服务,用于一次传送少量的报文,如数据查询等。 为实现可靠传输,该层协议规定接收端必须向发送端发回确认;当有分组丢失时,必须重新发送。

(3)网络层。该层的核心是 IP 协议,同时还提供了多种其他协议。 IP 协议提供主机间的 数据传送能力,其他协议提供IP协议的辅助功能,协助 IP协议更好地完成数据报文的传送。 网络层的主要功能有 3 点:处理来自运输层的分组发送请求;处理输入数据报;处理差 错与控制报文,如路由选择、流最控制、拥塞控制等问题。

(4) 网络接口层。这是 TCP/IP 协议的最低一层,主要功能是负责接收IP数据报,并且通过特定的网络进行传输;或者从网络上接收物理帧,抽出 IP 数据报,上交给 IP 层。

1.2 IP

IP 是 Internet 协议簇中最主要的协议之一。 IP 协议的主要功能是无连接数据报传送、数据报路由选择和差错控制。 (1)IP数据报的格式。 IP数据报是 Internet 中的基础协议,由 IP 控制的基本协议单元称为 IP 数据报。 IP 数据报的一般形式是由报头和报文数据两部分组成,在其报头中包括源地址和目的地址。 IP 数据报符合典型数据分组的一般格式,IP 数据报格式中各字段的意义如下:

是IP数据报的格式,每一行是 32 比特、 4 个字节,前 20 个字节的格式是固定的, 选项部分是可变的,数据部分就是上一层的协议数据。

IP 数据报格式中主要字段的定义如下:

• 版本:用来说明分组使用的协议的版本,这样,可以在不同版本的协议之间传输数据。 目前普遍采用的是 IPv4。

• 报头长度:它只有 4 个比特,最大值是 15,所以IP协议首部最长是 60 个字节,去 掉 20 个固定的字节,选项最长是 40 个字节。

• 服务类型:使主机可以要求子网用不同的方式来处理数据报,主要是可靠性和速度。

• 总长度:说明数据报中的所有信息的大小,包括首部和数据,共 16 比特,最大值是 216-1=65535,以字节为单位。

• 标识:主要解决不同类型网络之间的通信问题。标志字段有 3 个比特,其中第一位现在已经不用了,中间的一位标识是否允许分段,最后一位用来标识是否还有分段。

• 片偏移:用来表明分段在数据报中的位置,就像排队用的序号一样,当所有分段到达目的主机以后,就根据它来重新组装分组。它的长度是 13 比特,以 8 个字节为单位,所以一 个分组最多可有 213=8192 个分段,一个分组的最大长度是 213x8=216=65536字节,其实就是64KB,刚好和总长的最大值一致。

• 生存期:当一个分组经过一个路由器的时候,这个值会被减1, 当这个值是 0 的时候,路由器会直接将这个分组丢掉,不再转发,从而避免一个分组在网络上"永久存在"。

• 协议字段:当网络层一个完整的数据报组装完成后,协议字段会告诉传输层由谁来处理这些数据。

报头校验和:检验收到的这些分组是否正确,它只检查首部,在每个路由器上收到一个分组后,都会进行这个工作,这是因为 TTL 总是不停地改变。

(2) IP 地址

在 Internet 中,根据 TCP/IP 规定,每个 IP 地址长 32 比特,以U.X.Y.Z 格 式来表示, U.X.Y.Z 分别为 8 比特,其值为 0~255,这种格式的地址被称为"点分十进制" 地址。 IP 地址分为 5 类,其中 A 类、 B 类和 C 类地址为基本的 IP 地址(或称主类地址);D 类 和 E 类地址为次类地址。

IP 地址格式中,前 5 个比特用于标识地址是哪一类。

A 类地址,第1个比特为 "0"; 其网络地址空间为 7 比特,主机地址空间为 24 比特。起始地址为 1~126,即允许有 126 种不同的 A 类网络,每个网络可容纳的主机数目多达 224个。 A 类地址结构适用少量的且含有大量主机数据的大型网络。

B 类地址,前 2 个比特为 " 10"; 其网络地址空间为 14 比特,主机地址空间为 16 比特, 起始地址为 128~191 ,即允许有高达 214种不同的 B 类网络,每个网络可容纳的主机数为216个。

C 类地址,前 3 个比特为" 110"; 网络地址空间为 21 比特,主机地址空间为 8 比特。起始地址为 192~223 个,即允许多达 221 种不同的 C 类网络,每个网络能容纳主机 256 台。

以上 3 类编址方式既适应了大网量少、小网量大、大网主机多、小网主机少的特点,又方便网络地址和主机地址的提取。

D 类地址不标识网络,起始地址为 224~239,用于特殊用途。

E 类地址的起始地址为 240~255,该类地址暂时保留,用于进行某些实验及将来扩展。

1.3 TCP

TCP 协议是 Internet 最重要的协议之一。为实现高可靠传输, TCP 提供了确认与超时重传机制、流量控制、拥塞控制等服务。

传输控制协议 TCP 的主要特点是提供高可靠的服务。与 UDP 一样, TCP 提供进程通信 能力。与 UDP 不同的是, TCP 提供的是面向连接的流传输。流是指一个无报文丢失、无重 复和无失序的正确的数据序列。所谓面向连接,即是在数据传输之前, 信源与信宿之间必须建立一条连接。连接建立成功,则可开始传输数据。传输完毕后,需要释放连接。在面向连接的传输中,每一个报文都需要接收端确认,未确认的报文被认为是出错报文。

(1) TCP 段的格式

TCP 数据传输的基本单位是段。段由段头和数据区两个部分组成

TCP 段的格式中主要字段的定义如下:

• 源端口字段标识源应用进程的端口号。

• 目的端口字段标识目的应用进程的端口号。

• 序号字段标识段中数据在发送端数据流中的位置。

• 确认号字段指出本机希望接收的下一个字节的序号。

• 数据偏移字段指出以 32 比特为单位的段头长度,也即确定段的数据部分的偏移量。

• 校验和字段用于校验段头和段数据的完整性。

(2) TCP 连接

TCP 提供面向连接的服务,实现高可靠数据传输,要经过一个连接建立、数据传输和连接释放的过程。 两主机在实现应用进程闷的通信之前,必须建立一个连接。 TCP 在连接建立的机制上, 提供了 3 次握手的方法。

在 3 次握手中,第1次,发送端机发出连接请求 CR, 该请求中包括发送端机的初始报文序号;第 2 次,接收端机收到 CR后,发回连接确认 CC, 其中包含接收端机的初始报文序号,以及对发送端机的初始报文序号的确认;第 3 次,发送端机向接收端机发送数据,并包括对接收端机初始序号的确认。 当连接建立后,数据传输就可以开始进行了。 在数据传输中,由于通信线路存在着干扰和噪声,可能致使数据出现差错或丢失。 TCP 协议采用确认与超时重传机制,以保证数据传输的可靠性。

(3)流量控制

TCP 协议中,数据的流量控制是由接收端进行的,即出接收端决定接收多少数据,发送端据此调整传输速率。

在连接建立期间,每一端分配接收缓冲区空间供连接使用。进来的数据流入接收缓冲区, 直到与 TCP 端口相关的应用程序取走数据进行处理。缓冲区空间用于暂存数据,当应用程序取走数据后,缓冲区空间被释放用于接收新来的数据。

接收端实现控制流量的方法是采用"窗口"。接收窗口由接收缓冲区空间组成,表示的意义为上一次确认的字节到缓冲区的末尾。窗口是可以滑动的,当数据进入缓冲区时,窗口滑动,缓冲区剩余空间减少,将限制数据进入;当应用程序从缓冲区中取走数据时,窗口滑动, 缓冲区剩余空间增大,可接收更多新的数据。

(4) 拥塞控制

当大最数据报进入网关,致使网关超载而引起严重延迟的现象即为拥塞。 一旦发生拥塞,网关将丢弃数据报,导致重传。而大量重传又进一步加剧拥塞,这种恶性循环将导致整个Internet 无法工作,即 "拥塞崩溃"。这时, TCP 协议的确认和超时重发机制可以降低报文复制,但并不能解决所有问题, TCP 提供的更有效的拥塞控制措施是采用滑动窗口技术,通过限制发送端向 Internet 输入报文的速率,来达到控制拥塞的目的。

1.4 ICMP(网际控制信息协议)

作为 IP 协 议不可缺少的组成部分, ICMP 是 IP 协议正常工作的辅助协议。当 IP 数据报在传输过程中产生差错或故障时, ICMP 允许网关和主机发送差错报文或控制报文给其他网关或主机。

在上网的过程中,使用 IP 协议的同时,也一直使用着 ICMP 协议。例如,当一个分组无法到达目的站点或 TTL 超时后,路由器就会丢弃此分组,并向源主机返回一个目的主机不可 到达的 ICMP 报文。

ICMP 没有使用专用的数据报格式,它的首部使用了 IP 首部。ICMP 报文是封装在IP数据报的数据部分进行传送的。尽管如此, ICMP 仅作为 IP 协议的一个模块而存在,并不能将它视为 IP 的高层协议。当 IP 协议收到差错或控制报文时,立即交由 ICMP 模块进行处理。 ICMP 报文同样需要使用 IP 数据报经过若干物理网络才能到达其最终目的地。

当发送一份 ICMP 差错报文时,报文始终包含IP的首部和产生 ICMP 差错报文的 IP数据报的前 8 个字节。这样,接收 ICMP 差错报文的模块就会把它与某个特定的协议(根据 IP 数据报首部中的协议字段来判断)和用户进程(根据包含在 IP数据报前 8 个字节中的 TCP 或 UDP 报文首部中的 TCP 或 UDP 端口号来判断)联系起来。 可应用 ICMP 协议来检测网络、网络中的节点和主机的运行情况,常用的 ping 使用的就 是 ICMP 协议。

1.5 ARP(地址转换协议) 和 RARP

地址转换协议 (ARP),提供网络接口协议,其功能是将 Internet 逻辑地址转换成物理网络(硬件)地址。 ARP 协议是通过定义 ARP 数据分组来实现的。将带有发送节点的硬件地址和 IP 地址的 ARP 数据分组向网络广播,当目的节点收到该分组后进行响应。如果目的节点不存在,则收 不到 ARP 响应。

在每台使用 ARP 的主机中,都保留了一个专用的内存区即高速缓存,存放着 ARP 转换表。表中登记了最近获得的 IP 地址和物理地址的对应。当主机收到ARP 响应时,就将目的节点的IP地址和物理地址登记到转换表中。在发送报文时,通过查 ARP 转换表来实现地址转换。

RARP 协议的作用与 ARP 正好相反,功能是完成物理地址到 Internet 地址的转换。在网络中,当发送节点广播 个 RARP 请求,标识自己作为目的主机并提供自己的物理网络地址。 网络上所有的机器都收到了 RARP 请求,但仅仅是那些有权提供 RARP 服务的机器处理该请 求,并发送回 RARP 响应。处理 RARP 请求的机器称为 RARP 服务器,网络中必须至少包括 一台 RARP 服务器。

服务器要响应 RARP 请求,必须要知道物理地址与 Internet 地址的对应关系。为此,在 RARP 服务器中存有一张本网的物理地址与 Internet 地址的转换表,其功能类似 ARP 转换表。

2.TCP/IP应用

2.1 IP数据报的传输

(1)数据报封装。网络数据都是通过物理网络帧传输的。作为一种高层网络数据, IP 数据报最终也是要通过帧来传输。将数据报直接映射到物理网络帧的方式称为数据报封装,其中数据报作为物理网络帧的数据部分来传送。

(2) 分片机制。在数据报传输过程中,理想的情况是整个数据报能够全部插入到一帧中。显然,这就要求数据 报的长度不大于其传输E各自上所有物理网络帧的数据区的长度。如果数据报太大,则要将数据报分成若干片。在数据报分片时,每片都要加上IP报头,形成IP数据报。

片重组作为分片的逆过程,与分片过程在概念上是相对称的。但它的实现过程是完全不 对称的:分片是在传输路由中的路由器中进行的;所有片重组在目的主机中进行。即当一个 IP 数据报被分片后,各片就作为独立的数据报进行传输,在到达目的主机之前可能再次或多次再被分片,但绝不进行分片重组。

TCP/IP 的 IP 数据报的分片与重组机制,作为网络操作系统内部功能,由系统内部自动完成,应用软件或用户都不必关心这一问题。

(3)数据报路由选择。路由选择是 IP 协议最主要的功能之一,即是为分组寻找一条从源主机到目的主机的传输路由。

一般来说,路由选择有两种形式:直接路由选择和间接路由选择。

直接路由选择就是将数据报从一台主机直接传送到另一台主机。这是物理网络内部的路由选择,等于物理网络技术的一个细节部分。 当源主机与目的主机处于不同网络时,发送主机的数据报将可能通过若干个网关传输到接收主机中,网关间需要进行多次路由选择。 IP 间接路由选择就是指,从若干个网关中,选 择一个网关来作为数据报的传输网关。 IP路由选择所要解决的正是间接路由选择问题。

在数据报从源主机到目的主机的传输过程中,主机与网关之间、网关与网关之间每一段的路由选择都包括间接路由选择和直接路由选择。间接路由选择只关心 IP 数据报,为其传输选择下一网关;直接路由选择处理的是物理传输,其对象为物理网络帧。

IP 路由选择由改变路由表来实现。在 Internet 中各网关上都包含一个路由表,指明到达目的主机的路由信息。网关通过查路由表,为IP数据报选择一条到达目的主机的路由。路由表中的每项由两部分构成:目的网络地址和网关地址。其中"网关地址"仅是指明路由中下一网关的网络地址。

例如,图为 5 个网络 3 个网关组成的 Internet。图中网关G1使用其路由表为数据报选择路由。因为 G1 与网络号为 10、 20 和 30 的网络直接相连,可将 IP 数据报直接送到这些网络的主机上。当G1发现IP数据报的目的网络地址为 10、 20 和 30 其中之一时,便可立即将 IP 数据报封进相应的物理网络帧中,并经过相应的端口送到该物理网络上,由物理网络对帧进行直接路由选择。如果IP数据报要到达网络号为 50 的网络的主机上,网关 G1 不能直接到达,就要为其选择下一网关。结果路由为网关G3。网关 G3 可直接将数据报传输到目的主机。

在 Internet 中路由表是固定的,其大小仅与 Internet 中的网络数有关,而与其主机数无关。 在路由技术选择中,有两个特例:默认路由选择和特定主机路由选择。 默认路由选择即是让 IP 路由选择软件首先查看目的网络的路由表,如果表中无路由,则路由选择例行程序以默认方式发送数据报。当某一主机只能通过唯一一个网关访问其他网络时,该网关便被定义为默认路由。这种方法可以缩小路由表的规模。特定主机路由选择是对单个主机(而非网络)指定一条特别的路由。这种特定主机路由选择方式可以赋予本地网络管理人员更大的网络控制权,便于测试网络连接,检查路由表, 维护网络安全。

网关的主要功能是为进入的数据报选择路由。按照 TCP/IP 规定,只有网关和指定可以做路由选择的多宿主机才能进行 IP 路由选择,其他主机则应丢弃不属于自己的数据报,避免进行路由选择。这是因为:其一,主机若收到不属于自己的IP数据报,说明路由选择错误, 如果主机对此数据报进行正确的路由选择,则掩盖了错误;其二,重新路由选择浪费主机机时, 影响其功能,并增加网络不必要的通信量;其三,重新路由选择可能由简单的错误引起大的混乱,使每台主机增加重新路由选择的工作量;其四,网关具有一些专门功能,而主机没有这些功能,重新路由选择会给网络管理带来很大困难。

2.2 子网与子网掩码

(1)子网编址

子网编址是在 Intemet 地址中,网络地址部分不变,原主机地址划分为子网络地址和主机地址。这样, IP 地址就划分为"网络—子网—主机" 3 个部分。采用了子网编址技术,可以提高 Internet 地址的利用率,便于分级管理和维护,因而可使 Internet 具有最大的可靠性、灵活性和适应性。

例如,一个 B 类 IP 地址前导码和网络号占用了 16 位(即比特),主机号码 16 位,为了划分子网, 用主机位的一部分作为子网号码,有子网时IP地址结构用其中的 6 位作为子网号,这样主机的位数变成 16-6=10位。这样就产生了网络号、子网号和主机号的IP地址结构。如果一家公司的主机有 1000 台, 它只需要一个子网就够用了,因为主机地址是 10 位,能支持的主机数量是 210-2= 1022,其他的 IP 地址可以被别人使用。

(2)子网掩码

为进行网络划分,使用到子网掩码的概念。子网掩码是一个 IP 地址对应 的 32 位数字。其中用所有的 "1" 表示IP地址中的网络地址段和子网地址段,用所有的 "0" 表示 IP 地址中的主机地址段。各类地址的缺省子网掩码如下:

A 类 255.0.0.0

B 类 255.255.0.0

C 类 255.255.255.0

要根据一个 IP 地址来确定其网络号和子网号,需要用子网掩码和这个IP地址进行布尔与运算。如果主机号使用 10 位,它的子网号就是 6 位, 子网掩码的十进制是 255.255.252.0,如果一个分组首部中目的IP地址是 159.160.28.204,它 和 255.255.252.0 布尔与运算的过程如下:

规则很简单,上下都是 1 的时候为1,否则为 0。经过运算,得出网络号是 159.160.28.0, 根据它就可以将这个分组转发到相应的网络中。 在工程中常常用 202.106.2.0/26 来表示网络号和子网掩码, "/26" 表示有 26 位的子网掩码。

2.3  域名系统

计算机网络中,主机标识符分为 3 类:名字、地址和路由。前面曾经提到,在 Internet 中涉及 IP 地址和物理地址,这是两类处于不同层次上的地址。物理地址是指物理网络内部所使用的地址,在不同的物理网络中其物理地址模式各不相同 IP 地址用于 IP 层以上各层的高层协议中,其目的在于屏蔽物理地址细节,是 Internet 中提供一种全局性的通用地址。

(1)域名

Internet 中 IP 地址由 32 比特组成,对于这种数字型地址,用户很难记忆和理 解。为了向用户提供一种直观、明白的主机标识符, TCP/IP 开发了一种命名协议,可以用符号型命名主机,就像每个人的名字一样,即域名系统 (DNS)。

Internet 允许每个用户为自己的计算机命名,并且允许用户输入计算机的名字来代替机器的地址。 Internet 提供了将主机名字翻译成 IP 地址的服务。 Internet 的域名服务是通过一些专门的服务器来完成的,它们就是域名服务器,用于处理 IP 地址与主机符号名之间的转换。

(2) 命名机制

对主机名字的首要要求是全局唯一性,这样才可在整个网络中通用:其次要便于管理,这里包括名字的分配、确认和回收等工作,其三要便于名字与IP地址之间的转换。对这样 3 个问题的特定解决方法,便构成了特定的命名机制。 TCP/IP 采用的是层次型命名机制,首先由中央管理机构将最高一级名字空间划分为若干部分,并将各部分的管理权授予相应机构;各管理机构可以将自己管辖的名字空间再进一步划分成若干子部分,并将这些子部分的管理权再授予若干子机构。

(3)域名结构

接入 Internet 的计算机其域名的取值应遵守一定的规则,一般结构如下:

计算机主机名·结构名·网络名·最高层域名

例如: www.b***.edu.cn,其中, cn 为最高层域名或称一级域名,一般分配给主子网节点, 取值为国家名 cn 即代表中国 edu 为网络名或称二级域名,代表组网的组织或部门, edu 表示教育部门;b***为机构名即三级域名,表示北京 xx大学,任何单位都可以作为三级域名登记在相应的二级域名之下 www 表示这台主机提供 www 服务。 要保证主机名的唯一性,只要保证向层名字不发生冲突即可。

(4) Internet 域

Internet 为保证其域名系统的通用性,特规定了一组正式的通用标准符号,作为第一级域名。

2.4 IPv6

随着互联网的迅速发展,当初设计 IPv4 时考虑不周所带来的缺陷日益显露出来,主要表现为两个方面:地址空间的用尽问题和路由表的急剧扩张问题,由此产生了 IPv6。

(1)IPv6 报头格式

IPv6 数据报头发生根本性改变,主要是提供对新的、更长的 128 位 IP 地址的支持以及去掉作废的和不用的域。 IPv6 和 IPv4 的不同之处如下:

• IPv6的报头相比 IPv4 简化了许多 。

• 版本号,即用于记录数据报的版本号.,IPv6 中此数为 6。

• 优先级 4 位长,用于定义传输顺序的优先级。 IPv6 头中的优先级把数据报分成两类: 有拥塞控制和非拥塞控制。非拥塞控制的报文比拥塞控制的报文优先路由。

• 流标识 24 位长,流标识和源机器IP地址一起提供网络流标识。 为了防止缓存过大或出现一些过时的信息,IPv6 规定缓存中维护的信息不能超过6s。如果一个具有相同流标识的数据报在 6s 内没有到达,则缓存项会被删除。为了防止发送机器产生重复值,发送方必须等 6s 才能使用相同的到另一目的机的流标识值。

• 报文长度 16 位,用于指示整个 IP 数据报的长度,以字节为单位。整个长度不包括 IP 头自身。

• 下一头用于标识哪一个应用跟在 IP 头之后。

• 跳数限制域决定了数据报经过的最大跳数。每一次转发,该数值减1,当跳数限制减少到 0 时,数据报被丢弃,这一点和 IPv4 中的 TTL 类似。

(2) IPv6 地址

IPv6 定义了 3 种不同的地址类型, 分别是单播地址、多播地址和任意播地址。所有类型 的 IPv6 地址都属于接口而不是节点。 一个 IPv6 单播地址被赋给某一个接口,而一个接口又只能属于某一个特定的节点,因此一个节点的任意一个接口的单播地址都可以用来标示该节点。 IPv6的 128 位地址是以 16 位为一分组,每个 16 位分组写成 4 个十六进制数,中间用冒号分隔,称为冒号分十六进制格式。下列为一个完整的 IPv6 地址。

21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A

IPv6 地址的基本表达方式是 X : X : X : X : X : X : X : X,其中 X 是一个 4 位十六进制整 数。这是比较标准的 IPv6 地址表达方式,如果在分配某种形式的 IPv6 地址时,发生包含长串 0 位的地址,为了简化包含 0 位地址的书写,指定了一个特殊的语法来压缩 0。使用"::" 符号指示有多个 0 值的 16 位组。"::"符号在一个地址中只能出现一次。该符号也能用来压缩地址中前部和尾部的0。

(3) IPv4 向 IPv6 过渡

IPv4 向 IPv6 过渡的基本问题是首部翻译,以避免数据丢失。虽然 IPv6 是以 IPv4 为基础的,但是二者的首部非常不同。 IPv6 首部中的任何不被 IPv4 支持的信息(如优先级分类)会在转化过程中丢失。相反,由 IPv4 主机生成的报文转化为 IPv6 报文时将会丢失大量信息,其中有一些可能是重要信息。

目前,解决过渡问题的基本技术主要有 3种:

• 双协议校。采用该技术,节点上同时运行 IPv4 和 IPv6 两套协议栈。

• 隧道技术。这种技术提供了一种以现有 IPv4 路由体系来传递IPv6 数据的方法·将 IPv6 的分组作为无结构意义的数据,封装在 IPv4 数据报中,被 IPv4 网络传输。

• 协议翻译技术。转换网关除了要进行 IPv4 地址和 IPv6 地址转换外,还要包括协议翻译。转换网关作为通信的中间设备,可在 IPv4 和 IPv6 网络之间转换 IP 报头的地址,同时根据协议的不同对分组做相应的语义翻译,从而使纯 IPv4 和纯 IPv6 站点之间能够透明通信。

3.网络操作系统的功能

3.1 网络操作系统的特征

(1) 开放性。网络操作系统的开放性是指把配置了不同操作系统的计算机系统互连起来 形成计算机网络,使不同的系统之间能协调地工作,实现应用的可移植性和互操作性,而且能进一步将各种网络互连起来组成互联网。

(2)一致性。网络操作系统的一致性是指网络向用户、低层向高层提供一个一致性的服 务接口。该接口规定了命令的类型、命令的内部参数及合法的访问命令序列等,它并不涉及服务接口的具体实现。即网络用户可以用一致的方法访问网络中的任何文件。

(3)透明性。网络环境下的透明性十分重要,几乎网络提供的所有服务无不具有透明性, 即用户只需知道他应得到什么样的网络服务,而无须了解该服务的实现细节和所需资源。事实上,由于用户通信和资源共享的实现都是极其复杂的,因此,如果 NOS 不具有透明性这一 特征,用户将难以甚至根本不可能去使用网络提供的服务。

3.2 网络操作系统的功能

(1)网络通信。网络通信的主要任务是提供通信双方之间无差错的、透明的数据传输服务,主要功能包括建立和拆除通信链路;对传输中的分组进行路由选择和流量控制;传输数据的差错检测和纠正等。

(2) 共享资源管理。网络操作系统采用有效的方法统一管理网络中的共享资源(硬件和软件),协调各用户对共享资源的使用,使用户在访问远程共享资源时能像访问本地资源一样方便。

(3)网络管理。网络管理中最基本的是安全管理,主要反映在通过"存取控制"来确保 数据的安全性,通过"容错技术"来保证系统故障时数据的安全性。

(4) 网络服务,网络操作系统直接面向用户提供多种服务,如电子邮件服务、文件传输、 存取和管理服务、共享硬件服务以及共享打印服务。

(5) 互操作。互操作就是把若干相似或不同的设备和网络互连,用户可以透明地访问各服务点、主机,以实现更大范围的用户通信和资源共享。

(6) 提供网络接口。网络操作系统向用户提供一组方便、有效、统一的取得网络服务的接口,以改善用户界面,如命令接口、菜单、窗口等。

3.3 网络操作系统的安全性

(1)用户账号的安全性。使用网络操作系统的每一个用户都有一个系统账号和有效的口令字。

(2) 时间限制。系统对每个用户的注册时间进行限定,限定方式以一定的时间间隔为单位,如半小时间隔方式、星期几的方式等。时间限制功能主要应用在要求具有严格安全机制的网络环境中。

(3)站点限制。系统对每个用户注册的站点进行限定。站点限定了每个用户只能在指定物理地址的工作站上进行注册。这样就阻止了企图从其他区域使用并不同于自己的工作站而进行注册,在一定程度上确保安全性。

(4) 磁盘空间限制。系统对每个用户允许使用的磁盘服务器磁盘空间加以限定,以防止可能出现的某些用户无限制侵占服务器磁盘的情况发生,确保其他用户磁盘空间的安全性。

(5) 传输介质的安全性。由于局域网的传输介质,如同轴电缆和双绞线,很容易被窃听, 传输的数据被窃取,因此网络传输介质的安全性也是十分重要的。为此在一些机密环境中, 可以将网络电缆安装在导管内,防止由于电磁辐射而使数据被窃驭。也可将网络电缆线预埋在混凝土内,避免对网络电缆的物理挂接。

(6) 加密。对数据库和文件加密是保证文件服务器数据安全性的重要手段。一般在关闭文件时加密,在打开文件时解密。很多数据库系统都具有对数据文件进行加密的功能。平常所遇到的许多加密程序是与某些软件工具一起提供的。

(7)审计。网络的审计功能可以帮助网络管理员对那些企图对网络操作系统实行窃听行为的用户进行鉴别。当对网络运行机理熟悉的某用户通过多次重复敲入口令字来试探其他用户口令字时,很多网络就采取一定措施来制止这种非法行为。

3.4 网络操作系统的结构

(1)网络操作系统的功能结构

网络环境下的操作系统除了原计算机操作系统所具备的模块外,还需配置一个网络通信管理模块。该模块是操作系统和网络之间的接口,它有两个界面,一个与网络相接,另一个与本机系统相连,分别称为网络接口界面和系统接口界面。

网络接口界面的主要功能是使本机系统和网中其他系统之间实现资源共亭,因此需要配置一套支持网络通信协议的软件,称为网络协议软件。系统接口界面的主要功能是实现本机系统中的系统进程或用户进程,以便简便地访问网络中的各种资源,同时实现网络中其他用户访问本机资源。因此需要配置一套与原系统相一致的原语和系统调用命令。

(2) 网络操作系统的逻辑结构

网络操作系统 NOS大多数采用客户机服务器模式,在网络服务器上配置 NOS 的核心部分,对客户配置工作站网络软件。这样一来,就 NOS 的配置而言, NOS 可分为 4 部分:网络环境软件、网络管理软件、工作站网络软件和网络服务软件。

网络环境软件配置于服务器上,它使高速并发执行的多任务具有良好的网络环境,管理工作站与服务器之间的传送;提供高速的多用户文件系统,一般包括多任务软件、传输协议软件、多用户文件系统形成软件。 网络管理软件是用于网络管理的操作软件,主要包括安全性管理软件、容错管理软件、 备份软件和性能检测软件。

工作站网络软件应置于工作站上,它能实现客户机与服务器的交互,使工作站上的用户能访问文件服务器的文件系统、共享资源。工作站网络软件主要有重定向程序和网络基本输入/输出系统。

网络服务是面向用户的,它是否受到用户的欢迎,主要取决子 NOS 所提供的网络服务软件是否完善。网络服务软件配置在系统服务器上或工作站上。 NOS 提供的网络服务软件主要有多用户文件服务软件、名字服务软件、打印服务软件和电子邮件服务软件。

3.5 操作系统

(1) Windows 系列操作系统

①Windows NT

Windows NT Server 是由 Microsoft在公司开发的 Windows 的客户机/服务器操作系统。它提供较好的安全保护级别、特性及可靠的性能,并提供方便的 Windows 界面。 它支持所有网卡和各种电缆连接。它可以与其伙伴产品交互,也可以与其他软件开发平台交 互。它提供一个完整的、集中化的管理软件包,用它可以简化与大型多服务器相关联的管理问题,以及必须支持不同信息协议的网络管理问题。

Windows NT 具有一系列网络操作系统的特点,主要有兼容性及可靠性、友好的界丽、 丰富的配套应用产品、便于安装和使用、优良的安全性、多任务和多线程、强大的内置网络 功能及内置了对远程访问的支持。 Windows NT的广泛流行与它自身的功能特性是紧密相关的。 Windows NT 的功能特性主要包括具有强大的网络、易学易用、可扩展性及兼容性良好、高可靠性与安全性、更平滑的多任务、高性能和多种平台支持。

Windows NT的广泛流行与它自身的功能特性是紧密相关的。 Windows NT的功能特性主要包括具有强大的网络、易学易用、可扩展性及兼容性良好、高可靠性与安全性、更平滑的 多任务、高性能和多种平台支持。

②Windows 10 

Windows 10 是美国微软公司研发的新一代跨平台及设备应用的操作系统,是微软发布的最后一个独立 Windows 版本,核心版本号为 Windows NT 10.0,适用子基于 x86 与Arm架构的设备,正式发布时间是 2015 年 7 月 29 日。截至 2017 年 12 月 13 日, 微软官方推送的 Windows 10 最新稳定版更新为rs3_release。 Windows 10 共有 7 个发行版本, 分别面向不同用户和设备。 Windows 10 系统成为智能手机、 PC、平板电脑、 Xbox One、物联网和其他各种办公设备的心脏,使设备之间提供无缝的操作体验。

相比之前的 Windows 版本, Windows 10 在用户界丽、系统优化方面进行了新的尝试, 对许多细节进行了改进并新增了部分功能。

Windows 10 新增的功能如下:

• 生物识别技术。此功能将带来一系列对子生物识别技术的支持,除了常见的指纹扫描 之外,系统还能通过面部或虹膜扫描来让用户进行登入。

• Cortana 搜索功能。这是拟人化的 Windows 的私人助理服务,可以用来搜索硬盘中的文件,甚至是互联网中的其他信息。作为一款私人助手服务, Cortana 还能像在移动平台上那 样帮用户设置基于时间和地点的备忘。

Windows 10 的核心版本号是 Windows NT 10.0,为相关硬件提供了一个统一的平台,它 支持广泛的设备类型,涵盖从互联网设备到全球企业数据中心服务器。这些设备的操作方法各不相同,手触控、笔触控、鼠标键盘以及动作控制器,微软 Windows 10 全部支持。这些设备将会拥有类似的功能。从瘦终端到云端, Windows 10 构建了统一的平台。

(2) UNIX 操作系统

UNIX 操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由 KenThompson、 Dennis Ritchie 和 Douglas McIlroy 于 1969 年在 AT&T 的贝尔实验室开发。

UNIX 操作系统的主要特征有:支持多个同时登录的用户,是一个真正的多用户系统; 合并可卸下卷的层次文件系统;文件、设备和进程输入/输出具有一致的接口;具有在后台开始进程的能力,具有上百个子系统,其中包括几十种程序设计语言;程序的源代码具有可移植性;用户定义的窗口系统,其中最为流行的是 XWindow 系统。

整个 UNIX 系统可分为 5 层:最底层是裸机,即硬件部分;第 2 层是 UNIX 的核心,它直接建立在裸机的上面,实现了操作系统重要的功能,如进程管理、 存储管理、设备管理、文件管理、网络管理等,用户不能直接执行 UNIX 内核中的程序,而只能通过一种称为"系统调用"的指令,以规定的方法访问核心, 以获得系统服务;第 3 层系统调用构成了第 4 层应用程序层和第 2 层核心层之间的接口界面;应用层主要 是 UNIX 系统的核外支持程序,如文本编辑处理程序、 编译程序、系统命令程序、递信软件包和窗口图形软件包、各种库函数及用户自编程序 UNIX 系统的最外层是 Shell 解释程序,它作为用户与操作系统交互的接口,分析用户键入的命令和解释并 执行命令, Shell 中的一些内部命令可不经过应用层,直接通过系统调用访问核心层。

(3) Linux 操作系统

Linux 操作系统是 UNIX 操作系统在微机上的实现,它是由芬兰赫尔辛基大学的 Linus Torvalds 于 1991 年开始开发的,并在网上免费发行。它的出发点是核心程序的开发,而不是对用户系统的支持。

Linux 系统具有以下主要特点:

• Linux 操作系统是 UNIX 在微机上的完整实现,它性能稳定、功能强大、技术先进, 是目前最流行的微机操作系统之一。

• Linux 有一个基本的内核 (Kernel)。一些组织或厂商将内核与应用程序、文档包装起来,再加上安装、设置和管理工具,就构成了直接供一般用户使用的发行版本。

• 源代码公开。这使它一直得到, 并将继续得到全世界范围的程序员的共同完善。

• 完全免费。 Linux 从内核到设备驱动程序、开发工具等,都遵从 GPL协议, Internet 上有大量关于Linux 的网站和技术资料,可以免费下载,其中不包含任何有专利的代码,即不存在"使用盗版软件"的问题。

• 完全的多任务和多用户。

• 适应多种硬件平台。

• 稳定性好。运行 Linux 的服务器很少出现在其他一些常用操作系统上常见的死机现象。

• 易于移植。

• 用户界面良好。 Linux 的 XWindows 系统具有图形用户界面,它可以运行 Windows 9x 下的所有操作,甚至还可以在几种不同风格的窗口之间来回切换。

• 具有强大的网络功能。支持 TCP/IP,支持网络文件系统 (NFS)、 文件传送协议 (FTP)、超文本传送协议 (HTTP)、点对点协议 (PPP)、电子邮件传送和接收协议 (SMTP) 等,可以轻松地与其他网络操作系统互连。

4. 网络安全的概念

4.1 网络安全的定义

网络安全的本质是保证所保护的信息对象在网络上流动或者静态存放时不被非授权用户非法访问。

(1)网络系统安全。网络系统安全是指保证信息处理和传输系统的安全,包括计算机硬件系统、操作系统和应用软件的可靠安全运行,数据库系统的安全,计算机结构设计上的安全性考虑,计算机系统机房环境的保护,法律、政策的保护,电磁信息泄露的防护等。

(2) 网络信息安全。网络信息安全包括用户身份验证、用户存取权限控制、数据存取权限、存储方式控制、安全审计、安全问题跟踪、计算机病毒防治,数据加密等。它侧重于保护信息的保密性、真实性和完整性,避免攻击者利用系统的安全漏洞进行窃听、冒充、诈骗等有损于合法用户的行为,本质上是保护用户的利益和隐私。

(3)网络信息传播安全。网络信息传播安全即信息传播的安全性,主要是信息过滤,侧 重于防止和控制非法、有害的信息进行传播;避免公用通信网络上大量自由传输的信息失控。

网络安全、信息安全和系统安全的研究领域是相互交叉和紧密相连的。因此,网络安全是通过各种计算机、网络、密码技术和信息安全技术,保护在公用通信网络中传输、交换和存储的信息的机密性、完整性和真实性,并对信息的传播及内容具有控制能力。

4.2 网络安全的需求

(1)保密性。保密性是指确保非授权用户不能获得网络信息资源的性能。为此,要求网络具有良好的密码体制、密钥管理、传输加密保护、存储加密保护、防电磁泄漏等功能。

(2) 完整性。完整性是指确保网络信息不被非法修改删除或增添,以保证信息正确、一致的性能。为此要求网络的软件、存储媒体以及信息传递与交换过程中都具有相应的功能。

(3)可用性。可用性是指确保网络合法用户能够按所获授权访问网络资源,同时防止对网络非授权访问的性能。为此,要求网络具有身份识别、访问控制以及对访问活动过程进行审计的功能。

(4) 可控性。可控性是指确保合法机构按所获授权能够对网络及其中的信息流动与行为进行监控的性能。为此,要求网络具有相应的多方面的功能。

(5) 真实性,真实性又称抗抵赖性,指确保接收到的信息不是假冒的,而发信方无法否认所发信息的性能。为此,要求网络具有数字取证、证据保全等功能。

4.3 网络安全体系结构

网络安全体系结构的任务是提供有关形成网络安全方案的方法和若干必须遵循的思路、 原则和标准。它给出关于网络安全服务和网络安全机制的一般描述方式以及各种安全服务与网络体系结构层次的对应关系。

OSI 安全体系结构的核心内容在于以实现完备的网络安全功能为目标,描述了 6 大类安全服务,以及提供这些服务的 8 大类安全机制和相应的 OSI 安全管理,并且尽可能地将上述安全服务配置于 OSI/RM 7 层结构的相应层之中。 由此,形成了 OSI 安全体系结构的三维空间表示,OSI 安全参考模型关注安全攻击、安全机制和安全服务。

• 安全攻击:任何可能会危及机构的信息安全的行为。

• 安全机制:用来检测、防范安全攻击并从中恢复系统的机制。

• 安全服务:一种用来增强组织的数据处理系统安全性和信息传递安全性的服务。

这些服务是用来防范安全攻击的,它们利用了一种或多种安全机制来提供服务。

三、计算机软件编程基础

1.数据库系统的基本概念

1.1 数据库系统

数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

(1)信息。信息是人脑对现实世界事物的存在方式、运动状态以及事物之间联系的抽象反映。信息是客观存在的,人类有意识地对信息进行采集并加工、传递,从而形成了各种消息、情报、指令、数据及信号等。信息的特征是:信息源于物质和能量;信息是可以感知的;信息是可存储、加工、传递和再生的。

(2) 数据。数据是由用来记录信息的可识别的符号组成的,是信息的具体表现形式。这些符号已被赋予特定的语义,具有传递信息的功能。

数据和它的语义不可分割。例如,对于数据(赵亦,计算机),可以赋予它一定的语义, 它表示"赵亦"所在系为"计算机"系。如果不了解其语义,则无法对其进行正确解释。 信息与数据之间存在着固有的联系;数据是信息的符号表示或载体;信息是数据的内涵, 是对数据的语义解释。数据表示了信息,而信息通过数据形式表示出来才能被人们理解和接受。

(3)数据处理。数据处理是将数据转换成信息的过程,包括对数据的收集、管理、加工利用乃至信息输出的演变与推导等一系列活动。其目的之一是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据,目的之二是借助计算机科学地保存和管理大量复杂的数据,以便人们充分利用这些信息资源。在数据处理过程中,数据是原料,是输入,而信息是产出,是输出结果。"信息处理"的真正含义是为了产生信息而处理数据。

(4) 数据管理。数据管理是指数据的收集、分类、组织、编码、存储、维护、检索和传输等操作,这些操作是数据处理业务的基本环节。 数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。 通过通用、高效、使用方便的管理软件,可以有效地管理数据。

(5) 数据库系统。数据库系统管理数据的特点是:结构化的数据及其联系的集合,数据共享性高、冗余度低;数据独立性高;有统一的数据管理和控制功能。

在数据库系统中,数据由数据库管理系统进行统一管理和控制。为确保数据库数据的正确、有效和数据库系统的有效运行,数据库管理系统提供了数据的安全性控制、数据的完整性控制、并发控制和数据恢复 4 个方面的数据控制功能。

(6) 数据库系统的结构。数据库系统 是指在计算机系统中引 入数据库后的系统。它主要由数据库、数据库用户、计算机硬件系统和计算机软件系统等几部分组成。

• 数据库是存储在计算机内、有组织的、可共享的数据和数据对象的集 合,该集合按一定的数据模型(或结构)组织、描述并长期存储,并以安全可靠的方法进行 数据的检索和存储,具有集成性和共享性。

• 用户是指使用数据库的人,他们可对数据库进行存储、维护和检索。用户分为 3 类:最 终用户、应用程序员、数据库管理员。

• 软件系统主要包括数据库管理系统及其开发工 具、操作系统和应用系统等。 DBMS 借助操作系统完成对硬件的访问和对数据库的数据进行存取、维护和管理。

• 硬件系统指存储和运行数据库系统的硬件设备,包括 CPU、内存、大容量的存储设备、 输入/输出设备和外部设备等。

(7) DBMS。DBMS 是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分,用户在数据库系统中的一切操作,都是通过数据库管理系统进行的。 DBMS 的主要功能如下:

• 提供数据定义语言定义数据的模式、外模式和内模式三级模式结构,定义外模式/模式和模式/内模式二级映像,定义有关的约束条件。

• 提供数据操纵语言实现对数据库的基本操作, 包括检索、更新等。

• 对数据库的运行进行管理。 DBMS 对数据库的控制主要通过 4 个方面实现:数据的安全性控制、数据的完整性控制、多用户环境下的并发控制和数据库的恢复。

• 提供数据库的建立和维护功能。

• 提供与其他软件系统进行通信的功能。

• 负责对数据库中需要存放的各种数据(如数据字典、用户数据、存取路径等)的组织、 存储和管理工作,确定以何种文件结构和存取方式物理地组织这些数据,以提高存储空间的 利用率和对数据库进行增、删、改、查的效率。

一个完整的 DBMS 通常应由以下部分组成:语言编译处理程序;系统运行控制程序;系统建立、维护程序和数据字典。

1.2 数据模型

数据库是模拟现实世界中某种应用环境所涉及的数据的集合,不仅要反映数据本身的内容,还要反映数据之间的联系。这种模拟是通过数据模型来进行的。

数据模型是用来描述数据、组织数据和对数据进行操作的一种模型。

数据模型是数据库的框架,描述了数据及其联系的组织方式、表达方式和存取路径,是数据库系统的核心和基础,各种机器上实现的 DBMS 软件都是基于某种数据模型,它的数据结构直接影响到数据库系统其他部分的性能,也是数据定义和数据操纵语言的基础。

(1)数据模型的分类

第一类模型是概念模型,也称为信息模型。它是按用户的观点对数据和信息建模,是对现实世界的事物及其联系的第一级抽象,它不依赖于具体的计算机系统,不涉及信息在计算机内如何表示、如何处理等问题,只是用来描述某个特定组织所关心的信息结构。

第二类模型是逻辑模型和物理模型。这是属于计算机世界中的模型。这一类模型是按计算机的观点对数据建模,是对现实世界的第二级抽象,有严格的形式化定义,以便于在计算 机中实现。任何一个 DBMS 都是根据某种逻辑模型来设计的,逻辑模型主要用于 DBMS 的 实现。

(2) 概念模型的 E-R 表示方法

概念模型是对现实世界及其联系的抽象表示,是现实世界到计算机的一个中间层次,也称为信息模型,是数据库设计时用户和数据库设计人员之间 交流的工具。在概念模型中,比较著名的是由 E.E.Chen 于 1976 年提出的实体联系模型简称 E-R 模型。 E-R 模型利用 E-R 图来表示实体及其之间的联系,基本成分包含实体型、属性和联系。

• 实体型:用矩形框表示,框内标注实体名称。

• 属性:用椭圆形框表示,框内标注属性名称, 通过无向边与实体相连。

• 联系:用菱形框表示,框内标注联系名称,并用无向边与有关实体相连,同时在无向边旁标上联系的类型, 即1:1(一对一)、 1 :n (一对多) 或 m:n (多对多)。

(3) 4 种数据模型

• 层次模型:类似倒置树形的父子结构。一个父表可以有多个子表,而一个子表只能有一个父表。层次模型的优点是不同层次之间的关联性直接且简单。

• 网状模型:也使用倒置树型结构。与层次结构不向的是,网状模型的结点间可以任意发生联系,能够表示各种复杂的联系。网状模型的优点是可以避免数据的重复性。

• 关系模型:这是指由行与列构成的二维表。在关系模型中,实体和实体间的联系都是用关系表示。二维表格中既存放着实体本身的数据,又存放着实体间的联系。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。

• 面向对象的数据模型:即采用面向对象的方法来设计数据库。面向对象的数据库的存储对象是以对象为单位,每个对象包含对象的属性和方法,具有类和继承等特点。

1.3 SOL 语言

SQL (Structured Query Language): 结构化查询语言,是介于关系代数和关系演算之间的语言。 SQL 具有丰富的查询功能,还具有数据定义和数据控制功能,是关系型数据库的标准语言。

(1) SQL 的特点

• 综合统一:SQL 集数据查询、数据操纵、数据定义和数据控制功能于一体,语言风格统一,可以独立地完成数据库生命周期中的全部活动,为数据库应用系统的开发提供了良 好的环境。

• 高度非过程化:用 SQL 进行数据操作,只要提出"做什么"而无需指明"怎么做" 存取路径的选择以及 SQL 语句的操作过程由系统自动完成。这大大减轻了用户的负担,有利于提高数据的独立性。

• 面向集合的操作方式:SQL采用集合的操作方式,操作对象、查找结果是元组的集合。

• 以同一种语法结构提供两种使用方式 :SQL 既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互,用户可以在终端上直接用 SQL 命令对数据库进行操作;作为嵌入式语言, SQL 语句能够嵌入到高级语言中,供程序员设计程序时使用。 这两种使用方式中的 SQL 语法结构基本上是一致的,提供了极大的灵活性与方便性。

• 语言简捷,易学易用。

• 支持三级模式结构。

(2) SQL 语言的基本概念

• 基本表:也称为关系或表,是数据库中独立存在的表,由CREATE TABLE命令创建。

• 属性和属性名:基本表中的每一列称为一个属性,它规定每列数据的性质;每列第一行的字符串称为列名或属姓名,有时也简称属性。

• 表结构和元组:基本表属性名的集合称为表结构。基本表中除表结构以外的每一行称为一个元组或数据行。一个基本表由表结构和许多元组构成。

• 属性值:基本表中每个元组的一个数据称为一个属性值。

• 视图:是从基本表中导出的表,由 CREATE VIEW 命令创建。数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。

• 存储文件:也称为数据库文件,它由若干个基本表组成。存储文件的物理结构是任意的,对用户是透明的。

(3) SQL 的基本应用

• 数据定义: SQL 的数据定义功能包括定义表、定义视图和定义索引。

SQL 使用 CREATE TABLE 语句定义基本表,其一般格式为:CREATE TABLE <表名> (<列名><数据类型>[列级完整性约束][, <列名><数据类型〉 [列级完整性约束]]…[,表级完整性约束]);

• 数据查询:查询是数据库的核心操作。 SQL 提供了 SELECT 语句进行数据库的查询, 其一般格式如下:

SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…

FROM<表名或视图名> [, <表名或视图名>]…

[WHERE<条件表达式>]

[GROUP BY<列名 1> [HAVING<条件表达式>]]

[ORDER BY<列名 2> [ASC|DESC]];

SELECT 语句的含义是,根据 WHERE 子句的条件表达式,从 FROM 子句指定的基本表或视图中找出满足条件的元组,再按 SELECT 子句中的目标列表达式,逃出元组中的属性值形成结果表。

如果有 GROUP 子句,则将结果按<列名 1>的值进行分组,该属性列值相等的元组为一个组,通常会在每组中使用聚集函数。如果 GROUP 子句带 HAVING 短语,则只有满足指定条件的组才可输出。如果有 ORDER 子句,则结果表要按〈列名 2>的值的升序或降序排序。 SELECT 语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。

2.程序设计语音的基本概念

2.1 程序设计语言的概念

程序是一组有序的计算机指令,这些指令用来指挥计算机硬件系统进行工作。程序设计语言是用于书写计算机程序的语言。人们通过程序设计语言编写程序来指挥和控制计算机运行。

计算机程序设计语言经历了从低级语言到高级语言的发展历程。

指令:控制计算机执行特定操作的命令。

指令系统:一台计算机所能执行的所有指令的集合称为这个计算机的指令系统。

低级语言是指机器语言和汇编语言。它们都是面向机器的语言,缺乏通用性,执行效率较高,但程序编写效率很低。

高级语言是一种与具体的计算机指令系统表面无关,而对问题和问题求解的描述方法更接近人们习惯的自然语言,是易于被人们掌握和书写的语言。高级语言的一个语句通常由多条机器指令组成。高级语言具有共享性、独立性和通用性的优点,但执行效率低于低级语言。 高级语言包括结构化程序设计语言、结构化查询语言和面向对象语言等。

• 机器语言:直接使用二进制位模式表示的指令编制程序的语言。用机器语言编写的程 序能直接被计算机识别和执行,除此之外的其他语言编写的程序都不能被计算机直接执行。

• 汇编语言:用有意义的符号代表机器指令,就是汇编语言。汇编语言是符号化的机器语言,它用符号来表示指令,通常采用英文单词的缩写和符号来表示操作码,如用 ADD 表 示加法、用 SUB 来表示减法、用 MOV 表示数据的传送等,而操作数可以直接用十进制数书写,地址码可以用寄存器名、存储单元的符号地址等表示。用汇编语言编写程序则比用机器 语言编写程序方便多了。

用汇编语言编写的程序称为汇编语言源程序。计算机无法直接执行、汇编语言源程序,需要把汇编语言源程序翻译成机器语言程序后,计算机才能执行。将汇编语言翻译成机器语言的过程称为汇编过程,而计算机上配置好的用于翻译的程序称为汇编程序。

• 高级语言:以人类日常使用的自然语言为基础的一种编程语言,从而使程序编写员编写程序更容易,亦有较高的可读性。 与汇编语言源程序一样,高级语言源程序也必须被翻译成机器语言程序后才能被计算机执行。

2.2 编程模式

编程模式是指在编写计算机程序时,看待要解决问题的方式。当前的编程模式可分成 4 种:过程式、面向对象式、函数式和说明式。

• 过程式:采用与计算机硬件执行程序相同的方法编制程序,即按照计算机执行指令的过程一条一条地写语句或指令。过程式编程需要开发者清楚待解决问题的本质,仔细设计数据结构和算法,并谨慎地将算法写成程序代码。Forlran、 Basic、 C、 Pascal等都是过程式语言。

• 面向对象式:这是以更符合入类思维方式的编程。它是以对象为基础,以事件或消息来驱动对象执行处理的程序设计。它以数据为中心而不是以功能为中心来描述系统,数据相对于功能而言具有更强的稳定性。它将数据和对数据的操作封装在一起,作为一个整体来处理,采用数据抽象和信息隐蔽技术,将数据结构与功能代码整体抽象成一种新的数据类型——类,并且考虑不周类之间的联系和类的重用性。类的集成度越高,就越适合大型应用程序的开发。Smalltalk、 C++、 C#、 Java 等都是面向对象式语言。

• 函数式:在函数式中,程序被视为一个数学函数。而函数被理解成一个黑盒,完成从 一系列输入到输出的映射。函数式语言相对于过程式语言有两方面的优势:它支持模块化编 程并允许程序员使用已经存在的函数来开发新函数。 LISP 和 Scheme 都是函数式语言。

• 说明式:即依据逻辑推理的原则回答查询。逻辑推理是根据已知正确的一些论断(事实),运用逻辑推璋的可靠准则推导出新的论断(事实)。说明式编程中,程序员需要学习有关主题领域的知识(知道该领域内所有己知的事实),并且应该精通如何从逻辑上严谨地定义准则, 这样程序才能推导并产生新的事实。说明性程序设计迄今为止只局限于人工智能领域。 Prolog 是说明式语言。

2.3 程序的翻译与执行

非机器语言编写的源程序只有翻译成机器语言程序, 计算机才能识别和执行。常见的翻译方式有两种:一种是编译方式、另一种是解释方式。

编译方式是将整段程序进行翻译, 把高级语言源程序翻译成相应的机器语言目标程序, 然后连接运行。解释方式则不产生完整的目标程序,而是逐句进行的,边翻译边执行。

(1)编译方式。编译是把源程序的每一条语句都翻译成机器语言,并把翻译之后的结果保存成二进制文件。在程序执行时, 计算机就直接以读取机器语言来运行翻译之后的二进制文件。翻译之后的二进制程序称为目标程序或目标代码。此种方式下,翻译与执行是分开的。 由于直接执行翻译之后的机器代码,所以执行速度快。 将高级语言源程序翻译成目标代码的程序称为编译程序或编译器。 C、 Fortran、 Pascal 等都是编译型高级语言。

(2) 解释方式。解释是对源程序的语句依次翻译并执行, 翻译一句执行一句, 不生成可存储的目标代码。由于不存储目标代码,所以程序执行时要依次对每条语句先翻译再执行, 所以速度慢。 用于解释(并执行)源程序的语言处理程序称为解释程序或解释器。 Basic、 JavaScript、 VBScript、 Perl、 Python、 Ruby、 MATLAB 等都是解释型高级语言。

(3)目标代码与可执行文件。编译器对源代码编译后生成的二进制代码称为"目标程序"。 通常,目标程序还不是直接可执行的程序,还需要与支持它运行的其他代码链接到一起之后才形成完整的可执行文件。

(4) 链接程序。链接程序将编译器生成的目标程序和系统提供的库文件连接,生成可以装载入内存中运行的可执行文件。各种计算机平台都会提供一些事先编制好的程序代码,实现一些常用功能,为用户程序的运行提供支持,这些代码通常称为库代码。目标程序经过正确链接, 就生成了可在计算机上执行的最终代码。

链接程序往往作为编译程序或运行时系统的一个组成部分存在。

3.软件工程的基本概念

3.1 软件工程的概念

软件工程不仅涉及软件开发的技术过程, 还包括软件项目管理和开发支持软件生产的工具、方法和理论等活动。早期的软件工程致力于寻找指导大型复杂软件系统的开发原则、方 法和技巧,随着人们认知的深入,现在的软件工程也还包括软件项目管理和质量保证等内容。

3.2 软件生命周期

软件生命周期 (Systems Development Life Cycle, SDLC) 又称为软件生存周期或系统开发生命周期,是软件从定义、生产、运行直到报废或停止使用的生命周期。 软件生命周期由软件定义、软件开发和软件维护 3 个时期组成,每个时期又划分为若干个阶段, 各个阶段的任务相互独立。每个阶段结束时会产生一定规格的文档或程序,提交给下一个阶段作为继续工作的依据。

(1)问题定义及规划。此阶段,软件开发方与需求方共同讨论,确定软件的开发目标及其可行性,并制定一个开发计划。

(2) 需求分析。此阶段,软件开发方耍弄清楚客户对软件的全部需求,有疑问的地方, 开发方需派代表同客户方进行沟通,尽可能地将需求现细化,并编写需求规格说明书和初步 的用户手册,进行评审。

(3)软件设计。此阶段,软件开发方要根据需求分析的结果,对整个软件系统进行设计, 如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

(4) 程序编码。此阶段,软件开发方要将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一的、符合标准的编写规范,以保证程序的可读性、易维护 性,提高程序的运行效率。

(5) 软件测试。此阶段,软件开发方要对软件进行严密的测试,以发现软件在整个设计过程和编码过程中存在的问题并加以纠正。在测试过程中需要建立详细的测试计划并严格按 照测试计划进行测试,以减少测试的随意性。

(6) 运行维护。软件运行和维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的使用需求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

3.3 软件过程

(1)软件描述活动是指客户和软件工程师定义耍生产的软件及其操作限制。

(2) 软件开发活动是指软件的设计和编程。

(3)软件验证活动是进行软件检查,以确保它是客户需要的。

(4)软件进化活动是指修改软件,以反映不断变化的客户需求和市场需求。

不同的软件过程以不同的方式组织以上 4 项活动的,并且被描述的详细程度也不尽相同。 整个活动的进度情况是由每一个活动的结果来确定的。不同的机构可能用不同的过程生产同一类产品。当然,总有某些过程会更适用于某些类型的应用。一旦使用了不适当的过程,就 很可能降低所开发的软件产品的质量和效用。

在实际应用中,软件开发组织把某一类相关活动放在一起,称为一个"过程"。例如,把 制订需求计划、需求识别、需求变更管理等相关的活动放在一起,称为"需求管理过程"。又如,把制订技术评审计划、实施正式技术评审、实施非正式技术评审等活动放在一起,称为 "技术评审过程"。这样,软件开发组织就会有诸多这样的"过程"通过它们组织软件产品的生产。软件开发组织所用的软件过程大致可分为以下 3 类。

• 主生产过程:与软件产品生产直接相关的过程,如需求管理过程、技术预研过程、系统设计过程、软件编码过程、系统测试过程等。

• 支持过程:这是支持主生产过程的过程,如配置管理过程、质量保证过程、验证与确认过程、评审过程等。

• 组织过程:软件组织用于建立和实现构成相关软件生产的基础结构、人事制度等活动, 如培训过程、过程改进过程等。

四.互联网应用技术

1.云计算技术

1.1 云计算的定义

云计算的技术、服务模式、理念均在不断演进和发展变化,对于什么是云计算,此处沿用受到业界广泛认可的 NIST对云计算的定义"云计算是一种模式,能以泛在的、便利的、按需的方式通过网络访问可配置的计算资源(如网络、服务器、存储器、应用和服务),这些资源可实现快速部署与发布,并且只需要极少的管理成本或服务提供商的干预。" 云计算一般具有 5 大特征:按需获得的自助服务;广泛的网络接入方式;资源的规模池化;快捷的弹性伸缩;可计量的服务。

1.2 云计算的主要服务模式

(1)软件即服务(SaaS) 以服务的方式将应用软件提供给互联网最终用户。开发商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求, 通过互联网向开发商定购所需的应用软件服务,按定购的服务多少和时间长短支付费用,并 通过互联网获得服务。

典型 SaaS 应用如 Salesforce 的 Sales Cloud(在线 CRM)、微软的 Office Online(在线办公系统)、用友的在线财务系统等。

(2) 平台即服务 (PaaS) 以服务的方式提供应用军到字开发和部署平台,就是指将一个完整的计算机平台,包括应用设计、应用开发、应用测试和应用托管, 都作为一种服务提供给客户。此项服务主要面对应用开发者,在这种服务模式中,开发者不需要购买硬件和软件,只需要利用 PaaS 平台,就能够创建、测试和部署应用和服务,并以 SaaS 的方式交付给最终用户。

典型的 PaaS 服务如谷歌的 AppEngine (应用程序引擎)、微软的 Azure 平台、 Salesforce 的 Force.com 等。

(3)基础设施即服务(IaaS) 以服务的形式提供服务器、存储和网络硬件以及相关软件。它是三层架构的最底层,是指企业或个人可以使用云计算技术来远程访问计算资源,这包括计算、存储以及应用虚拟化技术所提供的相关功能。

全世界范围内知名的 IaaS 服务有亚马逊的 AWS、微软的 Azure、谷歌的谷歌云等,国内有网里巴巴的阿里云、腾讯的腾讯云、电信的天翼云等。

1.3 云计算的关键技术

(1)分布式计算。分布式计算是让几个物理上独立的部件作为一个单独的系统协同工作,这些部件可能指多个 CPU,或者网络中的多台计算机。理想情况下,如果一台计算机能够在 5 秒内 完成一项任务,那么 5 台计算机以并行的方式协同工作时就能在 1 秒内完成。而实际上,由于协同设计的复杂性,分布式计算的性能并不能随着节点数量的增加而线性增长,会有一些损失。

分布式计算要解决的核心问题是如何把一个大的应用程序分解成若干可以并行处理的子 程序。有两种处理方法:一种是分割计算,即把应用程序的功能分割成若干个模块,自网络上多台机器协同完成;另一种是分割数据,即把数据集分割成小块,由网络上的多台计算机分别计算,然后对结果进行组合得出数据结论。对于海盘数据分析等计算密集型问题,通常采取分割数据的分布式计算方法,对于大规模分布式系统则可能同时采取这两种方法。

(2)分布式存储。分布式存储是指通过集群应用、网格技术或分布式文件系统等功能, 将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。其核心是应用软件与存储设备相结合,通过应用软件来实 现存储设备向存储服务的转变。

与传统存储相比,分布式存储具有低成本、高效率、部署灵活、扩展性好、可靠性高等优势;在降低运营成本的同时,可以提升服务质量,并且对上层应用、服务对象以及用户透明,大大简化了应用环节,节省了客户建设成本,同时提供了更强的存储和共享功能。

(3)服务器虚拟化。服务器虚拟化也称系统虚拟化,它把一台物理计算机虚拟化成一台或多台虚拟计算机,各虚拟机间通过虚拟机监控器 的虚拟化层共享 CPU、网络、内存、硬盘等物理资源,每台虚拟机都有独立的运行环境。虚拟机 可以看成是对物理机的一种高效隔离复制,要求同质、高效和资源受控。

(4)多租户。多租户是支撑 SaaS 的一项核心软件架构技术。用于实现如何在多用户的环境下共用相同的系统或程序组件,仍可确保各用户间数据的隔离性。多租户的技术要点是在共用的数据中心内,以单一系统架构与服务为多个客户端提供相同甚至可定制化的服务,同时保障客户的数据隔离。

(5 )存储虚拟化。存储虚拟化是将存储系统的内部功能从应用、主机或者网络资源上抽象、隐藏或者隔离的技术,其目的是进行与应用和网络无关的存储或数据管理。虚拟化为底层资源的复杂功能提供了简单、一致的接口,使得用户不必关心底层系统的复杂实现。

(6) 桌面虚拟化。桌面虚拟化(也称云桌面)是典型的云计算应用,它能够在云中为用户提供远程的计算机桌面服务。云桌面技术在数据中心服务器上运行用户所需的操作系统和应用软件,然后采用桌面显示协议将操作系统桌面视图以图像的方式传送到用户端设备上。 同时,服务器将对用户端的输入进行处理,并随时更新桌面视图的内容。

(7)云管理平台。此处的云管理平台特指 IaaS 云管理平台。云管理平台作为整个 IaaS 云体系的"大脑"构建于服务器、存储、网络等基础设施及操作系统、中间件、数据库等基础软件之上,依据策略实现自动化的统一管理、调度、编排与监控。

1.4 云计算系统的典型架构

云计算系统的典型架构一般包括虚拟资源池(物理资源与虚拟资源)、基础架构层、 PaaS 平台层 (SaaS 软件开发、管理与托管运营平台)、运营管理平台层、服务接入与门户层 5 个 层次,贯穿这 5 个层次提供完善的业务活动监控与统一安全管理。

• 虚拟资源池:主要实现物理资源与虚拟资源的管理,对资源的池化管理,便于资源的动态分配、再分配和回收,充分体现云计算弹性、可伸缩的特点。资源池主要分为计算资源池、存储资源池和网络资源池,同时也包括软件和数据等内容资源池。

• 基础架构层:此层体现出云计算自身独特的技术特性,主要表现在数据的存储、组织与管理,并行编程模式,并发控制与管理等方面。这一层包含大规模分布式文件系统、大数据最表查询、分布式编程接口和并行任务调度等功能。

• PaaS 平台层:提供一个 SaaS 软件开发、管理与托管运行的平台。 PaaS 平台层必须依托于云计算基础架构,在云计算基础架构能力之上提供 SaaS 软件开发测试能力、部署运行能力以及基础管理能力。

• 运营管理平台层:主要实现映像与实例的全生命周期管理、资源的调度和监控、用户管理、合作伙伴管理、业务管理、平台接口管理、运营管理等功能。

• 服务接入与门户层:主要实现服务接入、自助服务门户、运营管理门户与 PaaS 平台门户等功能。

2.大数据技术

2.1 大数据的定义和特征

IBM 提出的大数据的 4V 特征得到了业界的广泛认可。第一,数量,即数据巨大,从 TB 级别跃升到 PB 级别;第二,多样性,即数据类型繁多,不仅包括传统的格式化数据,还包括来自互联网的网络日志、视频、图片、地理位置信息等;第三,速度,即处理速度快;第四,真实性,即追求高质量的数据。

2.2 大数据的技术体系

• 文件系统层:在这一层里,分布式文件系统需具备存储管理、容错处理、高可扩展性、 高可靠性和高可用性等特性。

• 数据存储层:由于目前采集到的数据,十之七八为非结构化和半结构化数据,数据的表现形式各异,有文本的、图像的、音频的、视频的等,因此常见的数据存储也要对应有多种形式,有基于键值的、基于文档的,还有基于列和图表的。

• 资源管理器和资源协调器层:这一层是为了提高资源的高利用率和吞吐量,以达到高效的资源管理与调度的目的。在本层的系统需要对资源的状态、分布式协调、一致性和资源锁实施管理。

• 计算框架层:在本层的计算框架非常庞杂,有很多高度专用的框架包含在其内,有流式的、交互式的、实时的、批处理和法代图等。

• 数据分析层:在这一层里,主要包括数据分析(消费)工具和一些数据处理函数库。 这些工具和函数库可提供描述性的、预测性的或统计性的数据分析功能及机器学习模块。

• 数据集成层:在这一层里,不仅包括管理数据分析工作流中用到的各种适用工具,还 包括对元数据 (Metadata) 管理的工具。

• 操作框架层:这一层提供可扩展的性能监测管理和基准测试框架。

2.3 大数据技术

(1)数据存储。在大数据背景下,非关系型数据库 NoSQL 开始发展。这类数据库的主要特点为非关系型的、分布式的、开源的、水平可扩展的。

(2) 数据分析。越来越多的应用涉及大数据,这些大数据的属性(包括数量、速度、多样性等)呈现了大数据不断增长的复杂性,所以,大数据的分析方法在大数据领域就显得尤为重要,可以说是决定最终信息是否有价值的决定性因素。

大数据分析的 6 个基本方面如下:

①预测性分析能力。预测性分析可以让分析员根据可视化分析和数据挖掘的结果做出一些预测性的判断。

②数据质量和数据管理。通过标准化的流程和工具对数据进行处理,可以保证一个预先定义好的高质量的分析结果。

③可视化分析。数据可视化是数据分析工具最基本的要求。可视化即可以直观地展示数据,让数据自己说话,让观众听到结果。

④语义引擎。非结构化数据的多样性带来了数据分析的新挑战,需要一系列工具去解析、 提取、分析数据。语义引擎需要被设计成能够从"文档"中智能提取信息。

⑤数据挖掘算法。可视化是给人看的,数据挖掘就是给机器看的。集群、分割、孤立点分析还有其他的算法让人们深入数据内部,挖掘其价值。这些算法不仅要处理大数据的量, 也要处理大数据的速度。

⑥数据存储,即数据仓库。数据仓库是为了便于多维分析和多角度展示数据按特定模式进行存储所建立起来的关系型数据库。

(3)数据可视化

数据可视化,是指将结构或非结构数据转换成适当的可视化图表,然后将隐藏在数据中的信息直接展现于人们面前。数据可视化能将数据以更加直观的方式展现出来,使数据更加客观、更具说服力。在可视化图表工具的表现形式方面,图表类型表现得更加多样化、丰富 化。除了传统的饼图、柱状图、折线图等常见图形外,还有气泡图、面积图、省份地图、词 云、瀑布图、漏斗图等图表,甚至还有 GIS 地图。

根据数据类型和性质的差异,数据可视化可分为以下几种类型:

• 统计数据可视化:用于对统计数掘进行展示、分析。统计数据一般都是以数据库表的形式提供。

• 关系数据可视化:主要表现为节点和边的关系,如流程图、网络图、 UML图等。

• 地理空间数据可视化:地理空间通常特指真实的人类生活空间,地理空间数据描述了 一个对象在空间中的位置。在移动互联网时代,移动设备和传感器的广泛使用使得每时每刻都产生着海量的地理空间数据。

(4) 大数据处理过程

• 大数据采集:指利用多个数据库来接收发自客户端的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。

• 大数据导入和预处理:如果需要对海量数据进行有效的分析,就要将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群中,并且可以在导入的基础上做一些简单的清洗和预处理工作。导入与预处理过程的特点和挑战主要是导入的数据量大, 每秒的导入量经常会达到百兆,甚至千兆级别。

• 大数据统计和分析:主要利用分布式数据库,或者分布式计算集群来对存储于其内的 海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求。

• 数据挖掘:数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上进行基于各种算法的计算,从而起到预测的效果,从而实现一些高级别数据分析的需求。

3.物联网技术

3.1 物联网的定义与特征

物联网是指通过传感器、射频识别技术、全球定位系统等技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各种可能的网络接入,实现物与物、物与人的泛在链接,实现对物品和过程的智能化感知、识别和管理。

物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。通过物联网实现每一个物品都可以寻址,每一个物品都可以控制,每一个物品都可以通信。

物联网的 3 个主要特征为全面感知、可靠传输、智能处理。

• 全面感知:指物联网随时随地获取物体的各种信息,包括环境信息及物体本身的状态信息,如物体所处环境的温度、湿度、位置、物体的运动速度等信息。物联网通过 RFID、 传感器、二维码等感知设备对物体的各种信息进行感知获取。

• 可靠传输:指物联网通过对无线网络与互联网的融合,将物体的信息实时、准确地传递给智能处理系统或用户,并将相关的控制信息向下传递到物体,以控制物体的动作或状态的改变。

• 智能处理:此部分将收集来的数据进行处理运算,然后做出相应的决策,来指导系统进行相应的改变,它是物联网应用实施的核心。

3.2 物联网的技术架构

• 感知层:主要实现物理世界信息的采集、自动识别和智能控制,包括传感器、 RFID 等数据采集设备,以及在数据传送到接入网关之前的小型数据处理设备和传感器网络。

• 传输层:是基于现有的通信网络和互联网建立的,包括各种无线网络、有线网络、接 入网、核心网,主要实现感知层数据和控制信息的双向传递、路由和控制。

• 应用层:物联网应用涉及行业众多、涵盖面宽泛,总体上可分为身份相关应用、信息 汇聚型应用、协同感知类应用和泛在服务应用。

3.3 物联网的典型应用

(1)智能交通。智能交通系统是一种实时、准 确、高效的交通运输综合管理和控制系统。它通过在基础设施和交通工具中广泛应用先进的感知技术、识别技术、定位技术、网络技术、控制技术等,对道路和交通逃行全面分析、计算和控制,以提高交通运输系统的效率和安全,同时降低能耗和改善环境。

智能交通并非孤立的智能车辆或简单的车辆网络,而是将人、货物、车辆、道路设施有机结合,在信息交换的基础上实现交通管理、电子收费、紧急救援,甚至构建起先进的驾驶操作辅导系统、公共交通系统和货运管理系统的统一整体。

智能交通应用实例有交通检测和管理、不停车收费系统 ETC、智能停车管理等。

(2)智能物流。智能物流是现代物流发展的理想阶段,其发展呈精准化、智能化、协同化的特点。另外,智能物流还有细粒度、实时性、可靠性等特点,应体现在智能物流的各种服务中。 智能物流的应用实例如下:

• 基于物联网环境的仓储系统:采用物联网识别技术、感知技术和定位技术等,可以实 时掌握物流过程中产品的品质、标识、位置等信息,实现智能化的仓储管理。

• 可视化 RFID 系统:美国国防部在全球部署了以 RFID 技术为主的"联合金资产可视化系统",用于现代化的军事后勤管理。

(3)环境监测。环境监测是最早提出的应用最为广泛、影响最为深远的物联网应用之一。 作为物联网感知识别层的重要手段,无线传感网在环境监测中具有与生俱来的优势。

• 大范围监测:无线传感网突破了人工巡检和单点监测的空间局限性,成千上万个传感器节点协同工作,覆盖上百平方千米。

• 长期无人监测:与人工巡检的方式不同,无线传感网可以长期部署于人迹罕至的恶劣环境中,无需人工维护或配置,不依赖任何基础设施。感知数据可以通过无线链路传递回监控中心。

• 复杂事件监测:对于环境监测,有一部分需要关注的事件具有时间和空间关联性,即只有感知数据在时间上和空间上满足特定的条件,才认为事件发生。这是不能通过人工巡检或者单点监测实现的。

• 同步监测:在无线传感网中,每个自主的传感器节点可以实时记录环境状况,感知数据只需通过传感器节点形成的无线多跳网络,就可以实时传输到监控中心。

2023年3月25日22:03:19——记

posted @ 2023-03-25 22:04  叫我Ghost就好了  阅读(332)  评论(0)    收藏  举报