- 1
- 0
- 约3.55千字
- 约 43页
- 2017-06-14 发布于河南
- 举报
第2讲 协议件接口
第2讲 协议软件接口;;1.TCP/IP协议软件接口的特点;特点:不精确指明
TCP/IP的设计者尽量避免使用任何一家厂商的内部数据表示。
TCP/IP标准尽量避免让接口使用那些只在某一家厂商的操作系统中可用的特征
目的:使得协议的兼容性强,可以运行在多厂商的环境之中。
目前的一些协议软件接口
Berkeley UNIX:套接字接口(或socket)
微软:Windows Socket
ATT UNIX(System V):TLI(Transport Layer Interface);2.如何访问TCP/IP协议?;问题的引入;Linux中提供的基本I/O功能
;Linux中对文件操作
打开一个文件
读取一个文件
关闭文件;TCP/IP的角色:
相当于一种新的I/O操作,但比普通应用程序与传统的I/O操作的相互作用复杂得多。
网络应用程序要解决的问题:
①进行网络I/O操作的两个进程在不同机器上,如何建立它们之间的联系?
②网络协议有很多种,如何建立一种通用机制以支持多种协议?;;一个本地主机建立或拥有的应用程序, 在操作系统控制下的,与其它(远程)应用进程之间发送和接收数据的接口。
;socket 是进行程序间通讯(IPC)的 BSD 方法。
客户将插头插入一个服务器端口
建立一个双向的连接管道;Berkeley套接字;方法——socket程序设计中的几个重要概念
端口:为网络通信进程设置一些抽象的访问点,提供了多路输出数据到指定应用程序的方法;
端口数据管理:每一端口有一缓冲区来存放进入该端口的数据队列;OS提供机制,创建或唤醒相应进程来处理相应端口数据。
半相关:
三元组(协议,本地地址,本地端口号)
唯一标识本地通信一方;
全相关:
五元组(协议,本地地址,本地端口号,远地地址,远地端口号),标识一个完整的网络通信。;全相关在客户-服务器应用中的体现
客户端:(主动一方)
① 服务器的IP地址:知道向谁请求服务
② 客户机的IP地址:让服务器知道把数据传送给谁
③ 服务器的端口号:知道服务器上究竟是谁来提供服务
④ 客户端的端口号:服务器知道最终把数据传送到哪
⑤ 使用的传输层服务:要求可靠的传输,还是不可靠的传输?
服务器:(被动方,与客户端类似) ;解决方法——套接字类型
① 流式套接字(SOCK_STREAM??: 提供面向连接的、可靠的字节流服务,用于TCP。
② 数据报套接字(SOCK_DGRAM): 提供无连接的,不可靠的数据报服务,用于UDP。
③ 原始套接字(SOCK_RAW): 允许对较低层的协议,如IP、ICMP直接访问。;将Linux中的 I/O用于TCP/IP
扩展文件描述符集(+网络通信所使用的描述符)
扩展read和write这两个系统调用(+网络操作功能)
其它考虑:
指明地址(IP,PORT)
指明通讯方式(TCP,UDP,IP)
确定通讯角色(Client,Server)
处理数据格式;套接字描述符和文件描述符;针对套接字的系统数据结构;socket编程步骤
建立一个socket
配置socket
连接socket
通过socket发送数据
通过socket接收数据
关闭socket;OSI模型与套接口;思考;猜一宋词名句;; 1.1983年,加利弗尼亚大学Berkely学院推出了UNIX下的网络通信接口Socket。
2.90年代初,Sun Microsystems、JSB Corporation、FTP software、Microdyne和微软等公司共同参与制定了Windows Socket规范,试图使Windows下的Sockets程序设计标准化。
3.1992年制定Windows Socket规范1.0版,将Socket从UNIX移植到DOS和Windows下。
4.1993年1月,制定了Windows Socket 1.1版。
5.1994年5月,WinSock小组启动WinSock2规范制定工作。
6.1997年5月,WinSock2的正式规范版本2.2.1发布。; Windows Socket API是Windows的网络程序接口,它包括一个标准的Berkeley Socket功能函数集合,和为Windows所作的扩充。
扩充的功能都冠以WSA(Windows Socket Asynchronous)的前缀,表明它们都允许异步的I/O操作,并且采用了符合Windows消息机制的网络事件异步选择机制。;① 开发组件
功能:供程序员开发Windows Socket应用程序
组成:a. 介绍Windows Socket实现的文档
原创力文档

文档评论(0)