2009网络编程技术6.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 基于数据报的编程 6.1 数据报套接字简介 6.2 TCP与UDP的区别 6.3 数据报套接字工作流程 6.4 相关函数调用 6.5 例程1 数据报的发送与接收 6.6 例程2 数据报的双向收发 6.1 数据报套接字简介 UDP(用户数据报协议--User Datagram Protocol)是TCP/IP协议集中等同于TCP的通信协议。 (1)UDP与TCP的差异: UDP直接利用IP协议进行UDP数据报的传输,因此UDP提供的是无连接、不可靠的数据报传输服务。 (2)UDP的使用场合: UDP常用于数据量较少的数据传输,例如:域名系统中域名地址/IP地址的映射请求和应答(Named),Ping 、BOOTP、TFTP等应用。 6.1 数据报套接字简介 (3)使用UDP协议的好处: 在少量数据的传输时,使用UDP协议传输信息流,可以减少TCP连接的过程,提高工作效率。 (4)UDP协议的不足: 当使用UDP协议传输信息流时,用户应用程序必须负责解决数据报排序,差错确认等问题。?在多媒体应用中,常用TCP支持数据传输,UDP支持音频/视频传输。 6.1 数据报套接字简介 UDP信息包由包头和数据组成。 UDP的包头由4个域组成: 源端端口(SourcePort) 目的地端口(DestinationPort) 用户数据包的长度(Length) 检查和(Checksum) 其中UDP包头的前4个域每个域由2个字节组成;用户数据包的长度包括所有5个域的字节数。 6.1 数据报套接字简介 检查和的详细计算在RFC1071中有介绍。 为什么UDP也提供检查和? 其原因是链路层以下的协议在源端和终端之间的某些通道可能不提供错误检测。虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。 收发两端是否有可能通过UDP提供可靠的数据传输? 答案是可以的。 但必需要把确认和重传措施加到应用程序中。 6.2 TCP与UDP的区别 TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。 TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。 6.2 TCP与UDP的区别 面向连接的协议在任何数据传输前就建立好了点到点的连接。 非面向连接的传输协议在数据传输之前不建立连接,而是在每个中间节点对非面向连接的包和数据包进行路由。没有点到点的连接。 6.2 TCP与UDP的区别 当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。 当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。 TCP丰富的功能有时会导致不可预料的性能低下。 6.2 TCP与UDP的区别 TCP协议在IP协议软件提供的服务的基础上,支持面向连接的、可靠的、面向流的传输服务。 (1)面向流的传输服务:应用程序之间传输的数据可视为无结构的字节流(或位流),流传输服务保证收发的字节顺序完全一致。 (2)面向连接的传输服务:数据传输之前,TCP模块之间需建立连接(类似虚电路),其后的TCP报文在此连接基础上传输。 6.2 TCP与UDP的区别 (3)可靠传输服务:接收方根据收到的报文中的校验和,判断传输的正确性,如果正确,进行应答,否则丢弃报文。发送方如果在规定的时间内未能获得应答报文,自动进行重传。 (4)缓冲传输:TCP模块提供强制性传输(立即传输)和缓冲传输两种手段。缓冲传输允许将应用程序的数据流积累到一定的体积,形成报文,再进行传输。 (5)全双工传输:TCP模块之间可以进行全双工的数据流交换。 (6)流量控制: TCP模块提供滑动窗口机制,支持收发TCP模块之间的端到端流量控制。 6.2 TCP与UDP的区别 6.3 数据报套接字工作流程 4.3 面向连接套接字工作流程 6.4 相关函数调用 socket() sendto() recvfrom() 6.4 相关函数调用 socke(取得套接字描述符) 头文件: #include sys/types.h #include sys/socket.h 函数原型: int socket(int domain , int type , int protocol)

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档