DHCPARPICMPTCP三次握手路由跟踪课程设计Word文件下载.docx
《DHCPARPICMPTCP三次握手路由跟踪课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《DHCPARPICMPTCP三次握手路由跟踪课程设计Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
ICMP是TCP/IP协议族的一个子协议,用于在IP主机和路由器之间传递控制消息。
Traceroute是用于确定IP数据报访问的路径的。
关键词:
DHCP、ARP、ICMP、TCP三次握手、路由跟踪
湖南人文科技学院2010级网络工程专业课程设计项目
一、项目拓扑图:
二、项目需求:
1、内网业务网段繁多,主机繁多,采用R0作为DHCP服务器,为内网主机分配IP地址
2、R1作为三层交换机,既需要实现为内网主机作为网关,还需要实现DHCP中继功能
3、考虑到设备的可管理性,采用远程服务访问DHCP服务器
4、为了得知R3访问R0的过程中经过了哪些设备,采用traceroute进行路径查询
5、抓包分析各个过程
三、各个设备配置脚本
R0:
Router>
enable/*进入特权模式
Router#configureterminal/*进入全局配置模式
Router(config)#hostnameR0/*在全局配置模式下,把主机命名为R0
R0(config)#interfaceEthernet0/0/*进入R0e0/0端口模式
R0(config-if)#ipaddress192.168.1.1255.255.255.0/*为e0/0端口配置IP
R0(config-if)#noshutdown/*开启此端口
R0(config-if)#exit/*退到上一层
R0(config)#iproute192.168.2.0255.255.255.0192.168.1.2/*配置路由
R0(config)#iproute192.168.3.0255.255.255.0192.168.1.2
R0(config)#servicedhcp/*开启DHCP服务器功能
R0(config)#ipdhcppool1/*为DHCP服务器命名为1
R0(config-dhcp)#network192.168.2.0255.255.255.0/*配置IP地址池的子网地址和子网掩码
R0(config-dhcp)#default-router192.168.2.1/*配置IP地址池的缺省网关
R0(config-dhcp)#exit
R0(config)#ipdhcppool2
R0(config-dhcp)#network192.168.3.0255.255.255.0
R0(config-dhcp)#default-router192.168.3.1
R0(config)#ipdhcpexcluded-address192.168.2.1192.168.2.100/*排除不用于动态分配的地址
R0(config)#ipdhcpexcluded-address192.168.3.1192.168.3.100
R0(config)#linevty04/*定义最大允许远程登录的人数
R0(config-line)#passwordip/*为远程登录设置密码
R0(config-line)#login/*设置权限,远程登录要求密码验证
R0(config-line)#end/*退出
R1:
enable
Router#configureterminal
Router(config)#hostnameR1
R1(config)#exit
R1#vlandatabase/*定义vlan数据库
R1(vlan)#vlan2
R1(vlan)#vlan3
R1(vlan)#exit
R1#configureterminal
R1(config)#interfacefastethernet0/0
R1(config-if)#noswitchport
R1(config-if)#ipadd192.168.1.2255.255.255.0
R1(config-if)#noshutdown
R1(config-if)#exit
R1(config)#interfacefastethernet0/1
R1(config-if)#switchportaccessvlan2/*为vlan分配端口
R1(config)#interfacefastethernet0/2
R1(config-if)#switchportaccessvlan3
R1(config)#interfacevlan2
R1(config-if)#ipaddress192.168.2.1255.255.255.0
R1(config-if)#iphelper-address192.168.1.1/*中继的IP
R1(config)#interfacevlan3
R1(config-if)#ipadd192.168.3.1255.255.255.0
R1(config-if)#iphelper-address192.168.1.1
R1(config)#iprouting/*开启IP路由
R1(config)#servicedhcp
R1(config)#ipdhcprelayinformationoption/*开启选择功能
R2:
Router(config)#hostnameR2
R2(config)#noiprouting
R2(config)#interfaceEthernet0/0
R2(config-if)#noshutdown
R2(config-if)#ipaddressdhcp/*动态分配IP
R2(config-if)#end
R3:
Router(config)#hostnameR3
R3(config)#noiprouting
R3(config)#interfaceEthernet0/0
R3(config-if)#noshutdown
R3(config-if)#ipaddressdhcp
R3(config-if)#end
四、实验结果抓包并分析
1、分别在R1的f0/1和f0/0接口抓包分析R2DHCP获取地址的过程(将实验结果及抓包结果附图分析)
当R2执行“ipaddressdhcp”语句时,DHCP服务器R0为其动态分配了ip地址192.168.2.101,如图1。
图1、R2获取ip地址结果
DHCP动态获取地址分为4个过程DHCPDISCOVERY,DHCPOFFER,DHCPREQUEST,DHCPACK,如图2。
图2、DHCP四个工作过程
首先寻找DHCP服务器,ClientR2发送一个“DHCPDISCOVERY”广播包,其源MAC地址为自身cc:
02:
0c:
44:
00:
00,源IP地址为0.0.0.0,目的MAC地址为广播ff:
ff:
ff,目的IP地址为广播255.255.255.255如图3。
当DHCPRelayR1接收到ClientR2的广播后,向DHCPServerR0单播“DHCPDISCOVERY”报文,其源IP为DHCPRelayR1ip地址192.168.2.1,目的IP为192.168.1.1,源MAC为cc:
01:
f0:
00,目的MAC为cc:
00端口号为67,如图4。
图3、ClientR2的“DHCPDISCOVERY”广播
图4、DHCPRelayR1单播“DHCPDISCOVERY”
接着提供IP租用地址,DHCPServerR0在接到DHCPRelayR1单播“DHCPDISCOVERY”后,向DHCPRelayR1单播“DHCPOFFER”,其源IP地址为192.168.1.1,目的IP地址为192.168.2.1,告诉DHCPRelayR1给你客户机提供的租用IP地址为“192.168.2.101”,如图5。
DHCPRelayR1接到DHCPServerR0单播的“DHCPOFFER”后,发出广播“DHCPOFFER”,向想要租约IP地的Client提供一个IP地址为“192.168.2.101”,其源IP地址为192.168.2.1,目的IP地址为255.255.255.255,如图6。
图5、DHCPServerR0向DHCPRelayR1单播报文
图6、DHCPRelayR1广播的“DHCPOFFER”
然后接收IP租约,ClientR2在接收到来自DHCPRelayR1广播的“DHCPOFFER”后,广播一个“DHCPREQUEST”,告诉DHCPRelay,接受IP租约,告诉其他DHCP服务器已经有IP了,请不要为其分配,如图7。
DHCPRelayR1收到来自ClientR2的“DHCPREQUEST”广播后,向DHCPServerR0发出单播“DHCPREQUEST”,告诉DHCPServerR0MAC地址为“cc:
00”的ClientR2接受其提供的IP租约,如图8。
图7、ClientR2接收IP租约的广播
图8、DHCPRelayR1向DHCPServerR0发出的单播“DHCPREQUEST”
最后租约确认,DHCPServerR0向DHCPRelayR1发出单播“DHCPACK”,告诉DHCPRelayR1确认给MAC地址为“cc:
00”的IP租约正式生效,如图9。
DHCPRelayR1在收到DHCPServerR0单播的“DHCPACK”后,广播一个“DHCPACK”,告诉MAC地址为“cc:
00”的ClientR2,DHCPServer已经确认IP为“192.168.2.101”的地址正式生效,如图10。
图9、DHCPServerR0向DHCPRelayR1发出单播“DHCPACK”
图10、DHCPRelayR1发出的广播“DHCPACK”租约确认
2、分别在R1的f0/1和f0/2抓包分析R2pingR3的过程中的ARP、ICMP过程(将实验结果及抓包结果附图分析)
在R2端执行“ping192.168.3.101”时,界面出现“!
!
”,表示能ping通,如图11。
图11、ping命令结果
Ping包括两个过程,一个是ARP寻址过程,一个是ICMP请求通信过程。
ARP工作过程:
首先R2的“Ping192.168.3.101”命令执行时,因为IP地址“192.168.3.101”和“192.168.2.101”不是在同一个网段,所以R2要找到默认网关“192.168.2.1”的MAC地址,它以源MAC地址为cc:
08:
54:
00,源IP地址为192.168.2.101广播,寻找192.168.2.1的MAC地址,如图12。
图12、R2ARP广播寻找“192.168.2.1”的位置
R1在收到广播后,拿“192.168.2.1”和端口IP比对,发现符合,它把自身MAC地址“cc:
00”以单播形式告诉MAC地址为cc:
00,IP地址为192.168.2.101的R2,如图13。
图13、R1ARP单播应答
R3在收到ping命令广播后,为了应答“192.168.2.101”的报文,而它的IP地址和R2不在同一个网段,所以它要寻找本网段默认网关“192.168.3.1”的位置,以cc:
03:
00为源MAC地址,以自身192.168.3.101为源IP地址,广播一个ARP,如图14。
图14、R3广播寻找网关“192.168.3.1”
R1收到广播后,将自身MAC地址“cc:
00”以单播的形式告诉R3,源IP地址为192.168.3.1,源MAC地址为cc:
00,目的IP地址为192.168.3.101,目的MAC地址为cc:
00,如图15。
图15、R1单播告诉R3自身位置
ICMP工作过程:
在ARP工作结束后,R2知道R3的位置,要和R3通信就要经过R1代理,于是R2以源IP为192.168.2.101,源MAC为cc:
00,目的IP为192.168.3.101,目的MAC为cc:
00,想通过R1与R3通信,ICPM类型为8请求与R3通信,如图16。
图16、R2请求与R3通信
R1收到R2请求报文后,以源IP为192.168.2.101,源MAC为cc:
00向R3发出请求,告诉R3“192.168.2.101”请求与其通信,如图17。
图17、R1代理R2请求与R3通信
R3收到R1代理的R2请求通信报文后,马上以源IP为192.168.3.101,源MAC为cc:
00,目的IP为192.168.2.101,目的MAC为cc:
00发出响应报文,表示愿意与“192.168.2.101”通信,如图18。
图18、R3应答愿意通信报文
R1收到R3应答报文后,以源IP为192.168.3.101,源MAC为cc:
00单播的形式告诉“192.168.2.101”R2“192.168.3.101”愿意与其通信,建立连接,如图19。
图19、R1应答R2通信报文
3、分别在R1的f0/2和f0/0接口抓包分析R3远程访问及traceroute路径查询R0的过程(将实验结果及抓包结果附图分析)
在R3上执行“telnet192.168.1.1”命令时,界面出现如图20的结果,表示R3远程登录R0。
图20、远程登录成功界面
R3远程登录R0时,TCP执行三次握手协议。
首先由R3向R0发出请求断,因为“192.168.1.1”和“192.168.3.101”不在同一网段,所以R1被作为交换转发,R3以源IP地址为192.168.3.101,源MAC地址为cc:
00,以目的IP地址为192.168.1.1,目的MAC地址为cc:
00,SYN=1,ACK=0,Seq=0,发出请求,如图21。
R1收到后,以源IP为192.168.3.101,源MAC为cc:
00,目的IP为192.168.1.1,目的MAC为cc:
00,向R0转发R3的请求SYN=1,ACK=0,Seq=0,如图22。
图21、R3发出的请求断
图22、R1转发的请求断
R0在收到R1转发来的R3请求连接包时,以源IP地址为192.168.1.1,源MAC地址为cc:
00向R1发出连接确认SYN=1,ACK=1,Seq=0,如图23。
R1收到此数据包后把源MAC地址改为cc:
00,目的MAC地址改为cc:
00,转发此数据包,告诉R3“192.168.1.1”确认连接。
图23、R0向R1发出包确认连接
R3收到R1转发的R0确认信息后,以源IP地址为192.168.3.101,源MAC地址为cc:
00,向R1发出确认连接,ACK=1,Seq=1,SYN=0,如图24。
R1收到R3的确认连接后,以源IP为192.168.3.101,源MAC为cc:
00,转发R3的确认连接包,远程登录完成。
图24、R3发出确认连接包
在R3上执行“traceroute192.168.1.1”时,界面出现如图25跟踪结果。
图25、traceroute跟踪结果
首先,R3的traceroute以源IP为192.168.3.101,源MAC为cc:
00,目的IP为192.168.1.1,目的MAC为R1MACcc:
00发送出一个TTL为1的数据报,如图26。
图26、R3发出的第一个数据报
当R1收到这个数据报后,它将TTL减1。
此时TTL变成0,所以R1丢掉此数据报,以源IP为192.168.3.1,源MAC为cc:
00向R3送回一个“timetoliveexceededintransit”数据报,告诉R3超时,如图27。
图27、R1会送超时数据报
R3收到这个数据报后,便知道R1这个路由器存在于这个路径上,接着R3把TTL加1的数据报发出,持续此步骤,直到UDP数据报到达目的地址R0时,向R3回送一个“portunreachable”的数据报,R3收到这个数据报后,便知道目的地已经到达,如图28。
图28、目的地到达会送数据报
五、体会与致谢
此次课程设计是完成得最好的一次,全部是本人亲自完成。
在此途中,我虽然遇到很多问题,如DHCP中继问题,ARP代理问题等等。
但是通过网络、问同学和向老师请教都一一解决了,自认为完成得非常优秀。
在此首先感谢自已这几天来的辛苦与努力,感谢彭老师对该《计算机网络》课程的高瞻远瞩的教学和对我们的严格要求,致使我们基础扎实,感谢蓝狐的胡老师对此次课程设计的教学和指导。
六、参考文献
[1]陈代武编著.《计算机网络技术》.北京:
北京大学出版社,2009.
[2]教育部考试中心编著.《全国计算机等级考试四级教程网络工程师》.北京:
高等教育出版社,2010.
[3]雷震甲主编.《网络工程师》.北京:
清华大学出版社,2009
[4](美)W.RichardStevens著.《TCP/IP详解.卷一:
协议》.北京:
机械工业出版社,2000.
[5]谢希仁编著《计算机网络》(第四版)北京:
电子工业出版社,2006,12。
.
教参:
[6]黄叔武编《计算机网络工程教程》北京:
清华大学出版社,1999,7。
[7]李勇帆等《计算机网络》湖北:
武汉大学出版社,2005,8。
[8]高传善等《数据通信与计算机网络》(第2版)北京:
高等教育出版社,2004,12。
[9]JeanWalrandPravinVaraiya著,张艳等译《高性能通信网络》(第2版)北京:
机械工业出版社,2002,2