TCP/IP详解卷2:实现 第一章 笔记三
来源:互联网 发布:大数据时代带来的问题 编辑:程序博客网 时间:2024/06/06 05:19
今天接着上篇写:若看破红尘往事,心又该放在哪里。凡事不要看的太透,尽管近视也不要戴眼镜吧,只为心安。
- 红尘啊滚滚 痴痴啊情深
- 聚散终有时
- 留一半清醒 留一半醉
- 至少梦里有你追随
来说正题:
以太网输入:
以太网设备会处理这个中断,数据从设备读到mbuf链表中,依旧是20个字节IP首部和8字节的UDP首部剩下的就看下面的图片吧很清楚的,设备驱动把这个mbuf传给一个通用以太网输入例程,他通过以太网帧类型来确定那个协议接收他,
IP输入例程处理每个接收到的IP数据报,他验证IP首部检验和,处理IP选项,验证数据包被传递到正确的主机(通过比较数据报的目标IP地址与主机地址),并当系统被配置了一个路由器,且数据报被注为其他IP地址时,转发此数据。如果IP数据报到达他的最终目标,调用IP首部中标识的协议的输入例程:ICMP\IGMP\TCP和UDP。
UDP输入
UDP输入例程从一个全局变量udb开始,查看所有UDP协议控制块链表,找到一个本地端口号与接收的UDP数据报的目标端口号匹配的协议控制块。pcb是由我们呢调用socket创建的,他的成员inp_scoket指向相应的插口也就是socket,就是我们第二节里面那个socket进程创建过程图里面。
首先上面第一个mbuf是在插口称创建的一个包括16个字节Internet插口地址结构,他带有发送房的IP地址和端口号,他的类型是MT_SONAME,第二个mbuf是数据他的类型是MT_DATA所以这里个mbuf不能放在同一个mbuf中。如果接收进程处于睡眠状态等待数据的到达,进程就得等被标志为可运行的状态等内核调度了。也可以通过select系统调用或SIGIO信号来通知进程数据到达。
进程输入
网络实现概述
总结了在各层间为网络输入输出而进行通信。来一张图也方便我们讲下一个中断内容。
明天结束第一章。
- TCP/IP详解卷2:实现 第一章 笔记三
- TCP/IP详解卷2:实现 第一章笔记
- TCP/IP详解卷2:实现 第一章 笔记二
- TCP/IP详解卷2:实现 第一章 笔记四
- 《TCP/IP详解卷2:实现》笔记--TCP的定时器
- 《TCP/IP详解卷2:实现》笔记--TCP输出
- 《TCP/IP详解卷2:实现》笔记--TCP的输入
- 《TCP/IP详解卷2:实现》笔记--IP编址
- 《TCP/IP详解卷2:实现》笔记--IP:网际协议
- 《TCP/IP详解卷2:实现》笔记--IP选项处理
- 《TCP/IP详解卷2:实现》笔记--IP多播
- 《TCP/IP详解卷2:实现》笔记--IP多播选路
- 《TCP/IP详解卷2:实现》笔记--原始IP
- 《TCP/IP详解卷2:实现》笔记--IP:网际协议
- TCP/IP详解卷1笔记_第一章 概述
- 《TCP/IP详解卷2:实现》笔记--接口层
- 《TCP/IP详解卷2:实现》笔记--域和协议
- 《TCP/IP详解卷2:实现》笔记--插口层
- 链式结构的队列: Queue
- 初探Oracle:sql*plus常用基础命令
- iOS常用加密方法(aes、md5、base64)
- 模式识别概论
- 第十周项目二 M$pszi$y是嘛意思?
- TCP/IP详解卷2:实现 第一章 笔记三
- hdu 1978 dfs+dp
- IOS绘图详解-iOS下如何绘制图片
- hdu 4405 飞行棋 (dp)
- [译]关于iOS和OS X废弃的API你需要知道的一切
- 卡尔曼滤波器介绍
- android aac文件格式音频的录制和播放
- 在注册表中实现管理员账号隐藏
- UVA - 10057 A mid-summer night's dream. 求中位数