VC内部培训资料——第10章 网络编程

上传人:jiups****uk12 文档编号:88919392 上传时间:2019-05-13 格式:DOC 页数:29 大小:305KB
返回 下载 相关 举报
VC内部培训资料——第10章  网络编程_第1页
第1页 / 共29页
VC内部培训资料——第10章  网络编程_第2页
第2页 / 共29页
VC内部培训资料——第10章  网络编程_第3页
第3页 / 共29页
VC内部培训资料——第10章  网络编程_第4页
第4页 / 共29页
VC内部培训资料——第10章  网络编程_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《VC内部培训资料——第10章 网络编程》由会员分享,可在线阅读,更多相关《VC内部培训资料——第10章 网络编程(29页珍藏版)》请在金锄头文库上搜索。

1、VC+培训教程草稿(2000年撰写) 张孝祥、袁龙友著 网址:http:/www.it315.org第10章 网络编程近年来,因特网发展迅速,越来越多的应用程序能够通过网络(包括因特网)与其他应用程序进行通信。应用程序可具备各种各样的网络功能,如我们所熟识的聊天程序、收发电子邮件程序、远程多媒体教学等等,无论是实现何种网络功能,它们都使用同样的原则来执行通信,并且都围绕着Winsock接口来建立。本章将介绍关于网络的一些基本知识、TCP/IP协议、Winsock等概念,以及如何通过Winsock接口在两个或多个计算机之间进行网络通信。10.1 计算机网络的基本概念在讲述如何编写网络程序之前,读

2、者有必要了解一些网络的基本概念。这对于深入学习Internet网络编程是非常有益的。本节主要介绍计算机网络的分类及网络拓扑结构。10.1.1 计算机网络的分类计算机网络有多种分类方法,但主要依据以下两点来对网络进行分类:l 根据网络所使用的传输技术l 根据网络的覆盖范围与规模1. 根据网络传输技术进行分类网络所采用的传输技术决定了网络的主要技术特点,因此根据网络所采用的传输技术对网络进行分类是一种很重要的方法。在通信技术中,通信信道的类型有两类1) 广播通信信道2) 点点通信信道在广播通信信道中,多个结点共享一个通信信道,一个结点广播信息,其他结点都可以接收到信息;而在点点通信信道中,一条通信

3、线路只能连接一对结点,如果两个结点之间没有直接连接的线路,那么它们只能通过中间结点转接。显然,网络要通过通信信道完成数据传输有两种方式:广播(Broadcast)方式和点点(Point-to-Point)方式,因此,相应的计算机网络也可分成两类:1) 广播式网络(Broadcast Networks)2) 点点式网络(Point-to-Point Networks)在广播式网络中,所有连网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送数据包时,所有其他的计算机都会“接收”到这个数据包。由于发送的分组数据包中带有目的地址与源地址,接收到该数据包的计算机将检查目的地址是否和自己的地

4、址一致,如果与自己的地址一致,则接收该数据包,否则将其丢掉。在广播式网络中,发送的数据包的目的地址有三类:单一物理地址、多站地址和广播地址。与广播式网络相反,在点点式网络中,每条物理线路连接一对计算机。假如两台计算机之间没有直接连接的线路,那么它们之间的数据传输就要通过中间结点接受、存储和转发。由于连接多台计算机之间的线路结构可能是复杂的,因此从源结点到目的结点可能存在多条路由。决定数据从通信子网的源结点到达目的结点的路由需要有路由选择算法。采用数据存储转发与路由选择是点点式网络和广播式网络的重要区别之一。2. 根据网络的覆盖范围进行分类按照计算机网络覆盖的范围进行分类,可以很好地反映不同类型

5、网络的技术特征,由于网络覆盖的地理范围不同,它们所采用的传输技术也不同,因而形成了不同的网络技术特点与网络服务功能。按照覆盖的地理范围不同,计算机网络可以分为三类:1) 局域网LAN(Local Area Netword)局域网用于将有限范围内(如一个教研室、一栋大楼、一个校园)的各种计算机 、终端与外部设备进行互联。局域网按照采用的技术、应用范围和协议标准的不同可以分为共享式局域网和交换式局域网。2) 城域网MAN (Metropolitan Area Netword)城市地区网络统称为城域网。城域网是介于广域网与局域网之间的一种高速网络。城域网设计的目标是要满足几十公里范围内的大量企业、机

