快乐虾
http://blog.csdn.net/lights_joy/
欢迎转载,但请保留作者信息
解析以太网帧的过程是构建以太网帧的逆过程,当我们接收到一个以太网帧时,仍然以上一节中的ARP帧为例:
当收到这样一个数据帧时,首先应当构造一个Packet存放数据:
Ptr<Packet>src = Create<Packet>(buffer,len);
然后取出以太网包头:
//解析以太网包头
EthernetHeader eh_src;
src->RemoveHeader(eh_src);
在取出此包头后,Packet中就剩下了下面内容(红色部分):
通过eh_src可以得到以太网帧的基本信息:
接下来必须判断lengthType的值以进行下一步的解析:
ArpHeader ah_src;
if (eh_src.GetLengthType() == ArpL3Protocol::PROT_NUMBER)
src->RemoveHeader(ah_src);
貌似挺简单的。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/lights_joy/article/details/47404723