目录
1.PC和PPPOE服务器建立连接的流程以及包含LCP配置选项的PPP帧
0.前言
该篇为网络协议分析的分析题部分,分值一般而言较重,请重点关注!
该篇为网络协议分析的分析题部分,分值一般而言较重,请重点关注!
该篇为网络协议分析的分析题部分,分值一般而言较重,请重点关注!
1.PC和PPPOE服务器建立连接的流程以及包含LCP配置选项的PPP帧
答:PPPoE协议流程
-Discovery阶段
(1)PPPoE Client广播发送一个PADI报文,在此报文中包含PPPoE Client想要得到的服务类型信息。
(2)所有的PPPoE Server收到PADI报文之后,将其中请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复一个PADO报文。
(3)根据网络的拓扑结构,PPPoE Client可能收到多个PPPoE Server发送的PADO报文,PPPoE Client选择最先收到的PADO报文对应的PPPoE Server做为自己的PPPoE Server,并单播发送一个PADR报文。
(4)PPPoE Server产生一个唯一的会话ID(SESSION ID),标识和PPPoE Client的这个会话,通过发送一个PADS报文把会话ID发送给PPPoE Client,如果没有错误,会话建立后便进入PPPoE Session阶段。
-Session阶段
可划分为两部分,一是PPP协商阶段,二是PPP报文传输阶段。
PPPoE Session上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP三个阶段。PPPoE Session的PPP协商成功后,其上就可以承载PPP数据报文。
-Terminate阶段
PPP通信双方应该使用PPP协议自身(比如PPP终结报文)来结束PPPoE会话,但在无法使用PPP协议结束会话时可以使用PADT报文。
包含LCP配置选项的PPP帧如下:
自己去看下各个参数的值怎么对应
2.ARP的步骤以及过程中的具体ARP报文
当主机A要与主机B通信时,地址解析协议ARP可以将主机C的IP地址(192.168.1.3)解析成主机C的MAC地址,以下为工作流程:
Step1:查看路由表项以及本地的ARP缓存表
根据主机A的路由表表项,确认其访问主机C的IP地址为192.168.1.3,然后在主机A本地的ARP缓存表检查是否存在主机C对应的MAC地址,如果存在,则直接根据该地址封装报文并转发;如果不存在,则进行下一步;
Step2:发送ARP请求广播
由于主机A的ARP表中不存在主机C对应的MAC地址,则缓存该数据报文,并以广播方式发送ARP报文。
报文内容如下:
OP字段为1表示该报文为ARP请求报文,ARP请求报文中的源MAC地址以及源IP地址为主机A的MAC和IP地址,目的地址的MAC为全0,目的IP为主机C的IP;
Step3:同一广播域内主机对ARP请求报文进行处理
同一广播域下的主机B、C、D都能够收到该请求报文,但只有主机C会对该ARP报文进行处理,主机C比较自己的IP地址和ARP请求报文中的目的IP地址,发现两者一致,进行如下处理:将ARP请求报文中的源IP地址和源MAC地址(即主机A的IP地址和MAC地址)存入自己的ARP表中。之后以单播方式发送ARP应答报文给主机A;
报文内容如下:
OP字段为2表示该报文为ARP应答报文,源MAC地址和源IP地址为主机C的MAC地址和IP地址,目的MAC地址和目的IP地址为主机A的MAC地址和IP地址;
Step4:主机A对ARP应答报文进行处理
主机A收到ARP应答报文后,将主机C的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将数据报文进行帧封装,并将数据报文发送给主机C。
附:
ARP报文格式
3.已知IP包内容,分析报文内容及作用
47 00 00 44 11 e6 00 00 40 01 62 3c ac 1e 80 3a 3c d2 0e 11 83 07 04 1b c8 38 3e 00 08 00 4d 2a 00 01 00 31
需要了解IP协议的报文结构(P46 4-2图),给的报文信息是十六进制的,在写的时候要写成十进制的,(一个16进制数字是4位),去看下十六进制和十进制的转换,计算完成后根据其协议字段,分析出其数据内容。
例:在该题中,版本为4,首部为28……,自己算下,然后去查IP数据报中协议字段数字,对应起来就行,协议字段含义在压缩包的另一个文件有。
4.一个节点收到两个IP包的首部如下
(1)45 00 05 dc 18 56 20 00 40 01 bb 12 c0 a8 00 01 c0 a8 00 67
(2)45 00 00 15 18 56 00 b9 49 01 e0 20 c0 a8 00 01 c0 a8 00 67
分析并判断这两个IP包是不是同一个数据报的分片?如果是那将二者排序,并判断是否能重组完成。
看标识位,一致则在同一分片,最低位代表MF为1时表示后面还有分片,为0时代表是若干数据包片的最后一个包。中间位是DF标志位,代表不允许分片,DF为0时允许分片,自己算自己算。