6、关、公司的多个局域网互联的需求,以实现各企业用户及其客户之间的数据、语音、图形与视频等多种信息的传输。3) 广域网WAN(Wide Area Network)广域网也称为远程网。它所覆盖的地理范围从几十公里到几千公里。广域网覆盖一个国家、地区,甚至横跨几个洲、整个地球,形成国际性的远程网络。广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的计算机系统互联起来,以达到资源共享的目的。10.1.2 网络拓扑结构计算机局域网络设计的第一步,就是要解决在给定计算机的位置及保证一定的网络响应时间、吞吐量和可靠性的条件下,通过选择

7、适当的线路、线路容量、连接方式,使整个网络的结构合理。为了应付复杂的网络结构设计,人们引入了网络拓扑的概念。拓扑学是几何学的一个分支,它是从图形论演变过来的。拓扑学首先把实体抽象成与其大小、形状无关的点,将连接实体的线路抽象成线,进而研究点、线、面之间的关系。计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络结构,反映出网中总各实体之间的结构关系。拓扑设计是计算机网络建设的第一步,也是实现各种网络协议的基础,它对网络性能、系统可靠性与通信费用都有重大的影响。计算机网络拓扑主要是指通信子网的拓扑结构。网络拓扑结构主要有星形、总线型、环形等几种方式1. 星形网络结构星形结构主要是由中央结

8、点和连接到中央结点的各结点组成,如图10-00所示。结点通过点点通信线路与中心结点连接。中心结点控制全网的通信,任何两结点之间的通信都要通过中央结点。图10-00 星形网络结构星形结构连接方式比较简单,因此,当网络中连接点出现故障时,只会影响到相应的连接点而不会秧及整个网络,同时便于故障的检测和维修,它所使用的访问协议也比较简单。由于星形网络的结构特性,使得中央结点比较复杂,每扩展一个结点都要增加中央结点的负担;另外,由于其他结点之间的访问都要通过中央结点,因此,可以想象如果中央结点出了故障很有可能导致整个网络的瘫痪。2. 总线型网络结构 总线型网络结构是由一条总的通信信道及连接在信道上的结点

9、构成,如图10-01所示。信道中的每一个结点都有唯一的标识号或地址,这样就可以确定网络中信息的来源了。总线通常采用同轴电缆或双绞线作为传输介质,所有结点都可以通过总线传输介质发送或接收数据,但一段时间内只允许一个结点利用总线发送数据。在总线结构中,一个结点发出的信息能被所有的结点接收到。当某一结点发送信息时,该结点先将数据分组,然后按顺序发送这些被分成组的数据,当这些数据经过各个站点时,各站点都将检测数据中的地址,查看是否和自己的地址一致,从而决定是否接收该数据。图10-01 总线型网络结构由于这种结构是建立在一个公用的信息通道上,因此,在安装和扩展上容易些。虽然它简单可靠,但是故障检测却不容

10、易,因为这种结构的网不是集中控制的,因此,检测时需要在各个结点进行,并且在对某个结点进行隔离时也要把整个网络停止下来。另外,由于总线作为公共传输介质为多个结点共享,因此有可能出现同一时刻有两个或多个结点同时发送数据的情况,很有可能出现“冲突”,造成传输失败。3. 环形网络结构环形网络是由一些中继器(环接口)和连接设备的通信信道组成的一个环形网络,如图10-02所示。中继器可以接收一条通信信道上的数据,同时也可以用相同的速度把数据用串行通信的形式发送到另一条通信信道上去。数据在中继器中不缓存,传输时为单向。图10-02 环形网络结构图中的环接口就是中继器。环形结构最广泛的应用就是令牌环网。所谓令

