




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三讲第三讲 协议的程序接口协议的程序接口 不精确指明的协议软件接口不精确指明的协议软件接口 接口功能接口功能 系统调用系统调用 网络通信的基本方法网络通信的基本方法 LinuxLinux提供的基本提供的基本I/OI/O功能功能 将将Linux I/OLinux I/O用于用于TCP/IPTCP/IP 计算机网络编程电子科大计算机学院 TCP/IPTCP/IP协议存在于协议存在于OSOS中,网络服务通过中,网络服务通过OSOS提供提供 应用程序要和操作系统交互,才能使用应用程序要和操作系统交互,才能使用TCP/IPTCP/IP提提 供的网络通信功能供的网络通信功能 交互的接口:即应用程序接口(
2、交互的接口:即应用程序接口(APIAPI) 从网络的观点看:从网络的观点看:TCP/IPTCP/IP和应用程序之间的接口和应用程序之间的接口 计算机网络编程电子科大计算机学院 问题:为什么操作系统能为问题:为什么操作系统能为 我们提供网络通信功能?我们提供网络通信功能? TCP/IPTCP/IP被设计成能运行于多厂商的环境之中:被设计成能运行于多厂商的环境之中: 计算机网络编程电子科大计算机学院 l要和不同的机器兼容,要和不同的机器兼容,TCP/IPTCP/IP尽量避免使用任尽量避免使用任 何一家厂商的内部数据表示何一家厂商的内部数据表示 lTCP/IPTCP/IP尽量避免让接口使用某一个厂商
3、的尽量避免让接口使用某一个厂商的OSOS中中 可以使用的特征可以使用的特征 lTCP/IPTCP/IP和应用程序之间的接口应该是不精确指明的:和应用程序之间的接口应该是不精确指明的: 优点:优点: 提供了灵活性和容错能力提供了灵活性和容错能力 便于各种便于各种OSOS实现实现TCP/IPTCP/IP 接口可以是过程的,也可以是消息的接口可以是过程的,也可以是消息的 缺点:缺点: 不同的不同的OSOS中的接口细节不同中的接口细节不同 移植性差移植性差 程序员需要重新学习接口知识程序员需要重新学习接口知识 一些接口举例:一些接口举例: Berkeley UNIXBerkeley UNIX中的套接字
4、接口中的套接字接口 Microsoft windowsMicrosoft windows中的中的windows socketwindows socket AT&TAT&T的的UNIXUNIX系统系统V V的的TLITLI 计算机网络编程电子科大计算机学院 分配用于通信的本地资分配用于通信的本地资 源源 指定本地和远程通信端指定本地和远程通信端 点点 ( (客户端)启动连接客户端)启动连接 ( (客户端)发送数据报客户端)发送数据报 ( (服务器端)等待连接到服务器端)等待连接到 来来 发送或者接收数据发送或者接收数据 判断数据何时到达判断数据何时到达 计算机网络编程电子科大计算机学院 产生紧急
5、数据产生紧急数据 处理到来的紧急数据处理到来的紧急数据 从容终止连接从容终止连接 处理来自远程端点的连处理来自远程端点的连 接终止接终止 异常终止通信异常终止通信 处理错误条件或者连接处理错误条件或者连接 异常终止异常终止 连接结束后释放本地资连接结束后释放本地资 源源 概念性接口:概念性接口:TCP/IPTCP/IP提供的接口示例提供的接口示例 一组过程和函数一组过程和函数( (将控制权从应用程序转交给系统将控制权从应用程序转交给系统) ),及它,及它 们要求的参数和操作的语义,如们要求的参数和操作的语义,如sendsend 不指明数据的表示和编程的细节不指明数据的表示和编程的细节 由由OS
6、OS实现成为实现成为APIAPI 只要求功能相同,可以自由选择过程名和参数只要求功能相同,可以自由选择过程名和参数 计算机网络编程电子科大计算机学院 系统调用:应用程序和操作系统系统调用:应用程序和操作系统之间之间传递控制权传递控制权 (函数调用)(函数调用) 目的是从操作系统获得服务目的是从操作系统获得服务 一定的权限控制(允许读取或修改操作系统数据一定的权限控制(允许读取或修改操作系统数据 结构)结构) 计算机网络编程电子科大计算机学院 应用程序1 包括TCP/IP协议软件的操作系统内核 应用程序2 应用程序3 在用户地址空间在用户地址空间 中的应用程序中的应用程序 系统调用接口系统调用接
7、口 系统地址中的协系统地址中的协 议软件议软件 计算机网络编程电子科大计算机学院 suconnect wakeup tcp_usrreq tsleep soisconnecting connect soisconnected TCP开始开始 三次握手三次握手 TCP三次握手完三次握手完 成成 在用户地址空间在用户地址空间 中的应用程序中的应用程序 系统调用接口系统调用接口 系统地址中的协系统地址中的协 议软件议软件 使用新的系统调用来访问使用新的系统调用来访问TCP/IPTCP/IP 对于每个概念性的操作实现一个系统调用对于每个概念性的操作实现一个系统调用 创建新的系统调用并不明智创建新的系统
8、调用并不明智 使用一般的使用一般的I/OI/O调用来访问调用来访问TCP/IPTCP/IP 使用一般的使用一般的I/OI/O调用,但是进行了扩充,既可以用于调用,但是进行了扩充,既可以用于 I/OI/O,又可以用于网络协议,又可以用于网络协议 混合方法混合方法 尽可能使用基本的尽可能使用基本的I/OI/O功能功能 增加一些函数来实现其它操作增加一些函数来实现其它操作 计算机网络编程电子科大计算机学院 理解基本理解基本I/OI/O如何扩展功能,六个基本的系统函数:如何扩展功能,六个基本的系统函数: 计算机网络编程电子科大计算机学院 操作操作含义含义 Open Close Read Write L
9、seek Ioctl 为输入或输出操作准备一个设备或者文件为输入或输出操作准备一个设备或者文件 终止使用以前已打开的设备或者文件终止使用以前已打开的设备或者文件 从输入设备或者文件中得到数据从输入设备或者文件中得到数据 数据从应用程序存储器传到设备或文件中数据从应用程序存储器传到设备或文件中 转到文件或者设备中的某个指定位置转到文件或者设备中的某个指定位置 控制设备或者用于访问该设备的软件控制设备或者用于访问该设备的软件 int desc desc=open(“filename”, O_RDWR, 0) read(desc,buffer,128) close(desc) 计算机网络编程电子科大
10、计算机学院 扩展文件描述符:可以用于网络通信扩展文件描述符:可以用于网络通信 扩展扩展readread和和write:write:可以用于网络标识符可以用于网络标识符 额外功能额外功能的处理(的处理( 如下)如下) ,增加新系统调用:,增加新系统调用: 指明本地和远端的端口,远程指明本地和远端的端口,远程IPIP地址地址 使用使用TCPTCP还是还是UDPUDP 启动传输还是等待传入连接启动传输还是等待传入连接 可以接收多少传入连接可以接收多少传入连接 传输传输UDPUDP数据数据 计算机网络编程电子科大计算机学院 TCP/IPTCP/IP是为了多厂商环境设计的,没有精确指明是为了多厂商环境设计的,没有精确指明 应用程序接口应用程序接口 概念性接口:一种说明性的示例概念性接口:一种说明性的示例 操作系统尽可能扩展原有的系统调用的功能,减操作系统尽可能扩展原有的系统调用的功能,减 少新增加系统调用的数量。少新增加系统调用的数量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络文学IP有声剧改编授权合同
- 航空货运保险理赔及运输服务质量合同
- 质押担保条件变更与补充协议
- 高标准智能农业大棚遮阳网租赁与种植技术咨询合同
- 艺术院团专业演员长期聘用服务协议
- 污水处理厂委托运营及排放标准达标合同
- 新能源股权代持合同纠纷预防与处理机制合同
- 2025至2030年金属广告杯项目投资价值分析报告
- 2024至2030年中国面包机端盖行业投资前景及策略咨询研究报告
- 2024至2030年中国好得快气雾剂行业投资前景及策略咨询研究报告
- 小小科学家《物理》模拟试卷A(附答案)
- 2023年7月N2真题及答案解析
- MOOC 商务英语-中南财经政法大学 中国大学慕课答案
- 中考语文一轮复习-名著阅读勾连整合课件
- 魁北克腰痛障碍评分表(Quebec-Baclain-Disability-Scale-QBPDS)
- 基于S7-1200PLC的码头单向皮带输送机控制系统
- 2020年全国中学生生物学联赛试题解析
- 劳务派遣劳务外包服务方案(技术方案)
- 第四章转动参照系课件
- 医院培训课件:《疑难病例讨论制度及护理查房制度解读》
- 新版三体系+50430内审资料(含检查表)
评论
0/150
提交评论