欢迎来到天天文库
浏览记录
ID:33726819
大小:455.16 KB
页数:21页
时间:2019-02-28
《第18章 网络编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第18章网络编程基础第18章网络编程基础计算机网络是通过通信线路互相连接的计算机的集合,它是由计算机及外围设备、数据通信和中断设备等构成的一个群体。TCP/IP协议是Internet上使用的协议,而Internet是世界上最大的计算机网络。国际标准化组织ISO对网络标准提出了OSI参考模型,该模型进一步规范了计算机网络的设计并解决了TCP/IP协议没有涉及的底层实现问题。Linux系统的一个主要特点是它的网络功能非常强大。随着网络的日益普及,基于网络的应用也将越来越多。本章将讲解计算机网络的基本概念,以及
2、基础的网络编程方法。18.1计算机网络组成在学习网络编程前,首先需要了解的是计算机网络的组成,只有这样才能知道如何设计程序在其间进行通信,以及网络编程所面对的问题。物理层面上,计算机网络由计算机设备、网络连接设备、传输介质这3个部分组成;逻辑层面上,计算机网络由网络协议、网络应用软件、数据这3个部分组成。计算机网络根据其组成的形式又可分为多种结构,有的结构适用于某种环境,但更多情况是将多种网络结构复合使用组成实际的网络。为了规范不同的计算机和计算机网络进行通信,通常用网络模型来描述需要解决问题的层次,并以
3、网络模型为基础编制出了多种网络传输协议。18.1.1网络结构大多数的计算机网络是局域网,整个网络位于一幢建筑物或一个房间内。局域网用于在多台计算机之间共享资源。例如,连接两台计算机和一台打印机的局域网允许任何一台计算机访问打印机,如图18.1所示。图18.1简单的局域网·237·第4篇Linux网络编程与数据库编程根据局域网的组成形式,可以将局域网分为星型网络、环状网络和总线网络3种基本网络结构。计算机都连在一个中心站点上,那么该网络即是星型网络。星型网络像车轮的轮辐,所以星型网络的中心通常被称为集线器或
4、交换机。典型的集线器或交换机包括了这样一种电子装置,它从发送计算机接收数据并把数据传输到合适的目的地,如图18.2所示。图18.2星型网络环状网络将计算机连接成一个封闭的圆环,一根电缆连接第一台计算机与第二台计算机,另一根电缆连接第二台计算机与第三台,依次类推,直到一根电缆连接最后一台计算机与第一台计算机,如图18.3所示。图18.3环状网络总线网络通常有一根连接计算机的长电缆,任何连接在总线上的计算机都能通过总线发送信号,并且所有计算机也都能接收信号。由于所有连接在电缆上的计算机都能检测到电子信号,因此
5、任何计算机都能向其他计算机发送数据,如图18.4所示。·238·第18章网络编程基础图18.4总线网络每种网络结构都有优点与缺点。环状网络使计算机容易协调使用以及容易检测网络是否正确运行。然而,如果其中两根电缆断掉,整个环状网络都要失效。星型网络能保护网络不受某一根电缆损坏的影响,因为每根电缆只连接一台机器。总线网络所需的布线比星型网络少,但是有和环状网络一样的缺点。所以,对于某一个小的区间来说,网络的实现可能是以上任何一种,但对于大型网络来说,通常是由这3种网络组成的复合结构。18.1.2OSI参考模型
6、国际标准化组织开发了开放式系统互联参考模型,以促进计算机系统的开放互联。开放式互联特点是支持不同系统环境互联。该模型为计算机间开放式通信所需要定义的功能层次建立了全球标准。该模型的层次依次为:物理层:物理层并非是指网络硬件或传输媒介,它只存在与抽象结构中,是负责数据流传输的最底层功能模块。物理层从第二层数据链路层(DDL)接收数据帧,然后以串行方式发送数据帧,每次只发送一个字节。另外,它也负责接收数据流,然后组合成数据帧传送给数据链路层。数据链路层:数据链路层的作用是将数据流打包成数据帧,然后将数据帧交给
7、物理层进行传递。也从物理层接收数据帧,并通过循环校验来检测数据传输的可靠性。网络层:网络层用于设备间建立路由,处理数据帧中的地址信息。但是,网络层不检验数据的完整性,而是交由数据链路层完成。传输层:传输层是以数据包和网段为对象的数据处理层,它是高度抽象化的数据链路层服务。传输层对数据的完整性负责,如果某一数据包丢失,它将要求对方重新发送该数据包。会话层:会话层用于建立两个网络终端间的联系,与传输层关系极为密切,用于决定通信的模式是单工还是双工,以及基本的握手协议。表示层:表示层用于处理不同计算机的数据编码
8、方式,负责对数据编码进行转换。不同计算机的数据编码系统可能有差别,例如IBM和APPLE系统之间的差别。应用层:应用层不包括任何应用,只是为OSI参考模型提供接口。通常,网络协议被应用程序调用的是应用层。·239·第4篇Linux网络编程与数据库编程为了更清晰地展现OSI参考模型每一层的功能,以及两个网络终端以OSI参考模型进行通信的原理,可以用垂直方向图表示该模型,如图18.5所示。OSI参考模型在两个网络终端中层层对应,因
此文档下载收益归作者所有