计算机网络实验整理(B*AA)
常用命令
准备操作
重启网络设备
<h3c>reset saved-configuration
然后选择’Y’
<h3c>reboot
然后先选’N’,再选’Y’
基本操作
进入系统视图
<h3c>system-view
显示系统当前配置
<S1>display current-configuration
修改设备名称
[h3c]sysname R1
进入设备接口
[S1]interface e0/0
[S1]interface g0/0
用dis cur查看当前设备是什么类型的口
接口IP地址配置
[R1-e0/0]ip address 192.168.2.1 24
24同样可以写成255.255.255.0
取消操作
[S1]undo xxx
连接测试
[R1]ping xxx.xxx.xxx.xxx
路由表显示
[R1]display ip routing-table
查看交换机的MAC地址表
[S1]display mac-address
生成树协议
[S1]stp enable
VLAN配置
创建VLAN
[S1]vlan 2
VLAN 1是默认VLAN
向当前VLAN中添加端口
[S1-vlan2]port e1/0/1 to e1/0/3
[S1-vlan2]port e1/0/1 e1/0/2 e1/0/3
三层交换机配置IP
[S1-vlan2]inter vlan 2
[S1-Vlan-interface2]ip add 192.168.1.10 255.255.255.0
三层交换机创建vlan后,具有了路由功能,因此可以在vlan上配置相应端口IP
PPP协议
PAP验证
见考试可参考命令文档
CHAP验证
建考试可参考命令文档
路由配置
静态路由配置
[R1]ip route-static 192.168.2.0 255.255.255.0 192.168.1.1
配置了一条目标网络号192.168.2.0,目标网络子网掩码255.255.255.0,下一跳地址192.168.1.1的静态路由
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.5.1
配置了一条默认路由
RIP协议配置
启动RIP
[R1]rip
在指定网段使能RIP
[R1-rip-1]network 192.168.1.0
OSPF协议配置
标准的OSPF协议配置主要包括配置Router ID,启动OSPF,进入OSPF区域视图,在指定网段使能OSPF四部分
三层交换机由于具备路由功能,综合组网时往往也需要配置OSPF协议,但涉及到具体端口的命令时,使用的是VLAN的接口
配置Router ID
[R1]router id 1.1.1.1
Router ID唯一标志一台路由器
启动OSPF
[R1]ospf
启动OSPF路由进程
进入OSPF区域视图
[R1-ospf-1]area 0
创建区域0
在指定网段使能OSPF
[R1-ospf-1-area-0.0.0.0]network 168.1.1.0 0.0.0.255
在接口(其IP地址所在网段为168.1.1.0,反掩码为0.0.0.255)上启动OSPF并指定所属区域为area 0
引入静态路由至OSPF
[R1-ospf]import-route static
需先配置一条静态路由,然后方可引入至OSPF
OSPF的Cost值配置
[R1]inter e0/0
[R1-e0/0]ospf cost 100
[S1]inter vlan 3
[S1-vlan-interface3]ospf cost 200
重新启动OSPF进程
<R1>reset ospf process
注意是在用户视图内
显示OSPF概要信息
[R1]display ospf statistics
显示OSPF调试信息
<R1>debugging ospf event
<R1>terminal debugging
显示LSA摘要信息
[R1]dispaly ospf lsdb
地址转换配置
地址池
配置地址池,指出公网地址的范围
[R1]acl number 2001
[R1-acl-2001]rule permit source 10.0.0.0 0.0.0.255
[R1-acl-2001]rule deny source any
2001是ACL编号;应用该规则于数据包源地址10.0.0.0,0.0.0.255是反掩码,允许IP地址为10.0.0.0/24的外出数据包
访问控制列表
配置访问控制列表 ,标识允许通过的数据包的内部网络地址
[R1]nat address-group 1
[R1-address-group-1]address 192.168.5.105 192.168.5.109
定义了一个包含5个公网地址的地址池,地址池名称为1
绑定路由器出接口
[R1]interface e0/1
[R1-e0/1]nat outbound 2001 address-group 1
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.5.1
在路由器的出接口上绑定访问控制列表和地址池;在路由表添加静态路由
组网步骤
1. 清空所有设备配置
- 用reset命令
2. 按照组网图连线
-
若有需要则设置监听
如:用不使用的PC监听某路由器的某接口
例:将HUB接在S1和S2之间,PCA接到HUB上,截获交换机之间的trunk链路上的报文
3. 配置各计算机的IP、子网掩码和默认网关
-
网关按照要求配,如果没有可以空着
-
这步操作可以在等待组网过程时进行
-
注意看清是在哪个PC配什么,不要输错!!!
4. 以上步骤完成后,进入超级终端进行相关配置
- 先配置各交换机上的VLAN及相关IP,然后配置各路由器的接口及IP
- 根据要求在相关交换机和路由器上配置RIP或OSPF
- 配置静态路由,使全网互通**(用ping沿路径逐步检查)**
原理
RIP
- 详见教材P158。
- RIP(Routing Information Protocol),即“路由信息协议”,一种动态路由协议,属于TCP/IP协议族。
- 采用距离矢量算法:在相邻路由器之间交换整个路由表,并进行矢量的叠加,最后达到每一个路由器都知道整个网络的路由。
- RIP路由器通过UDP报文交换路由信息。RIP报文分为请求报文(request)和应答报文(response)。
- 触发更新和水平分割。
IP
- 静态路由:由网络管理员在路由器上手工添加路由信息以实现路由目的。
- 动态路由:根据网络结构或流量的变化,路由协议会自动调整路由信息以实现路由。
- 缺省路由(也叫默认路由):Internet上大约99.99%的路由器上都存在一条缺省路由!缺省路由并不一定都是手工配置的静态路由,有时也可以由动态路由协议产生。
ICMP
- ICMP(Internet Control Message Protocol),即“因特网控制报文协议”。
- 报文种类:2种
- 差错报告报文
- 询问报文
- 应用程序:
- ping
- tracert
OSPF
-
详见教材P177。
-
OSPF(Open Shortest Path First),即“开放最短路优先”,一个基于链路状态(Link State)算法的内部网关协议。
-
一些名词
自治系统(Autonomy System)、区域(Area)、区域ID(Area ID)
邻居(Neighbors)和邻接(Adjacencies)
链路状态描述/通告(LSA,Link State Advertisement)、链路状态数据库(LSDB)
指定路由器(DR)、备份指定路由器(BDR)、非此二类的路由器(DRother)
区域边界路由器(ABR)、自治系统边界路由器(ASBR)
-
OSPF报文:
-
直接采用IP报文封装。
-
采用确认和重传机制以保证可靠传输。
-
采用基于DD报文主从关系协商的隐含确认机制。
-
5种报文类型。
Hello报文(Hello Packet)
DD报文(Database Description Packet)
LSR报文(Link State Request Packet)
LSU报文(Link State Update Packet)
LSAck报文(Link State Acknowledge Packet)
-
五类LSA。
LSA type-1:Router
LSA type-2:Network(Net)
LSA type-3:Summary Network(SumNet)
LSA type-4:Asbr-Summary(SumASB)
LSA type-5:AS-External(ASE)
-
FTP
- FTP(File Transfer Protocol),即“文件传输协议”。
- 采用两个TCP连接来传输一个文件,它们是控制连接和数据连接。
DHCP
- DHCP,动态主机配置协议。
- 使网络管理员能够集中管理和自动分配IP网络地址的通信协议。
TCP
-
TCP(Transfer Control Protocol),即“传输控制协议”,工作在网络层协议之上,是一个面向连接的、端到端的、可靠的传输层协议。
-
TCP采用运输连接的方式传送TCP报文,包括连接建立、数据传送和连接释放三个阶段。
- 连接建立:采用三次握手的方式。
- 数据传送
- 连接释放:采用四次握手的方式。
- 最大报文段长度(MSS)
-
慢启动和拥塞避免
-
超时和重传
-
窗口探查技术
问题自检
-
【OSPF】OSPF报文分析?
Hello:发现及维持邻居关系;选举DR、BDR
DD:空DD——选举主从关系;带摘要信息的DD——交换邻居路由器间链路状态数据库的摘要信息
LSR:请求端向对方请求本端缺少或需要更新的LSA
LSU:向发送LSR的一方发送其需要LSA
LSAck:对收到的LSU进行确认
-
【OSPF】DD主从关系协商?
RT1发送只有报文首部的空DD报文,宣称自己是Master,并规定初始序列号为x。I=1表示这是第一个DD报文,报文中不包含LSA摘要,只是为了协商主从关系。M=1说明这不是RT1的最后一个DD报文。
RT2在收到RT1的DD报文后,将RT1的邻居状态改为ExStart,并回应一个空DD报文。由于RT2的Router ID较大,所以在报文中RT2将自己设置为master,并重新规定初始序列号为y。
RT1收到RT2的DD报文后,比较Router ID,同意RT2为Master,并将RT2邻居状态机改为Exchange。
-
【OSPF】DD报文交换?
RT1使用RT2的序列号y发送新DD报文,在报文中RT1设MS=0,说明自己是Slave。并且该报文开始携带RT1的LSDB中的LSA摘要。
RT2收到报文后,将RT1的邻居状态机改为Exchange,在发送新的DD报文时,也携带RT2的LSDB中的LSA的摘要,并且,RT2已将新报文的序列号改为y+1。
上述过程持续进行,RT1通过重复RT2的序列号来确定已经收到RT2报文。RT2通过序列号+1来确认已收到RT1的报文。当RT2发送最后一个DD报文时,将报文中的M=0,表示这是最后一个DD报文。
RT1收到最后一个DD报文后,发现RT2的数据库中有许多LSA是自己没有的,将邻居状态机改为Loading状态。此时RT2也收到了RT1的最后一个DD报文,但RT1的LSA,RT2都已经有了,不需要再请求,直接将RT1的邻居状态机改为full。
R1:Exstart→第三个报文后Exchange→Full
R2:Exchange→收到最后DD报文后R1发现自己有没有Loading -
【OSPF】DR、BDR选举
若未收到其他路由相关信息,Pri>0的路由器,在以组播发送的Hello报文中,将自身Router ID赋给DR字段,声称自己为DR
一段时间后,所有路由器DR选举信息交换完成,每台路由器都有该网络上其他路由器的优先级和Router ID。选优先级高的,若优先级相等,选Router ID大的。由于Router ID全局唯一,所以一定能选出DR、BDR。
-
【OSPF】5类LSA?
Router-LSA:每个路由生成,描述路由链路状态和花费,传到整个区域
Network-LSA:DR生成,描述本网段链路状态,传到整个区域
Net-summary-LSA:ABR生成,描述到本区域每个网段路由,传到除了生成区域外其他区域
Asbr-Summary-LSA:ABR生成,描述本区内部到ASBR路由,传到除了生成区域外其他区域
AS External LSA:ASBR生成,描述了到自治系统外部路由信息,传到整个AS(stub区除外)
-
【OSPF】邻居状态机?
在路由器上执行OSPF调试信息的命令:
<R1>debugging ospf event <R1>terminal debugging
然后断开相关连线,再重连。根据debug显示信息可以画出R1上所有OSPF邻居路由器的邻居状态转移图。
-
【ICMP】tracert命令的原理?
首先tracert送出3个TTL是1的IP UDP数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1,此时TTL等于0.
所以该路由器会将此数据包丢掉,并送回一个 ICMP time exceeded 消息(TTL超时消息,差错报告报文),里面包括发IP包的源地址,IP包的所有内容及路由器的IP地址。
tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2 的数据包,发现第2 个路由器…以此类推
当数据包到达目的地后,该主机则不会送回 ICMP time exceeded消息
一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到 ICMP port unreachable 消息,故可判断到达目的地。
-
【ICMP】ping命令原理?
首先ping命令会先发送一个 ICMP Echo Request(请求包,询问报文)给对端
对端接收到之后, 会返回一个 ICMP Echo Reply(应答包)
若没有返回,就是超时了,会认为指定的网络地址不存在。
-
【TCP】连接建立阶段?
PCA 发送连接请求报文:SYN,SEQ=x
PCB 发送确认报文:SYN,ACK,SEQ=y,ACK=x+1
PCA 发送确认报文:ACK,SEQ=x+1,ACK=y+1
SYN:校验比特(SYN=1的报文占一个序号)
Seq(Sequence Number):序号
ACK:确认比特
Ack(Acknowledgement Number):确认号
TCP 连接的建立过程中,还进行了双方最大报文段长度(MSS,Maximum Segment Size)的协商,使用较小的 MSS 应用于数据传送。
-
【TCP】数据传送阶段?
为了保证传输的可靠性,采用面向字节的方式,每个字节对应一个序号。在连接建立时,双方协商初始序号;在发送数据报文中,序号字段为发送字节的序号;在确认报文中,确认号字段表示了此序号之前的字节均已收到。这样既做到了可靠传输,也做到了全双工通信。
-
【TCP】连接释放阶段?
PCA 发送连接释放请求报文:FIN,SEQ=x
PCB 发送确认报文:ACK,SEQ=y,ACK=x+1(在这之后 PCB 还可以向 PCA 发送数据,但不再接收 PCA 发来的数据)
PCB 发送连接释放请求报文:FIN,ACK,SEQ=y,ACK=x+1(SEQ=y 因为ACK报文不消耗序号)
PCA 发送确认报文:ACK,SEQ=x+1,ACK=y+1(SEQ=x+1 因为FIN报文要消耗序号)
FIN:终止比特
-
【DHCP】过程?
寻找DHCP服务器。
若计算机发现本机无IP地址设定,则广播发送DHCP discover报文,寻找DHCP服务器
分配IP地址
DHCP服务器从尚未分配的IP地址中选取一个分配给DHCP客户机,发送DHCP offer报文
接收IP地址
DHCP客户端收到DHCP offer报文之后,广播回应一个DHCP request报文
IP地址分配确认
DHCP收到request报文后发送DHCP ack报文,告诉客户端可以使用该IP地址
-
【TCP】窗口大小的变化
窗口合拢:窗口持续减小,左向右
窗口张开:窗口变大,右向右
窗口收缩:右边沿向左移动
-
【TCP】
发送窗口上限值=min[cwnd, rwnd]
窗口合拢:窗口持续减小,左向右
窗口张开:窗口变大,右向右
窗口收缩:右边沿向左移动糊涂窗口:接收方通告了小窗口,发送方发送少量数据,导致传输效率降低
发送端:Nagle算法。在连接开始发送数据时,立即按序发送缓存中数据,在已传输数据未确认情况下后续数据发送由数据是否足以填满发送缓存的一半或一个最大报文长度决定。
接收端:推迟确认技术。对收到的报文段进行确认和通告窗口前提是接收缓存可用空间至少达到总空间一半或达到最大报文长度,若条件部门组,推迟发送确认和窗口通告。慢启动&拥塞避免
慢启动:主机开始发送数据时,由小到大逐渐增大cwnd,通常初始cwnd<=2MSS,每收到新ACK,cwnd加1。
拥塞避免:在每收到非重复ACK后,cwnd+SMSS*SMSS/cwnd。也就是每个RTT,cwnd+1。拥塞处理(重复ACK或未按时收到ACK):
ssthresh=max(cwnd/2, 2*MSS)
cwnd=1超时重传:
RTT不变,因为没有ACK。RTO每次重传因为Karn算法加倍。继续正常传输后,RTT一度增大,RTO不加倍,但由于根据RTT计算,所以仍很大。窗口探查:发送方发送keepalive报文向接收方查询窗口变化,发送报文时间差成倍增加。
快重传和快恢复:
快重传:发送端收到连续三个重复ACK后,认为报文丢失且网络正常,立即重传认为丢失的报文。
快恢复:
ssthresh=max(cwnd/2, 2MSS)
cwnd=min[cwnd, 已发送报文数-接收未确认+重传+3]
若发送窗口值仍允许发报文,就按拥塞避免算法继续发该报文。cwnd在每一个非重复ACK后,增加SMSSSMSS/cwnd。
若收到了确认新报文的ACK,则将cwnd缩小到ssthresh
由于网络未真正拥塞,只是偶尔报文出错,所以RTT不变,从而RTO不变。休眠:接收方在窗口范围外可用缓存已被确认的数据占用,应用程序未再从缓存中读取这些已确认数据。
MSS=1518(以太)-18(帧头帧尾)-20(IP首+TCP首)=1460
注意事项
考试时分配的上网地址
IP: 组 号 ∗ 5 + 100 − − − − 组 号 ∗ 5 + 104 组号*5+100 ---- 组号*5+104 组号∗5+100−−−−组号∗5+104
显示本机硬件MAC地址
cmd中:ipconfig /all
上传网络设备配置
-
文件命名:组号座位号-学号姓名。
-
不要传文件夹,可上传多个文件。
-
Windows系统下快速上传四台网络设备配置的步骤。
步骤1:
选择一台未被使用的PC机(否则需要将该PC机的IP地址配置为自动获取),连接上网线。(十几秒钟后,其将自动获取IP地址。)。该计算机将专门用来保存和上传配置。
步骤2:
运行Putty程序,选择“console”,点击“open”,然后敲“回车”键。
步骤3:
将该PC机的console线逐个与网络设备R1、R2、S1和S2的console接口相连,每次均输入简写命令dis cu (完整命令为display current-configuration),敲若干次“空格键”(空格键使设备的配置信息逐屏显示),以显示所连接网络设备全部的当前配置;
步骤4:注意putty软件千万不要用鼠标右键
待全部网络设备的配置信息都显示完毕,点击putty程序的左上角菜单项“copy all to clipboard”。
步骤5:
在电脑桌面创建一个文本文件,将clipboard上的内容粘贴到此文本文件中。此文本文件中存储的就是四台网络设备的全部最终配置,将该文本文件命名为“组号座位号-学号姓名.txt”。
步骤6:
用鼠标双击桌面的快捷方式,如图3所示。登录到FTP服务器,将E盘上的文件上传到FTP服务器的相应目录下。
(FTP服务器地址:ftp://192.168.5.200,也可以使用浏览器访问)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I3Qtp2tE-1623756484770)(计网实验总结.assets/clip_image002.jpg)]
这样,可以在最短的时间内完成考试中配置结果的上传。
-
Linux系统下上传设备配置的步骤。
其操作与前面类似。需要在minicom软件上先显示相关的配置,选中这些配置并复制,将这些内容复制到文本文件中命名和保存。使用gFTP软件连接FTP服务器,最后,将相关文件上传FTP服务器。
点击桌面或者任务栏的gFTP图标,输入ftp服务器地址10.111.1.29,端口号21(可选),或者选ftp,点击左侧的连接图标,用户名密码为空。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6bRsB1Z8-1623756484775)(计网实验总结.assets/0)]
注意:上传文件请尽量不要使用中文命名,ftp://10.111.1.29/share-folder/下面目录都是英文名。
另外,若无法显示中文文件名,则需要修改/usr/bin/gftp这个文件,双击文件图标,选择“显示”,在#!/bin/sh之后加上一行
export LANG=zh_CN
保存并重启gFTP软件即可。
-
意外情况处理:
如果自动获取不成功,请查看该PC机的本地连接设置是否为自动获取IP地址。或者,配置该PC机的IP地址、网关、子网掩码及DNS服务器,按下列配置机器地址:
PC机的IP地址:192.168.5.组号×5
网关:192.168.5.1
子网掩码:255.255.255.0
DNS服务器:202.112.128.50 或者 202.112.128.51
TCP实验注意事项
- 进入Linux操作系统(用户名:root 密码:network)。
- 使用Linux虚拟机,请注意不要与主机的IP地址冲突,请禁用主机上相关的虚拟网卡。
- Linux虚拟机上也要配IP,配完之后需要断开网络再重新连接。
- 基本分析实验:
- TcpTest程序:
- 发送端:send300k
- 接收端:休眠时间、计数器阈值都设为 0
- 先在接收端点“接收”,再在发送端点“发送”
- TcpTest程序:
DHCP注意事项
- 先将各主机设为自动获得IP
- 然后在主机上打开Wireshark开始截获报文
- 报文过滤:Filter: udp.port==67 or udp.port==68
Windows命令行中tracert命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vhAcjoBW-1623756484780)(计网实验总结.assets/image-20210613151205382.png)]
export LANG=zh_CN
保存并重启gFTP软件即可。
-
意外情况处理:
如果自动获取不成功,请查看该PC机的本地连接设置是否为自动获取IP地址。或者,配置该PC机的IP地址、网关、子网掩码及DNS服务器,按下列配置机器地址:
PC机的IP地址:192.168.5.组号×5
网关:192.168.5.1
子网掩码:255.255.255.0
DNS服务器:202.112.128.50 或者 202.112.128.51