您的位置:首页 > 理论基础 > 计算机网络

网络协议栈实现分析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上的作品创作,转载请注明!>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: