专接本 网络操作系统 课件第五章 网络操作系统的接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习
1.TLI/XTI提供两种服务模式,即面向连接的服务模式和______
的服务模式。 2.TLI/XTI把相互通信的两个进程称为( ) A.端口 B.节点 C.接口 D.端点
3.支持TCP/IP协议的网络通信的基本操作单元是( )
A.套接字
B.端口பைடு நூலகம்
C.端口号
D.功能调用
有志者 事竟成—阚宝朋
有志者 事竟成—阚宝朋
在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘
功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的, 是封装了的API函数的集合。
它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其
方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。 有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的 设计上,而不必过于关注技术细节。
2)伯克利的软件分布系统(BSD),提供Socket接口。
3) Microsoft 的Windows系列,提供WinSock接口。
有志者 事竟成—阚宝朋
一、TLI/XTI函数
TLI即传输层接口,提供了OSI传输层和会话层之间的API。
XTI即开放式传送接口,它由TLI接口演变而来。 TLI/XTI是一组函数的集合,为用户提供传输层接口,包括建立通 信、管理连接以及传送数据、应用程序利用这些函数实现网络应用。 控制底层的网络活动。
WinSock规范是以U.C Berkeley大学的BSD UNIX中流行的Socket接口 为范例定义了一套Microsoft Windows下网络编程接口,它不仅包含 了人们所熟悉的Berkeley Socket风格的库函数,也包含了一组针对 Windows的扩展库函数,以使程序员能充分的利用Windows消息驱动机 制进行编程。
成某一个功能的多个系统调用和命令的组合,其功能是完成某一特
定的 操作。 优点:简化编程、提高效率
有志者 事竟成—阚宝朋
Windows API
Windows API是一套用来控制Windows的各个部件的外观和行为的
一套预先定义的Windows函数.用户的每个动作都会引发一个或几 个函数的运行以告诉Windows发生了什么.
有志者 事竟成—阚宝朋
WinSock支持单一的通信域,即Internet域。各种进程使用这个域
用Internet协议进行通信。 分为两种套接字: 流套接字:提供了双向的、有序的、无重复并且无记录边界的数据流
服务。
数据报套接字:支持双向的数据流,但并不保证可靠、有序、无重复。
但是保留了记录边界,采用包交换网络相似的模型来实现数据边界的 记录。
应用程序在使用Windows Sockets DLL之前必须先调用函数 WSAStartup()。上面的流程中我们并没有列出该函数,事实上 由于winsock由DLL形式提供,为了完成一系列的初始化操作,每 一个使用winsock的应用程序都必须进行WSAStartup()函数调用, 并且只有在成功的完成调用之后才能使用scoket。
互联网通信,至少需要一对套接字,其中一个运行于客户端,称为
Client Socket,一个运行于服务端,称为Server Socket。根据连接 启动的方式以及本地套接字连接的目标,分为三步:
1 服务监听
2 客户端请求 3 连接确认
有志者 事竟成—阚宝朋
2 套接字的应用
通信过程见课本P149页。
利用套接字进行网络通信时,建立连接的函数是( )
A.socket B.bind C.connect D.accept
支持双向的数据流,但并不保证是可靠、有序、无重复的是( ) A.流套接字 C.客户端套接字 B.数据报套接字 D.服务器端套接字
通常所说的套接字(socket)一般指UNIX环境下流行的
有志者 事竟成—阚宝朋
套接字分类
套接字是通信的基石,是支持TCP/IP协议的网络通信的基本单元。可
以将套接字看做是不同主机间的进程进行双向通信的端点,它构成了 单个主机内及整个网络间的编程界面。
按通信性质分为:
流套接字和数据报套接字。
有志者 事竟成—阚宝朋
套接字之间的连接过程分为三步骤
有志者 事竟成—阚宝朋
API函数包含在Windows系统目录下的动态连接库文件中。
更易理解地说:Windows 这个多作业系统除了协调应用程式的执行、
分配内存、管理系统资源… 之外,她同时也是一个很大的服务中心, 调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应 用程式达到开启视窗、描绘图形、使用周边设备…等目的,由于这些 函数服务的对象是应用程式, 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是 MicrosoftWindows 32位平台的应用程序编程接口。
到服务器,如果服务器接受了它的请求,则双方可以通信。 一般情况下,由客户主动发起连接请求,而发起结束通信请求方 则不一定。
有志者 事竟成—阚宝朋
一个TCP连接的套接口对是一个定义该连接的两个端点的四元组:
<本地IP地址,本地TCP端口号,远程IP地址,远程TCP端口号〉。 套接口对唯一标识一个互联网上的TCP连接。 标识每个端点的两个值<IP地址,端口号>就称为一个套接口。
若果使用无连接的通信只需要建立一个半关联,在发送和接收时指明 另一半的参数就可以了。 所以说无连接的通信是将数据发送到另一台主机的指定端口。
此外,不论是有连接还是无连接的通信都不需要两端端口相同。
有志者 事竟成—阚宝朋
二、WinSock的使用及重要函数讲解:
1 Winsock的启动和终止
利用套接字进行网络通信一般要用到一下几个函数: 1 创建套接字函数socket; 2 绑定本地名称函数bind; 3 建立连接函数connect;
4 侦听函数listen;
5 接受数据函数accept; 6 关闭套接字函数close。
有志者 事竟成—阚宝朋
练习
1.TLI/XTI是一组函数的集合,为用户提供()
网络操作系统
第五章 网络操作系统 的接口
有志者 事竟成—阚宝朋
学习目标
通过本章的学习,希望您能够了解:
应用程序接口的编程使用方法 套接字在网络通信中的应用
有志者 事竟成—阚宝朋
本章内容
1.应用程序接口的概念 2.UNIX套接字及其应用 3.WinSock及其应用
有志者 事竟成—阚宝朋
过程序间的直接通信实现数据共享。
有志者 事竟成—阚宝朋
开放API接口分类
某些公司会将API作为其公共开放系统,公司制订自己的系统接口标
准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成 员都可以通过该接口标准调用源代码,该接口标准称为开放式API。
三种占主导地位的开放式API: 1) AT&T的UNIX System V,提供TLI/XTI接口。
有志者 事竟成—阚宝朋
1.TLI/XTI结构
TLI/XTI把相互通信的两个进程称为端点。提供网络应用底层端点
到端点的通信,为用户应用进程提供了直接传输的接口。 TLI/XTI提供了直接传输的接口,所以将数据封装和协议指定留给 了用户,具有更多的灵活性,当然也失去了部分的通用性。
用户进程
用户进程
Programme A
TCP/IP网络 Host A 套接字 Host B
有志者 事竟成—阚宝朋
socket
socket实质上提供了进程通信的端点。进程通信之前,双方首先必
须各自创建一个端点,否则是没有办法建立联系并相互通信的。正 如打电话之前,双方必须各自拥有一台电话机一样。在网间网内部, 每一个socket用一个半相关描述: (协议,本地地址,本地端口) 用IP地址寻找目的地,IP地址是32位,通常用点分十进制方式表示。 IPv6共128位。 端口:16位,范围0-65535,低于256的端口号为保留给标准应用 程序。主要用于区分那个进程所用传输的数据。
有志者 事竟成—阚宝朋
Socket协议的形象描述
socket非常类似于电话插座。以一个国家级电话网为例。
在电话系统中,一般用户只能感受到本地电话机和对方电话号码的 存在,建立通话的过程,话音传输的过程以及整个电话系统的技术 细节对他都是透明的,这也与socket机制非常相似。 socket利用网间网通信设施实现进程通信,但它对通信设施的细节
毫不关心,只要通信设施能提供足够的通信能力,它就满足了。
有志者 事竟成—阚宝朋
通信原理
Socket可以看成在两个程序间进行通信连接中的一个端点。一个程
序将一段信息写入Socket中,该Socket将这段信息发送给另外一个 Socket,使这段信息能传送到其它程序中。
网络接口卡
Programme A
处于监听状态,它检查是否有客户请求它的服务; 如果有客户进行请求且条件合格则接受此客户的服务请求,即建立 与客户端的连接,此后双方便可以传送数据。 并且服务器能同时对多个客户端提供服务。
有志者 事竟成—阚宝朋
客户端工作的大致过程
客户端工作的大致过程:客户端向服务器提出服务请求,请求连接
_______________编程接口。
有志者 事竟成—阚宝朋
课程议题
3.WinSock及其应 用
有志者 事竟成—阚宝朋
一、winsock概述
在Windows 环境下利用套接字在TCP/IP上的编程接口就叫做
Windows Sockets,即WinSock。 通常所说的套接字,是指UNIX环境下的TCP/IP编程接口。
A.网络层接口 C.运输层接口 B.应用层接口 D.物理层接口
2.IPV4的IP地址为()
A.16位 C.64位 B.32位 D.128位
3.利用套接字进行网络通信时,创建套接字的函数是()
A.bind B.connect
C.1isten
D.socket
有志者 事竟成—阚宝朋
客户端
服务端
SYN SYN,ack RST ack
有志者 事竟成—阚宝朋
课程议题
2.UNIX套接字及其 应用
有志者 事竟成—阚宝朋
一、套接字
TCP/IP参考模型就是广为人知的Socket接口。
套接字,也就是Socket接口,简单地说就是通信双方的一种约定, 利用套接字中的相关函数来完成通信过程。
课程议题
1.应用程序接口 的概念
有志者 事竟成—阚宝朋
一、应用程序接口的概念
应用程序接口是一组定义、程序及协议的集合,通过API接口可以
实现计算机软件之间的相互通信。 目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例 程的能力,而又无需访问源码,或理解内部工作机制的细节。 操作系统的用户接口包括命令输入和系统调用,应用程序接口是完
有志者 事竟成—阚宝朋
二、使用WinSock实现网络通信
客户/服务器模型(c/s模型)
网络应用系统通常是一个客户/服务器模型,要进行网络通信,首先 我们要理解什么是c/s模型。c/s模型由两部分构成:客户端和服务器 端。
有志者 事竟成—阚宝朋
服务器工作的大致过程
服务器工作的大致过程是:建立一个服务器,开启服务器使服务器
端点 传输层
端点 传输层
有志者 事竟成—阚宝朋
2.TLI/XTI实例
见课本P142页程序实例
有志者 事竟成—阚宝朋
二、TLI/XTI的服务模式
面向连接的服务模式和面向非连接的服务模式。
客户端 T_open T_bind T_connect SYN
服务端 T_open T_bind T_listen
有志者 事竟成—阚宝朋
应用程序接口(API)
API也是一种中间件,为各种不同的平台提供数据共享。
API分类: 1)远程过程调用:通过作用在共享数据缓存器上的过程实现程序间
的通信。
2)标准查询语言(SQL):是标准的访问数据库的查询语言,通过
通用数据库实现应用程序间的数据共享。
3)文件传输:通过发送格式化的文件实现应用程序间的数据共享 4)信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通