11、牌环就是一种特殊的控制帧,也就是一种控制信息。一个环有且只有一个令牌。令牌不断在网中进行循环,某个结点一旦抓住了令牌,便可进入传输方式,发送数据,这时,其他结点只能进入接收方式。10.2 网络体系结构和网络协议10.2.1 ISO/OSI参考模型国际标准化组织ISO发布的最著名ISO/OSI(International Standard Orgnization/Open System Interconnection)模型,简称OSI模型,如图10-03所示。该模型定义了网络互联的七层框架,即ISO开发系统互联模型。图10-03 OSI参考模型当数据通过OSI模型的不同层时,传送的数据格式有不同

12、的名称,各层的数据名称如表10-00所示。表10-00 各层传输的数据名称OSI模型中的层数据名称应用层报文(message)表示层数据包(datagram)会话层数据包(datagram)传输层数据包及数据段(datagram/ datasegament)网络层数据包(datagram)数据链路层帧(frame)物理层位(bit)下面详细说明OSI模型各层的主要功能:1. 物理层OSI模型的最低层就是物理层。物理层的主要功能是为数据链路层提供物理连接,通过网络介质传输比特位。物理层负责保证数据在目标设备以与源设备发送时相同的方式进行读取。2. 数据链路层数据链路层的主要任务是提供一种可靠的通

13、过物理介质传输数据的方法。在物理层提供比特流传输服务的基础上,在通信的实体之间建立数据链路连接,这一层将传输的数据转换成帧,然后按顺序传输帧,并处理接收端发回的确认收到的帧。数据链路层为其所创建的帧添加了一个报头和报尾,这些报头和报尾允许目标设备查看帧在物理介质上开始传输和结束传输的时间。数据链路层采用差错控制、流量控制的方法,使有差错的物理线路变成无差错的数据链路。数据链路层被分为两个子层:介质访问控制(Media Access Control,MAC)子层和逻辑链路控制(Logic Link Control,LLC)子层。介质访问控制子层负责物理寻址和对网络介质的物理访问。每次只能有一台设

14、备可以在任一类型的介质上传输数据。如果多台设备试图同时传输数据,它们将会互相扰乱对方的信号。逻辑链路控制子层负责建立和维护网络设备之间的数据链路连接,以及在本层中的流量控制和错误纠错。3. 网络层网络层的主要任务是通过一定的路由算法,为报文通过通信子网选择最适当的路径。网络层从源主机那里接收报文,将报文转换成数据包,并确保这些数据包直接发往目标设备。如果发送的目标设备在另一个网络中,网络层必须决定数据包将发往至何处,并给出一条最佳路径。另外,如果网络中同时存在太多的数据包,它们会互相争抢通路形成瓶颈,但网络层可控制这样的阻塞。网络层中的设备间的连接被看作是无连接,在该层不进行连接的建立和维护。

15、传送的任何数据都被视为应尽的义务。如果数据没有到达目的地或由于其他什么原因被破坏了,请求重发数据是目标设备的事情。总之,网络层在分层体系结构中占有非常重要的地位,它主要实现的功能概括来说就是负责路由选择、阻塞控制及网络互联等功能。4. 传输层传输层的主要任务是向用户提供可靠的端到端服务,透明的传送报文,它向高层屏蔽了下层数据通信的细节。传输层提供会话层和网络层之间的传输服务。这种服务从会话层取得数据,并在必要时对数据进行分割。然后,传输层将信息传递到网络层,并检验以确保信息成功到达目标设备。传输层是真正的从源到目的地层。这意味着源设备上的一个程序可通过报文标题和控制报文,继续与目标设备上的另一个程序进行对话,这些报文标题和控制报文用于错误检测、排序和流量控制。与网络层不同,传输层的连接服务被视为是面向连接的。通过这一层传递的数据将由目标设备确认。如果在指定的超时时间内没有收到确认信息,数据将被重新发送。5. 会话层会话层的主要任务是组织两个会话进程之间的通信,并管理数据的交换。这一层允许用户在设备之间建立一种连接,即会话(session)。一旦连接建立起来,会话层可以管理会话,可以按照如下方式建立会话:l 半双工(half-duplex):一种双向切换的通信方法(每次只能一个方向传输),例如无线对讲机。l 单工(simple

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号