-
毕业论文及下学期的一点yy
2005-02-14
论文:1、移动节点切换时的QoS保证,QoS是个宽泛的内容,从狭义的带宽、延迟、抖动到安全、计费等等,无所不在。
2、考虑端到端的QoS,最好的方法是在通信节点的各条做提前的预留,但基于每个流是不现实的,需要等到共产主义实现,因此仅作研究。对无线来说,802.11接入这一段的QoS是急需保证的,真正到了主干,diffserv、MPLS可以干的很好,因此,对于一个移动端系统来说,应着眼于接入时的QoS保证服务。
3、接入时的QoS有如下几个方面值得一做,a、IP层:移动切换时的减小切换延迟。b、链路层:802.11为需要提供QoS保证的实时服务提供special的策略,比如缩短竞争时间、或者就又AP有条件的轮询,但这只是对服务而言,不管这个用户是否得到了认证和付了钱 ……,也是共产主义,可在三层限制。c、IP层以上:采用上下文转移,保证第一次认证之后终身保证本次服务的QoS,不管你怎么移动切换,需要AR记录MN的这些AAA和QoS信息,这个似乎比较现实一点,AR控制AP的方面。d、无法通过初始AAA的得不到QoS保证服务,可以得到基础服务,满足fateshareing原则,不执行CT,CT的触发器,减少不必要的CT检测对服务器的信令开销。e、采用CT对拥塞控制方面的影响,但实时服务绝大采用UDP,这点比较牵强。
4、结合各层的一套无缝切换的机制,保证切换过程中的QoS,VoIP的试验,快速切换模型和上下文的选择,仿真?改MIPL?,OMNET?NS2?。
下学期工作:1、SIPPhone的移植,优化--2人
2、MIPv6 RFC 实验床搭建、测试--2人
3、OMnet、CSAPP
4、视频v6?VODv6?
-
la vie en rose
2005-02-14
前几天又看了遍无贼,片子前面的法文歌挺好听,似曾相识,google了一把,原来叫la vie en rose,呵呵,life in rose, 玫瑰人生,不错!

-
最后一学期就要开始啦
2005-02-14
年快过完了,是该考虑论文的事情了,珍惜时间,时不我待。明年一定不在这个时候还在写blog,我保证!恩,立此存照。
^_^
-
Libpcap/Libnet学习小结
2004-12-13
1 install
libpcap:需要内核Packet socket CONFIG_PACKET的支持,默认都是打进内核,一了百了。它使得应用程序可以直接与device通信,而不需通过内核的中间件协议栈
libnet 似乎没有什么强制性需求的东西,我用的是1.1版本,已支持IPv6似乎里面的例子还是用1.0的,很多函数名称已改变,链接时错误,include/libnet/libnet_function.h中有新函数的定义和解释2 using
libpcap:coding时include
,compiling时-lpcap
libnet:coding时include,compiling时-lnet(1.1版本) 3 使用到的重要函数:
libpcap:pcap_open_live(初始化,必须)->pcap_compile、pcap_setfilter(编译器及其绑定,可选)->pcap_loop或者pcap_next前一个可以循环执行n次,使用句柄函数对捕获抓到的包进行进一步处理,后者每次只捕获一个包。这里抓到的都是二层的包。句柄函数的四个参数第一个是用户自定义参数,第二个是pcap头部指针,第三个是捕获到的帧指针
libnet:libnet_init(初始化,第一个参数决定使用raw、raw6、link发包)、libnet_build_*(构建各种包)、libnet_write_raw_IPv4/IPv6(以raw socket发送IPv4/IPv6包)、libnet_write_link(发链路层帧)这两个工具如此之强大,libpcap给你提供一个类似tcpdump的接口,给于相应的规则将能够捕获你想要的包。libnet可以使用各种rawsocket发送数据包甚至直接写以链路层帧。
-
C++类的继承(zz)
2004-12-01
总结C++,类的继承、包括对虚函数的使用都是重要的内容。甚至可以说它们是C++编程的一个缩影。个人认为关于这些理论是值得回顾的。随时&随地。
首先,是继承。这个概念很好的体现面向对象编程的概念。一个新的类型继承了已存在的类型的属性和行为,并且为了使新类型具有自己所需要的功能。而继承真正的魅力在于能够添加基类所没有的特点以及取代和改进从基类那里继承来的特点。
先谈谈理论的东西,C++提供了3种继承方式,用图表来说明应该简单一点
类成员变量的
访问说明符
继承类型
Public继承
Protected继承
Private继承
Public
在派生类中为public
可以直接由任何非static
成员函数、友元函数和
非成员函数访问
在派生类中为protected
可以直接由任何非static
成员函数、友元函数访问
在派生类中为private
可以直接由任何非static
成员函数和友元函数访问
Protected
在派生类中为protected
可以直接由任何非static
成员函数和友元函数访问
在派生类中为protected
可以直接由任何非static
成员函数和友元函数访问
在派生类中为private
可以直接由任何非static
成员函数和友元函数访问
Private
在派生类中隐藏
可以通过基类的public
或protected成员函数
由非static成员函数和
友元函数访问
在派生类中隐藏
可以通过基类的public
或protected成员函数
由非static成员函数和
友元函数访问
在派生类中隐藏
可以通过基类的public
或protected成员函数
由非static成员函数和
友元函数访问
根据上面表格里面的内容,我们可以按照自己的需求,作出相应的组合。
在public继承中,可以把一个派生类的对象作为它的基类对象来进行处理,另外,也可以把一个基类对象的指针强制转换成派生类指针,不过,必须首先确保它一定是指向某个派生类对象的;如果把指向基类对象的指针显式的转换成派生类指针以后,引用该对象中并不存在的派生类的成员会导致运行时的逻辑错误。
由于派生类继承了基类的成员,所以在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象的基类成员。派生类的构造函数既可以隐式的调用基类的构造函数,也可以在派生类的构造函数通过给基类提供初始化值显式的调用基类的构造函数。派生类不继承基类的构造函数和赋值运算符,但是派生类构造函数和赋值运算符能够调用基类的构造函数和赋值运算符。派生类的构造函数总是先调用其基类构造函数来初始化派生类中的基类成员。如果省略了派生类的构造函数,那么就由派生类的默认构造函数调用基类的默认构造函数。析构函数的调用顺序和构造函数的调用顺序是相反的,因此派生类的析构函数在基类的析构函数之前调用。
在public继承中,因为派生类对象也是基类对象,所以指向派生类对象的指针可以隐式的转换为指向基类对象的指针。基类指针和派生类指针与基类对象和派生类对象的混合和匹配有如下4种可能的方式:
1、 直接用基类指针引用基类的对象。
2、 直接用派生类指针引用派生类对象。
3、 用基类指针引用一个派生类对象。由于派生类的对象也是基类的对象,所以这种引用方式是安全的,但是用这种方法只能引用基类成员,如果试图通过基类指针引用那些只有在派生类中才有的成员,语法错误。
4、 用派生类的指针引用基类的对象。这种引用方式会导致语法错误。派生类指针必须先强制转换为基类指针。
多重继承,意味着一个派生类可以继承多个基类的成员。







