《TCP/IP详解 卷2:实现》 —1.15 小结

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

1.15   小结

本章是对Net/3联网代码的概述。通过一个简单的程序示例(图1-2)—发送一个UDP数据报给一个日期时间服务器并接收应答,我们分析了通过内核进行输入、输出的过程。mbuf中保存要输出的信息和接收的IP数据报。下一章我们要查看mbuf的更多细节。

当进程执行sendto系统调用时,产生UDP输出,而IP输入是异步的。当一个设备驱动程序接收了一个IP数据报,数据报被放到IP输入队列中并且产生一个软中断使IP输入函数执行。我们考察了在内核中用于联网代码的不同中断级别。由于很多联网数据结构被不同的层所共享,而这些层在不同的中断级别上执行,因此当访问或修改这些共享结构时要特别小心。几乎所有我们要查看的函数中都会遇到spl函数。

本章结束时我们查看了Net/3源代码的整个组织结构,以及本书关注的代码。

习题

1.1   输入程序示例(图1-2)并在你的系统上运行。如果你的系统有系统调用跟踪能力,如trace (SunOS 4.x)、truss (SVR4)或ktrace (4.4BSD),用它检测本例中调用的系统调用。

1.2   在1.12节调用IF_DEQUEUE的例子中,我们注意到调用splimp来防止网络设备驱动程序的中断。当以太网驱动程序以这个级别执行时,SLIP驱动程序会发生什么?


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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