网络协议栈实现分析1—整体架构分析
2010-03-18 19:35
232 查看
TCPIP 协议栈分析—整体架构分析<1>
写于2010年1月12日
开始分析前讲一个故事,从前有个人他很有梦想,他总是在想着怎么改变世界,
改变他人,他的梦想也极其的伟大,大到他甚至无法企及,但是他依旧梦想着,就这样一直
到他的晚年,结局确是一直庸庸碌碌,当他回首往事,他感慨:如果以前能从改变自己开始,
然后进而改变家人,最后没准能够改变世界。但是他确一直是一个思想的巨人,行动的矮子。一直以来我都是这样子一个人,眼高手低,没有毅力,这是我最悲哀的地方,希望这是我的重新开始,我改变的开始。
1. TCPIP起源与分层模型
TCP/IP起源于60年代末没人政府资助的一个分组交换的网络研究项目,到90年代已经 发展成为计算机之间最常用应用组网形式,一个真正的开发系统。
TCP/Ip的一个很大的特点是它的分层思想,按照这种思想将它分为应用层,传输层,网络层,链路层。
下面是对OSI的7层模型进行分析:
应用层:该层次定义了一套用户调用的接口函数。既socket套接字接口函数,如socket,
Bind,accept等。这些接口由glibc库提供。
表示层。会话层:该层对应对应BSD socket 层或者INET Socket层。涉及的文件有socket.c和af_inet.c。
传输层:该层定义了一些协议,如TCP.udp等,涉及文件有tcp.c,udp.c .icmp.c , igmp.c ,snmp.h 。
网络层:数据包路由功能实现的一层。Ip协议所在层,RAW套接字也在这一层,使用RAW套接字时,用户要自己创建ip首部和传输层协议首部。
这一层也实现了SOCKET_PACKET套接字,用户必须创建链路首部,网络层首部,传输层首部所有的创建工作。
涉及的文件有:ip.c , route.c , ip_fw.c raw.c . packet.c .
链路层: 这一层主要关心的是支持以太网还是802封装的方式。主要实现的是网络协议栈与底层驱动的一个接口层而存在的。
涉及到文件有:dev.c , p8022.c .psnap.c , p8023. eth.c , arp.c
“驱动层”: 打上冒号的原因是在OSI七层没有这一层,该层与链路层进行交互完成数据包收发的功能。
涉及文件在:drivers子目录下的一些网络设备的驱动程序。
物理层: 协议栈不涉及。
<基于www.hacktao.com上的作品创作,转载请注明!>
写于2010年1月12日
开始分析前讲一个故事,从前有个人他很有梦想,他总是在想着怎么改变世界,
改变他人,他的梦想也极其的伟大,大到他甚至无法企及,但是他依旧梦想着,就这样一直
到他的晚年,结局确是一直庸庸碌碌,当他回首往事,他感慨:如果以前能从改变自己开始,
然后进而改变家人,最后没准能够改变世界。但是他确一直是一个思想的巨人,行动的矮子。一直以来我都是这样子一个人,眼高手低,没有毅力,这是我最悲哀的地方,希望这是我的重新开始,我改变的开始。
1. TCPIP起源与分层模型
TCP/IP起源于60年代末没人政府资助的一个分组交换的网络研究项目,到90年代已经 发展成为计算机之间最常用应用组网形式,一个真正的开发系统。
TCP/Ip的一个很大的特点是它的分层思想,按照这种思想将它分为应用层,传输层,网络层,链路层。
下面是对OSI的7层模型进行分析:
应用层:该层次定义了一套用户调用的接口函数。既socket套接字接口函数,如socket,
Bind,accept等。这些接口由glibc库提供。
表示层。会话层:该层对应对应BSD socket 层或者INET Socket层。涉及的文件有socket.c和af_inet.c。
传输层:该层定义了一些协议,如TCP.udp等,涉及文件有tcp.c,udp.c .icmp.c , igmp.c ,snmp.h 。
网络层:数据包路由功能实现的一层。Ip协议所在层,RAW套接字也在这一层,使用RAW套接字时,用户要自己创建ip首部和传输层协议首部。
这一层也实现了SOCKET_PACKET套接字,用户必须创建链路首部,网络层首部,传输层首部所有的创建工作。
涉及的文件有:ip.c , route.c , ip_fw.c raw.c . packet.c .
链路层: 这一层主要关心的是支持以太网还是802封装的方式。主要实现的是网络协议栈与底层驱动的一个接口层而存在的。
涉及到文件有:dev.c , p8022.c .psnap.c , p8023. eth.c , arp.c
“驱动层”: 打上冒号的原因是在OSI七层没有这一层,该层与链路层进行交互完成数据包收发的功能。
涉及文件在:drivers子目录下的一些网络设备的驱动程序。
物理层: 协议栈不涉及。
<基于www.hacktao.com上的作品创作,转载请注明!>
相关文章推荐
- 【前端】Popush前端架构分析&注册后自动登录的实现
- jquery的总体架构分析及实现示例详解
- Spark源码分析——Spark整体架构
- 基于IMS架构的IPTV系统实现分析
- ANDROID窗体管理服务实现机制和架构分析
- muduo库的源代码分析1--整体架构
- BlogEngine.Net架构与源代码分析系列part14:实现分析(下)——网站页面上值得参考的部分
- OpenStack建立实例完整过程源码详细分析(15)----依据AMQP通信架构实现消息接收机制解析之二
- WebRTC音视频引擎研究(1)--整体架构分析
- python实现自动监测目标网站的爬取速度_以及整体网络环境分析
- tnl的ghostObject分析--使在线玩家为n人的架构实现
- Consul实现原理系列文章3: Consul的整体架构
- 网络协议栈实现分析7--Nagle算法
- MVP架构在Android平台上的实现分析(一)
- 淘宝网采用什么技术架构来实现网站高负载分析
- hbase的整体架构分析
- WebRTC音视频引擎研究(1)--整体架构分析
- jQuery 2.0.3 源码分析core - 整体架构
- jQuery 2.0.3 源码分析core - 整体架构
- Spring 源码分析-整体架构解读