摘要:
1.总述 上一篇总结了uhttpd的工作方式,openwrt中利用它作为web服务器,实现客户端web页面配置功能。对于request处理方式,采用的是cgi,而所用的cgi程序就是luci,工作框架如下图所示: Client端和serv端采用cgi方式交互,uhttpd服务器的cgi方式中,fork出一个子进程,子进程利用execl替换为luci进程空间,并通过setenv环境变... 阅读全文
阅读排行榜
Linux下的虚拟Bridge实现
2013-04-21 23:28 by zmkeil, 16327 阅读, 收藏,
摘要:
Linux下的Bridge也是一种虚拟设备,这多少和vlan有点相似,它依赖于一个或多个从设备。与VLAN不同的是,它不是虚拟出和从设备同一层次的镜像设备,而是虚拟出一个高一层次的设备,并把从设备虚拟化为端口port,且同时处理各个从设备的数据收发及转发,再加上netfilter框架的一些东西,使得它的实现相比vlan复杂得多。1.Bridge的功能框图它是Linux下虚拟出来br... 阅读全文
uhttpd的实现框架
2013-05-14 21:58 by zmkeil, 15117 阅读, 收藏,
摘要:
uhttpd是一个简单的web服务器程序,以前没怎么接触过,所以这里主要是对web服务器设计的一些学习总结。Openwrt系统中,真正用到的(需要了解的),其实不多,主要就是cgi的处理,包括与cgi程序的信息交互等,最后一节详细描述一下。1.HTTP协议概述HTTP协议是目前互联网使用最广泛的应用层协议。其协议框架很简单,在一个TCP连接中,以一问一答的方式进行信息交互。具体讲,... 阅读全文
Linux下VLAN功能的实现
2013-04-18 20:19 by zmkeil, 11460 阅读, 收藏,
摘要:
1.Linux网络栈下两层实现1.1简介VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示: 这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个struct n... 阅读全文
PPP协议体系的实现
2013-05-02 22:05 by zmkeil, 6528 阅读, 收藏,
摘要:
其实PPP不像是一种协议,而更像是一种应用,可以把它看成一个拨号上网的应用软件,拨号成功后,本地主机就可以正常上网了,可以使用TCP/IP等协议,而完全感觉不到PPP的存在。而实际上PPP在网络协议栈中增加了不少东西,但对上层透明。另外PPP一般需要底层工具来支持,如之前讲的PPPoE。 Pppoe协议的实现在协议栈中,且其底层有实际的物理设备(或者vlan设备)支持,关键就在于p... 阅读全文
浙公网安备 33010602011771号