第12章TTCP实现TCP用户请求.PDFVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章TTCP实现TCP用户请求

下载 第12章 T/TCP实现:TCP用户请求 12.1 概述 t c p _ u s r e q函数处理来自插口层的所有 P R U _x x x 请求。在本章中我们仅仅介绍 P R U _ C O N N E C T、P R U _ S E N D和P R U _ S E N D _ E O F请求,因为 T / T C P 中只对这三个请求做了修 改。我们也会介绍 t c p _ u s r c l o s e d函数,当进程发送完数据时要调用这个函数。还有 t c p _ s y s c t l函数也会介绍,它用来处理新的T C P 中的s y s c t l变量。 我们不打算介绍 t c p _ c t l o u t p u t函数(见卷2 的3 0 . 6节)所需的修改,这个函数用于设置 和读取两个新的插口选项: T C P _ N O P U S H和T C P _ N O O P T。所需的修改是非常细微具体的,只 要阅读源代码就很容易理解。 12.2 P R U _ C O N N E C T请求 在N e t / 3 中,大约需要 2 5 行代码 ( 卷2 第 8 0 8 ~ 8 0 9 页) 来处理 t c p _ u s r r e q发出的 P R U _ C O N E C T请求。在T / T C P ,大部分这些代码都移到了t c p _ c o n n e c t函数中(下一节介绍) , 只留下了图 1 2 - 1所给出的代码。 图12-1 P R U _ C O N N E C T 请求 1 3 7 - 1 4 1 t c p _ c o n n e c t执行连接建立所需的步骤, t c p _ o u t p u t发出S Y N报文段(主动打 开) 。 当某个进程调用 c o n n e c t时,即使本地主机和待连接的对等端主机都支持 T / T C P ,仍然 要经历正常的三次握手过程。这是因为不可能用 c o n n e c t函数传递数据,这样 t c p _ o u t p u t 就仅仅发送 S Y N 。为了跳过三次握手过程,应用程序必须避免使用 c o n n e c t,而是使用 s e n d t o或s e n d m s g,并给定数据和对等端服务器的地址。 12.3 t c p _ c o n n e c t函数 新的 t c p _ c o n n e c t函数执行主动打开所需的处理步骤。当进程调用 c o n n e c t (P R U _ C O N N E C T请求)或者当进程调用 s e n d t o或s e n d m s g时,要改为调用该函数,指定待连接 的对等端地址(P R U _ S E N D和P R U _ S E N D _ E O F请求) 。t c p _ c o n n e c t的第一部分在图12-2中给出。 1. 绑定本地端口 3 0 8 - 3 1 2 n a m指向一个I n t e r n e t插口地址结构,其中包含待连接的服务器的 I P地址和端口号。 第1 2章 T / T C P实现:T C P用户请求计计121 下载 如果还没有给插口指定一个本地端口 (通常的情况) ,调用i n _ p c b b i n d就会分配一个端口(卷2 第5 5 8页) 。 2. 指定本地地址,检查插口对的唯一性 3 1 3 - 3 2 3 如果还没有给插口绑定一个本地 I P地址(通常的情况下) ,调用i n _ p c b l a d d r就可 分配本地I P地址。 i n _ p c b l o o k u p查找匹配的P C B ,如果找到,就返回一个非空指针。仅仅 在进程绑定了一个专门指定的本地端口时才可能找到一个匹配的 P C B ,因为如果 i n _ p c b b i n d选择本地端口,就会选择一个目前不在使用的本地端口。但是在 T / T C P 中,更 有可能的是一

文档评论(0)

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

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

1亿VIP精品文档

相关文档