- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据通信与计算机网络(第二版)》电子教案 笫二十二讲 Socket编程 本讲内容 第八章 运输层 8.4 Socket编程 8.4.1 Socket接口概念 8.4.2 Socket编程模型 8.4.3 Unix Socket编程 8.4.4 WinSock编程 8.4.1 Socket接口概念 Socket接口是TCP/IP网络通信的API。它规定了许多函数和例程,程序员可以用它们来开发TCP/IP网络上的应用程序。 网间进程通信 不同主机进程间的相互通信。 端口 网络中可以被命名和寻址的通信端点,是操作系统可分配的一种资源,用于标识通信的进程(如TCP或UDP端口)。 端口类似于文件描述符,端口操作类似于一般的I/O操作。 进程在使用端口前需要将自己与该端口号联系起来(绑定)。 8.4.1 Socket接口概念 端口号有两种基本分配方式 全局分配 由一个公认的中央机构统一管理和分配,并将结果公布于众(著名端口)。 TCP和UDP规定,小于1024的端口号作为全局分配的保留端口。 如21、80、110等。 本地分配(动态连接) 进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回一个本地唯一的端口号。 TCP和UDP规定,大于1024的端口号用于本地分配的自由端口。 TCP/IP端口号的分配综合了上述两种方式。 8.4.1 Socket接口概念 地址 网络通信中通信的两个进程分别在不同的机器上。 主机上的进程通过三级寻址: 网络地址; 网络上的主机地址; 主机上的进程标识。 TCP/IP主机地址由网络ID和主机ID组成(32位IP地址);进程标识使用端口号(16位)。 网络字节顺序 为保证数据的正确性,在网络协议中须指定网络字节顺序。 TCP/IP使用16比特整数和32比特整数的高价先存格式。 8.4.1 Socket接口概念 连接 两个进程间的通信链路称为连接。 连接在内部表现为一些缓冲区和一组协议机制,在外部表现出比无连接高的可靠性。 半相关 网络中在全局唯一标识一个进程的三元组:(协议,本地地址,本地端口号)。 它指定连接的每半部分。 全相关 标识一个完整的网间通信的五元组:(协议,本地地址,本地端口号,远地地址,远地端口号)。 即两个协议相同的半相关组合成一个合适的相关,即完全组成一连接。 8.4.1 Socket接口概念 服务方式 “服务”是描述相邻层之间关系的抽象概念,即网络中各层向紧邻上层提供的一组操作。 下层是服务提供者,上层是请求服务的用户。 服务的表现形式是原语(primitive),如系统调用或库函数。 TCP/IP传输层以不同的服务方式提供“端到端”通信。 面向连接和无连接服务 TCP提供面向连接的字节流服务。 UDP提供无连接的数据报服务。 顺序 指接收数据顺序与发送数据顺序相同。 TCP提供顺序服务。 8.4.1 Socket接口概念 差错控制 保证应用程序接收的数据无差错的一种机制。 如校验和、确认等。 TCP提供差错控制服务。 流控制 在数据传输过程中控制数据传输速率的一种机制,以保证数据不被丢失。 TCP提供流控制服务。 字节流 仅把传输中的数据段看作是一个字节序列,不提供数据流的任何边界。 TCP提供字节流服务。 8.4.1 Socket接口概念 数据报 接收方要保存发送方的数据报边界。 UDP提供数据报服务。 全双工/半双工 端-端间数据同时以两个方向/一个方向传送。 TCP/IP的端到端通信是全双工的。 缓存 TCP/IP运输实体具备缓存能力。 紧急数据 TCP支持紧急数据功能。 8.4.1 Socket接口概念 在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户/服务器(Client/Server,C/S)模式 客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。 C/S模式的建立基于以下两点: 建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享 。 网间进程通信完全是异步的。 8.4.1 Socket接口概念 C/S模式在操作过程中采取的是主动请求方式 服务器方(进程)先启动,并根据请求提供相应服务 a) 打开一通信通道并告知本地主机,它愿意在某一端口上(如HTTP使用80)接收客户请求; b) 等待客户请求到达该端口; c) 接收到重复服务请求,处理该请求并发送应答信号;接收到并发服务请求,激活一新进程来处理这个客户请求。服务完成后,关闭此新进程与客户的通信链路,并终止。 d) 返回第二步,等待另一客户请求。 e) 关闭服务器。 8.4.1 Socket接口概念 客户方(进程) a) 打开一通信通道,并连接到服务器所在主机的特定端口; b) 向服务器发服务请求报文,等待并接收应答;继续提出
您可能关注的文档
最近下载
- 常见肿瘤分期手册第八版中文版.pdf VIP
- 中南15ZJ201《平屋面》( Word 可编辑版).docx
- 汉语言文学毕业自我鉴定(通用17篇).pdf VIP
- 退休人员派遣劳务合同8篇.docx VIP
- 《新时代劳动教育实践指导手册(四年级下册)》 《劳动快乐,我爱劳动》【四年级下册】(1)劳动价值观培养+(2)日常劳动我来干.pptx VIP
- 中职英语基础模块2(高教版)教案:Unit3-Internship(全6课时).doc
- 副总经理招聘面试题及回答建议(某大型央企).docx VIP
- 2024年智能建造技术.pptx
- 钢结构的安装PPT课件.ppt VIP
- 倪海厦--伤寒论.doc
文档评论(0)