计算机网络相关实验
网络实验命令
实验内容
常见网络命令
使用Ping, Ipconfig, Arp, Tracert,Nslookup等常用网络命令验证或接发网络信息
IPCONFIG
- IPConfig可用于显示当前的TCP/IP配置的设置值
- 在使用了动态主机配置协议DHCP的局域网中,IPConfig可以了
- 解计算机是否成功的租用到一个IP地址,如果租用到则可以了解 目前分配到的是什么地址
ipconfig/all
ARP
- ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的MAC地址
- ARP命令用于查询本机ARP缓存中IP地址—>MAC地址的对应关系、 添加或删除静态对应关系等
ARP -s inet_addr eth_addr [if_addr]
添加主机,并将网络地址跟物理地址永久对应Inet_add
r 代表指定的IP地址eth_addr
物理地址if_addr
网卡的IP地址
ARP -d inet_addr [if_addr]
删除由inet_addr
指定的主机ARP -a [inet_addr] [-N if_addr]
显示当前的ARP 信息- 例如:
Arp –s 192.168.10.10 00-50-ff-6c-08-75
- Win7后的部分系统,命令可能改为
netsh
,例如绑定idx号为11的网卡的ip和mac地址netsh -c "i i" add neighbors 11 192.168.0.1 00-01-02-03-04- 05
NETSH
netsh i i show in
查看Idx
添加静态ARP表项
1 | netsh -c "i i" add neighbors 21 "192.168.1.100" "00-0a-35-00-01-23" |
- 在WLAN的ARP表中添加IP192.168.1.100及其对应的Mac地址00-0a-35-00-01-23
- 21为WLAN对应的Idx值
删除ARP表项
1 | netsh -c "i i" del neighbors 21 |
PING
- PING (Packet Internet Groper)是用于测试网络连接量的程序。Ping发送一个即因特网信报控制协议,回声请求消息给目的地并报告是否收到所希望的ICMPecho(ICMP回声应答)。
- Ping是用来检查网络是否通畅或者网络连接速度的命令
- ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占网络资源,导致系统变慢,网速变慢。严禁
ping
入侵作为大多数防火墙的一个基本功能提供给用户进行选择 - 验证与远程计算机的连接。该命令只有在安装了TCP/IP 协议后才可以使用。
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
-t
Ping指定的计算机直到中断。-a
将地址解析为计算机名。-n
count发送count指定的ECHO数据包数。默认值为4 。
TRACERT
- Tracert命令用IP生存时间 (TTL) 字段和
ICMP
错误消息来确定从一个主机到网络上其他主机的路由。 tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
NSLOOKUP
- 用于查询Internet域名信息或诊断DNS 服务器问题的工具
- 监测网络中DNS服务器是否能正确实现域名解析的命令行工具
路由过程中的数据包交换
思考题
输入arp –a
命令,可以查看本机的arp缓存内容。如本机的ARP表是空的(arp -d *
,删除所有信息),则ping 本组相邻机的IP 地址(同网段的真实IP地址),再查看本机的arp 缓存内容,此时是否还是空的?
将相邻机在本机ARP 表中的表项删除(arp -d ip地址
),给相邻机的IP 添加一个静止的错误的MAC地址对应项(arp -s ip MAC
),再PING 相邻机,此时是否能PING 通?
多尝试几次ping www.163.com
操作,比较得到的IP地址。如果两次不一样,考虑原因在哪里?针对不同IP地址,执行tracert ip_address
命令,分析输出结果是否有差异?
扩充
编程模拟ping命令实现
可以基于Socket网络编程,很多的编程语言都有Socket包或函数来供网络编程者调用。(Socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。)
实验过程
ipconfig
查看ip地址
arp查看arp表
arp -d *
删除arp表
ping 同网段下的ip:192.168.43.232
查看arp表
修改arp表中192.168.43.31对应的mac地址看是否能ping
通
ping 192.168.43.31
正常
- 删除
arp
表中的内容
- 增加
192.168.43.31
对应错误的Mac地址
- 发送数据失败
- 将arp中添加的错误项删除
- 再次ping通
tracert
连接www.163.com
nslookup
查询www.baidu.com
域名信息
eNSP网络模拟器
1、安装和配置eNSP 华为官网下载地址 (可能没向个人用户开放,下载不了)
安装过程中有一步骤可选择安装其他程序,该步骤非常重要,包含了WinPcap
、Wireshark
和VirtualBox
三项应用程序的安装。其中,WinPcap
和VirtualBox
为eNSP
正常使用的必备软件,而Wireshark
为eNSP
模拟实验过程中,用来抓取网络设备端口数据报文的工具。
2、常用基本配置命令
1 | system-view // 用用户模式切换到系统配置模式 |
延伸实验
1、将eNSP和PC机的网卡对接
2、在eNSP中使用Wireshark捕获IP报文的方法
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
直通线和交叉线
实验内容
器材
- 5类以上双绞线
- RJ-45水晶头
- 剥线/压线钳
- 双绞线测线仪
制作网线
1、直通线(AA)
端1 | 白橙 | 橙 | 白绿 | 蓝 | 白蓝 | 绿 | 白棕 | 棕 |
---|---|---|---|---|---|---|---|---|
端2 | 白橙 | 橙 | 白绿 | 蓝 | 白蓝 | 绿 | 白棕 | 棕 |
2、交叉线(AB)
端1 | 白橙 | 橙 | 白绿 | 蓝 | 白蓝 | 绿 | 白棕 | 棕 |
---|---|---|---|---|---|---|---|---|
端2 | 白绿 | 绿 | 白橙 | 蓝 | 白蓝 | 橙 | 白棕 | 棕 |
不同的设备之间用直连线,相同设备之间用交叉线。
配置网络服务
实验内容
文件共享 NFS(共享文件)协议
FTP服务 FTP协议
远程桌面 远程桌面连接协议(RDP)
VPN服务(选作) Ipsec、PPTP、L2F、L2TP、GRE等
交换机的配置
相关配置命令
进入系统视图system-view
进入交换机接口配置模式命令interface Ethernet0/0/1
接口配置命令 interface vlan xx
添加管理IP命令 ip address IPV4 IP地址 子网掩码
,如 ip address 10.10.10.1 24
检查配置结果 display current-configuration
创建/删除vlan:
1 | vlan 10 // 创建vlan 10 |
给指定Vlan增加/删除以太网接口:
1 | [sw-Vlan10]port g0/0/1 |
给vlan设置管理IP:
1 | [sw] interface vlan 1 |
配置端口类别成trunk或hybrid类型:
1 | [sw-ethernet0/0/10]port link-type trunk/hybrid |
端口切回access类型(端口缺省都属于access)
1 | [sw-ethernet0/0/10]undo port link-type trunk/hybrid |
给trunk/hybrid端口设置PVID值(缺省ID),因为trunk/hybrid端口可以允许多个Vlan数据通过,所以要设置PVID。
1 | [sw-ethernet0/0/10]port trunk/hybrid pvid Vlan 20 |
设置trunk端口允许通过的Vlan
1 | [sw-ethernet0/0/10]port trunk allow-pass Vlan10 20 |
单个交换机
单台交换机使用VLAN来隔离连接在其上的终端之间的通信
在交换机LSW2上设置2个vlan(不设管理IP),将g0/0/2即PC4放至vlan2下,查看PC3、PC5能否Ping通PC4
多个交换机
PC1和PC3可以ping通,PC2和PC4可以ping通,不同vlan不能ping通
交换机进阶配置
IEEE802.1Q
IEEE802.1Q数据帧标准协议
标记协议标识(TPID):2字节
- 固定值0x8100,表示该帧载有802.1Q标记信息
标记控制信息(TCI):2字节
- Priority:3比特,表示优先级
- Canonical format indicator:1比特,0表示标准以太网格式,1为非标准格式
- VlanID:12比特,表示VID,范围1-4096
IEEE802.1Q工作原理
- 802.1Q数据帧传输对于用户是完全透明的
- Trunk端口:交换机互连的端口,可以识别和发送802.1Q帧
- 交换机在转发数据前会在数据打上个Tag标签(数据进入access口时就会打标签),在到达另一交换机后,再剥去此标签(离开access口时剥离标签)。
交换机端口
以太网端口有三种链路类型:access、hybrid、trunk
Access端口只能允许一个Vlan通过,一般用于连接终端,也是默认的端口类型。
Trunk端口可以允许多个Vlan通过,一般用于交换机之前的连接
Hybrid端口和Trunk端口唯一不同之处在于发送数据时:Hybrid端口即可以允许多个Vlan的报文发送时不打标签,也可以允许多个Vlan的报文发送时打标签。所以Hybrid端口不仅可以用于连接交换机,还可以连接终端。
收报文(打标签)
Access端口收报文:收到一个报文,判断是否有Vlan信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)。
trunk端口收报文:收到一个报文,判断是否有Vlan信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 Vlan的数据进入:如果允许则报文携带原有Vlan标记进行转发,否则丢弃该报文。
hybrid端口收报文:收到一个报文,判断是否有Vlan信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该Vlan的数据进入:如果可以则转发,否则丢弃。
发报文(撕标签)
Access端口发报文:将报文的vlan tag剥离,直接发送出去。
trunk端口发报文:比较端口的PVID和将要发送报文的Vlan信息,如果两者相等则剥离Vlan信息,再发送,否则报文将携带原有的Vlan标记转发。
hybrid端口发报文:
- 判断该Vlan在本端口的属性
- 如果是untag则剥离Vlan信息,再发送,如果是tag则比较端口的PVID和将要发送报文的Vlan信息,如果两者相等则剥离Vlan信息,再发送,否则报文将携带原有的Vlan标记进行转发。
相关命令
设置hybrid端口发报文时执行“撕标签”操作的Vlan,同时也是允许通过Vlan(类似access)
1 | [sw-ethernet0/0/10]port hybrid untagged Vlan 10 20 |
设置hybrid端口发报文时带标签,同时也是允许通过的Vlan(类似trunk)
1 | [sw-ethernet0/0/10]port hybrid tagged Vlan 10 20 |
表格示例
设备名称 | 端口名称 | 所属Vlan | Ip地址、掩码 | 端口属性 |
---|---|---|---|---|
SW1 | G0/0/1 | Vlan10 | ||
G0/0/2 | Vlan100 | |||
G0/0/3 | Vlan20 | |||
G0/0/15 | Vlan10 | |||
PC1 | Vlan10 | 10.0.0.1/24 | ||
PC2 | Vlan100 | 10.0.0.2/24 | ||
PC3 | Vlan20 | 10.0.0.3/24 | ||
SW2 | G0/0/1 | Vlan10 | ||
G0/0/2 | Vlan100 | |||
G0/0/3 | Vlan20 | |||
G0/0/15 | Vlan20 | |||
PC4 | Vlan10 | 10.0.0.4/24 | ||
PC5 | Vlan100 | 10.0.0.5/24 | ||
PC6 | Vlan20 | 10.0.0.6/24 |
trunk实验
只使用Vlan的trunk接口和access接口实现两个二层交换机上属于不同Vlan的PC互通
- Vlan10的PC1可以访问对端Vlan20的PC6
- Vlan10和Vlan10、Vlan20 和Vlan20间均不能通信
- Vlan100和Vlan100的相互通信不受任何影响
LSW1和LSW2的配置截图:
hybrid实验
使用hybrid的端口实现两个二层交换机上属于不同Vlan的PC互通
- PC1(SW1的Vlan10)可以访问PC3(SW2的Vlan20)
- PC2(SW1的Vlan20)可以访问PC3
- PC1不能访问PC2。因为PC2一侧未运行hybrid端口
LSW1和LSW2的部分配置如下:
三层交换机
实验原理
单臂路由:
- 不同网络互连需要网关。
- PC访问其它网段同样需要设置网关。
- 路由器网口可以设置子接口,子接口的数量为4094个,与VLAN个数一致,即一个子接口只能对应一个VLAN,即只能作为一个VLAN的网关。
- 路由器通过子接口可以实现在一个物理接口上设置多个网关对应同样数目的VLAN。
三层交换机:
- 二层、三层交换机都可以设VLAN
- 三层可以给VLAN设虚接口,并给虚接口设IP地址,实现网关、路由等网络层功能(也就是之前提到过的VLAN管理IP)
跨交换机的三层设置核心思想是分别在两个交换机上设置共用的VLAN作为进出口。
跨交换机和同交换机混合的三层设置有两种思路,区别就在于跨交换机的VLAN管理IP设在哪个交换机上。
路由配置命令
设置子接口
1 | [RT1]int GigabitEthernet 0/0/0.1 |
设置静态路由
1 | [SW1]ip route-statics 1.1.2.0 24 1.1.4.2 |
单臂路由
使用单臂路由实现不同vlan互通
R1的相关配置
1 | # |