网络协议分析习题解答参考思路

上传人:公**** 文档编号:493826250 上传时间:2022-08-26 格式:DOC 页数:39 大小:326KB
返回 下载 相关 举报
网络协议分析习题解答参考思路_第1页
第1页 / 共39页
网络协议分析习题解答参考思路_第2页
第2页 / 共39页
网络协议分析习题解答参考思路_第3页
第3页 / 共39页
网络协议分析习题解答参考思路_第4页
第4页 / 共39页
网络协议分析习题解答参考思路_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《网络协议分析习题解答参考思路》由会员分享,可在线阅读,更多相关《网络协议分析习题解答参考思路(39页珍藏版)》请在金锄头文库上搜索。

1、.网络协议分析与实现习题解答参考思路第1章习题解答参考思路习题1:该题考查对异构网络互联概念、异构网络涉及的问题以及解决方法的理解程度。其中涉及的问题包括地址问题、包格式转换问题、路由问题等,其中1.1.3节还列举了很多其他的问题。习题2:该题可参考教材中所讲述的用户A和用户B的数据转换和传输过程进行解答。习题3:该题主要考查网上查找资料的能力。在网站上可以查到所有的RFC信息。习题4:TCP/IP模型和OSI参考模型之间的层次对应关系及各层协议参见教材中的图1-5。习题5:该题主要考查动手能力,可以使用Wireshark曾称为Ethereal、Sniffer Portable等软件进行抓包,

2、然后针对一些具体报文进行分析。注意分析通信中的多路复用和多路分解过程,说出通信双方的物理地址、IP地址和端口地址。习题6:该题主要考查阅读代码的能力,这部分代码是对数据结构课程中队列操作的一个实现。该队列是一个基于优先级排序的队列,主要的数据结构是qinfo:structqinfo Boolq_valid;intq_type;/* mutex type*/intq_max;intq_count;intq_seen;intq_mutex;int*q_key;char*q_elt;具体操作如下:int enq;/*入队列操作,根据key的大小插到队列中的合适位置*/void * deq;/*出队列

3、操作*/void * headq;/*获取队列头部元素*/void * seeq;/*按顺序取队列元素*/int newq;/*分配一个新的队列,并返回队列的索引位置*/int freeq;/*释放队列*/int lenq;/*获取队列长度*/static int initq;/*初始化队列*/.第2章习题解答参考思路习题1:该题主要考查对HDLC概念的理解程度,答案参见2.1节。习题2:该题主要考查对SLIP、PPP之间的关系,PPP对SLIP的改进以及PPPoE的概念的理解程度。SLIP和PPP可以在教材中找到参考资料,PPPoE可以到网上或RFC中查找参考资料。PPPoE全称为Point

4、 to Point Protocol over Ethernet以太网上的点对点协议,简单地说,就是以太网和PPP结合后的协议,目前广泛应用在ADSL接入方式中。通过PPPoE技术和宽带调制解调器比如ADSL Modem可以实现高速宽带网的个人身份验证访问,为每个用户创建虚拟拨号连接,这样就可以高速连接入因特网。1PPP在SLIP的基础上的改进之处 提供了校验机制,可以对每一帧进行检查; 提供了IP地址的动态协商机制,使通信双方能够得知对方的IP地址; 在一条串行链路上提供了对多协议的支持; 提供了对TCP和IP数据报首部的压缩机制。2PPPoE和PPP的关系PPP提供了一种标准的方式在点对点

5、的链路上传输多种网络层协议的数据报。它要求通信双方之间是点到点的关系,由于不适用于广播类型的以太网和另外一些多点访问类型的网络,因此就产生了PPPoE。在实际应用中,PPPoE利用以太网的工作机理,将ADSL Modem的10BASE-T接口与内部以太网互联,在ADSL Modem中采用RFC1483的桥接封装方式对终端发出的PPP报文进行LLC/SNAP封装后,通过连结两端的PVC在ADSL Modem与网络侧的宽带接入服务器之间建立连接,实现PPP的动态接入。PPPoE接入利用在网络侧和ADSL Modem之间的一条PVC永久虚拟电路就可以完成以太网上多用户的共同接入,实际组网方式简单,实

6、用方便,大大降低了网络的复杂程度。PPPoE的实质就是以太网和拨号网络之间的一个中继协议,它继承了以太网的快速和PPP拨号的简单、用户验证、IP分配等优点。 3PPPoE的工作流程PPPoE提供了在广播式网络如以太网中多台主机连接到远端的访问集中器上的一种标准。在这种网络模型中,不难看出所有用户的主机都需要能独立地初始化自己的PPP协议栈,而且通过PPP本身所具有的一些特点能在广播式网络上对用户进行计费和管理。为了能在广播式网络上建立、维持各主机与访问集中器之间点对点的关系,需要每个主机与访问集中器之间建立唯一的点到点的会话。PPPoE共包括两个阶段,即PPPoE的发现阶段PPPoE Disc

