《TCP/IP详解 卷2:实现》 —1.9.6 UDP输出小结
【摘要】 本节书摘来自华章计算机《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)的关系也显示出来了。
图1-9 三层处理一个简单UDP输出的执行过程
函数调用控制从插口层到UDP输出例程,到IP输出例程,然后到以太网输出例程。每个函数调用传递一个指向要输出的mbuf的指针。在最低层—设备驱动程序层,mbuf链表被放置到设备输出队列并启动设备。函数调用按调用的相反顺序返回,最后系统调用返回给进程。注意,直到UDP数据报到达设备驱动程序前,UDP数据没有排队。高层仅仅添加它们的协议首部并把mbuf传递给下一层。
这时,在我们的程序示例中调用recvfrom去读取服务器的应答。因为该插口的输入队列是空的(假设应答还没有到达),进程就进入睡眠状态。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)