《TCP/IP详解 卷2:实现》 —1.9.6 UDP输出小结

举报
华章计算机 发表于 2019/11/20 15:54:12 2019/11/20
【摘要】 本节书摘来自华章计算机《TCP/IP详解 卷2:实现》一书中第1章,第1.9.6节,作者是[美]加里R.赖特(Gary R.Wright),W. 理查德史蒂文斯(W.Richard Stevens),陆雪莹 蒋慧 等译 谢希仁 校。

1.9.6   UDP输出小结

我们在图1-9中给出了进程调用sendto传输UDP数据报时的大致处理过程。图中所示的处理过程与三层内核代码(图1-3)的关系也显示出来了。

image.png

图1-9   三层处理一个简单UDP输出的执行过程

函数调用控制从插口层到UDP输出例程,到IP输出例程,然后到以太网输出例程。每个函数调用传递一个指向要输出的mbuf的指针。在最低层—设备驱动程序层,mbuf链表被放置到设备输出队列并启动设备。函数调用按调用的相反顺序返回,最后系统调用返回给进程。注意,直到UDP数据报到达设备驱动程序前,UDP数据没有排队。高层仅仅添加它们的协议首部并把mbuf传递给下一层。

这时,在我们的程序示例中调用recvfrom去读取服务器的应答。因为该插口的输入队列是空的(假设应答还没有到达),进程就进入睡眠状态。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。