7、overy Stage和PPPoE的会话阶段PPPoE Session Stage。 发现阶段:此阶段用来建立连接,如下图所示,当一个用户主机想开始一个PPPoE会话时,首先必须经过发现阶段以识别PPPoE Server的以太网MAC地址,并建立一个PPPoE会话标识Session ID。如上图所示,该阶段的基本工作流程由4个步骤组成。PADI:如果要建立一条PPPoE连接,首先PPPoE客户端要以广播的方式发送一个PADIPPPoE Active Discovery Initiation报文,PADI报文包括客户端请求的服务。PADO:在PPPoE服务器BRAS收到一个PADI报文之后,它会

8、判断自己是否能够提供服务,如果能够提供服务,就会向客户端发送PADOPPPoE Active Discovery Offer报文来进行回应。PADO报文包括PPPoE服务器名称和与PADI报文中相同的服务名;如果PPPoE服务器不能为PADI提供服务,则不允许用PADO报文应答。PADR:由于PADI是以广播的形式发送出去的,PPPoE客户端可能会收到不止一个PADO报文,它将审查所有接收到的PADO报文并根据其中的服务器名或所提供的服务选择一个PPPoE服务器,同时向选中的服务器发送PADRPPPoE Active Discovery Request报文。PADR报文包括客户端所请求的服务。

9、PADS:当PPPoE服务器收到客户端发送的PADR报文时,它准备开始一个PPPoE会话。它为PPPoE会话创建一个唯一的PPPoE会话标识,并向客户端发送PADSPPPoE Active Discovery Session- confirmation报文作为应答。当发现阶段正常结束后,通信的两端都会获得会话标识和对方的MAC地址,它们一起唯一定义一个PPPoE会话。 会话阶段:PPPoE进入PPP会话阶段后,客户端和服务器将进行标准的PPP协商,PPP协商通过后,数据通过PPP封装发送。PPP报文作为PPPoE帧的净荷被封装在以太网帧内,发送到PPPoE链路的对端。会话标识必须是发现阶段确定

10、的标识,并且在会话过程中保持不变,MAC地址必须是对端的MAC地址。在会话阶段的任意时刻,PPPoE服务器和客户端都可向对方发送PADTPPPoE Active Discovery Terminate报文通知对方结束本会话。收到PADT以后,就不再允许使用该会话发送PPP流量了。在发送或接收到PADT报文后,即使是常规的PPP结束报文也不允许发送。一般情况下,PPP通信双方使用PPP报文自身来结束PPPoE会话,但在无法使用PPP时可以使用PADT来结束会话。4帧结构及其应用版本4位类型4位代码8位会话标识16位长度16位净载荷发现阶段承载一些标记会话阶段承载PPP报文PPPoE作为宽带网接入

11、的一种有效方法,不但可以防止IP被盗用,还有利于开展多服务、速率限制和按时按流量计费等多方面的应用。习题3:该题主要考查对CSMA/CD和CSMA/CA协议,以及无线网络中隐藏站问题的理解程度。习题4: XINU操作系统源代码etherlance目录下存放的是AMD 7990 Lance以太网控制器驱动实现程序源代码,其中ethdemux函数实现了该控制器接收到以太帧后所要进行的多路分解操作。该函数首先进行一些检查,然后进行数据帧的复制,并最终转入ni_in函数,进行网络接口层的多路分解。/* ethdemux.c - ethdemux */#include #include #include

12、 /*- * ethmudex -选择一个端口发送一个传入的数据报ETHER端或者其他 *-*/ /*首先检查来自网络的数据帧的正确性,然后申请缓冲区以存储数据帧,最后将数据帧交由ni_in函数处理*/int ethdemuxstruct etblk *etptr; /*以太网控制块描述*/int bn;structbre*pbre;structle_md*pmd; /*消息描述符*/structotblk*otptr;structep*pep; /*以太网的帧结构*/intnoth, readlen, errs, ifnum;char*dest;ifnum = etptr-etintf; /

13、*端口号*/pbre = &etptr-etbrrbn;pmd = pbre-pmd;errs = pmd-lmd_flags & ;if if kprintf;if kprintf;if kprintf;if kprintf;goto drop;readlen = pmd-lmd_mcnt; /*消息的长度 */if /*长度是否合法*/goto drop;pep = nbgetbuf; /*申请帧缓冲区*/if /*申请失败*/if = 0 & ifnum /*端口号是否合法*/nififnum.ni_idiscard+;goto drop2;blkcopyep_eh, pbre-buf, readlen-EP_CRC; /*将网卡缓冲区中的信息复制到帧缓冲区*/pmd

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号