新华三c语言程序改错,01-系统维护与调试配置

在日常的系统维护中,用户可以使用ping命令和tracert命令来检查当前网络的连接情况;在日常的系统调试中,用户可以使用debug命令来打开调试信息开关,通过调试信息来诊断系统故障。

通过使用ping命令,用户可以检查指定地址的设备是否可达,测试网络连接是否出现故障。

Ping功能是基于ICMP协议来实现的:源端向目的端发送ICMP回显请求(ECHO-REQUEST)报文后,根据是否收到目的端的ICMP回显应答(ECHO-REPLY)报文来判断目的端是否可达,对于可达的目的端,再根据发送报文个数、接收到响应报文个数以及ping报文的往返时间来判断链路的质量。

1.1.2  Ping配置

表1-1 Ping配置

操作

命令

说明

检查IP网络中的指定地址是否可达

ping [ ip] [ -a source-ip | -c count | -f | -h

ttl | -i interface-type interface-number | -m interval

| -n | -p pad | -q | -r | -s packet-size

| -t timeout | -tos tos | -v| { -mt

topology-name| -vpn-instancevpn-instance-name }

] *host

二者必选其一

ping命令用于IPv4网络环境,pingipv6命令用于IPv6网络环境

两条命令均可在任意视图下执行

ping ipv6

[ -a source-ipv6| -c count| -m interval| -s packet-size| -t timeout | -vpn-instance

vpn-instance-name ] * host [ -i interface-type interface-number]

6c9f21a96cdcc7fa058cac402a55efc0.png

·如果网络传输速度较慢,用户在配置ping命令的超时时间参数-t时,可以适当增大超时时间。

·如果目的端关闭了ping应答功能,会影响ping功能的使用。

·ping lsp命令的详细介绍请参见“MPLS命令参考”中的“MPLS基本配置”。

1. 组网需求

检查Device A与Device C之间是否路由可达,如果路由可达,需要了解Device A到Device C的路由细节。

2. 组网图

f58d3510a03c6b96c4d67b08f92ccc8c.png

3. 配置步骤

# 使用ping命令查看Device A和Device C之间路由是否可达。

ping 1.1.2.2

PING 1.1.2.2: 56  data bytes, press CTRL_C to break

Reply from 1.1.2.2: bytes=56 Sequence=1 ttl=254 time=205 ms

Reply from 1.1.2.2: bytes=56 Sequence=2 ttl=254 time=1 ms

Reply from 1.1.2.2: bytes=56 Sequence=3 ttl=254 time=1 ms

Reply from 1.1.2.2: bytes=56 Sequence=4 ttl=254 time=1 ms

Reply from 1.1.2.2: bytes=56 Sequence=5 ttl=254 time=1 ms

--- 1.1.2.2 ping statistics

---

5 packet(s)

transmitted

5 packet(s)

received

0.00% packet loss

round-trip min/avg/max = 1/41/205 ms

# 了解Device A到Device C的路由细节。

ping -r 1.1.2.2

PING 1.1.2.2: 56  data bytes, press CTRL_C to break

Reply from 1.1.2.2: bytes=56 Sequence=1 ttl=254 time=53 ms

Record Route:

1.1.2.1

1.1.2.2

1.1.1.2

1.1.1.1

Reply from 1.1.2.2: bytes=56 Sequence=2 ttl=254 time=1 ms

Record Route:

1.1.2.1

1.1.2.2

1.1.1.2

1.1.1.1

Reply from 1.1.2.2: bytes=56 Sequence=3 ttl=254 time=1 ms

Record Route:

1.1.2.1

1.1.2.2

1.1.1.2

1.1.1.1

Reply from 1.1.2.2: bytes=56 Sequence=4 ttl=254 time=1 ms

Record Route:

1.1.2.1

1.1.2.2

1.1.1.2

1.1.1.1

Reply from 1.1.2.2: bytes=56 Sequence=5 ttl=254 time=1 ms

Record Route:

1.1.2.1

1.1.2.2

1.1.1.2

1.1.1.1

--- 1.1.2.2 ping statistics

---

5 packet(s)

transmitted

5 packet(s)

received

0.00% packet loss

round-trip min/avg/max = 1/11/53 ms

ping –r的原理如图1-1所示:

(1)源端(Device A)发送RR选项(ICMP报文中的一个字段)为空的ICMP回显请求给目的端(Device C)。

(2)中间设备(Device B)将自己出接口的IP地址(1.1.2.1)添加到ICMP回显请求报文的RR选项中,并转发该报文。

(3)目的端收到请求报文后,发送ICMP回显响应报文,响应报文会拷贝请求报文的RR选项,并将自己出接口的IP地址(1.1.2.2)添加到RR选项中。

(4)中间设备(Device B)将自己出接口的IP地址(1.1.1.2)添加到RR选项中,并转发该报文。

(5)源端收到ICMP回显响应报文,将自己入接口的IP地址(1.1.1.1)添加到RR选项中。最后得到,Device A到Device C具体路由为1.1.1.1 {1.1.1.2; 1.1.2.1} 1.1.2.2。

通过使用tracert命令,用户可以查看IP报文从源端到达目的端所经过的三层设备,从而检查网络连接是否可用。当网络出现故障时,用户可以使用该命令分析出现故障的网络节点。

ed4b3e6ffea8d6e9ec20a7d2cb07f5f4.png

Tracert功能也是基于ICMP协议来实现的,如图1-2所示,Tracert功能的原理为:

(1)源端(Device A)向目的端(Device D)发送一个IP数据报文,TTL值为1,报文的UDP端口号是目的端的任何一个应用程序都不可能使用的端口号;

(2)第一跳(Device B)(即该报文所到达的第一个三层设备)回应一个TTL超时的ICMP错误信息(该报文中含有第一跳的IP地址1.1.1.2),这样源端就得到了第一个三层设备的地址(1.1.1.2);

(3)源端重新向目的端发送一个IP数据报文,TTL值为2;

(4)第二跳(Device C)回应一个TTL超时的ICMP错误信息,这样源端就得到了第二个三层设备的地址(1.1.2.2);

(5)以上过程不断进行,直到该报文到达目的端,因目的端没有应用程序使用该UDP端口,目的端返回一个端口不可达的ICMP错误消息(携带了目的端的IP地址1.1.3.2)。

(6)当源端收到这个端口不可达的ICMP错误消息后,就知道报文已经到达了目的端,从而得到数据报文从源端到目的端所经历的路径(1.1.1.2;1.1.2.2;1.1.3.2)。

1. 配置准备

IPv4网络环境:

·需要在中间设备(源端与目的端之间的设备)上开启ICMP超时报文发送功能。如果中间设备是H3C设备,需要在设备上执行ip ttl-expires enable命令(该命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IP性能优化”)。

·需要在目的端开启ICMP目的不可达报文发送功能。如果目的端是H3C设备,需要在设备上执行ip unreachables enable命令(该命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IP性能优化”)。

·如果源端到目的端路中途经MPLS网络,并且在Tracert过程中需要显示MPLS信息时,还需要在源端和中间设备上使能ICMP携带扩展信息功能。如果源端和中间设备是H3C设备,需要在设备上执行ip icmp-extensions compliant命令(该命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IP性能优化”)。

IPv6网络环境:

·需要在中间设备(源端与目的端之间的设备)上开启设备的ICMPv6超时报文的发送功能。如果中间设备是H3C设备,需要在设备上执行ipv6 hoplimit-expires enable命令(该命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”)。

·需要在目的端开启设备的ICMPv6目的不可达报文的发送功能。如果目的端是H3C设备,需要在设备上执行ipv6 unreachables enable命令(该命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”)。

2. Tracert配置

表1-2 Tracert配置

操作

命令

说明

查看源端到目的端的路由

tracert [ -a

source-ip | -f first-ttl|-m max-ttl |-p port | -q packet-number | { -mt topology-name| -vpn-instance vpn-instance-name }|-w timeout

] * host

二者必选其一

tracert命令用于IPv4网络环境,tracert ipv6命令用于IPv6网络环境

两条命令均可在任意视图下执行

tracert ipv6 [ -f first-ttl

| -m max-ttl | -p port | -q packet-number

| -vpn-instance vpn-instance-name | -w timeout] *

host

6c9f21a96cdcc7fa058cac402a55efc0.png

tracert lsp命令的详细介绍请参见“MPLS命令参考”中的“MPLS基本配置”。

设备提供了种类丰富的调试功能,对于设备所支持的绝大部分协议和功能,系统都提供了相应的调试信息,帮助用户对错误进行诊断和定位。

调试信息的输出可以由两个开关控制:

·协议调试开关,控制是否生成某协议的调试信息。

·屏幕输出开关,控制是否在某个用户屏幕上显示调试信息。

如图1-3所示:假设设备可以为1、2、3三个模块提供调试信息,用户只有将两个开关都打开,调试信息才会在终端显示出来。

3f8087291a5b5b00a6cd89c9f892f428.png

1.3.2  系统调试配置

因为调试信息的生成、输出会影响系统的运行效率,所以,本功能一般在维护人员进行网络故障诊断时使用。调试结束后,请及时关闭相应的调试开关,或者使用undo debugging all命令,关闭所有模块的调试开关。

调试信息的输出与各协议/功能模块的debugging命令以及信息中心的配置有关。在访问终端(包括Console控制台和VTY访问终端)上显示是最常用的调试信息输出方式,用户还可以将调试信息发送到别的输出方向,具体配置请参见“网络管理和监控配置指导”中的“信息中心”。使用以下配置步骤,可以将调试信息输出到访问终端。

操作

命令

说明

开启终端对系统信息的监视功能

terminal monitor

可选

缺省情况下,控制台的监视功能处于开启状态,监视终端的监视功能处于关闭状态

该操作在用户视图下执行

开启终端对调试信息的显示功能

terminal debugging

必选

缺省情况下,控制台对调试信息的显示功能处于关闭状态

该操作在用户视图下执行

打开系统中指定模块的调试开关

debugging { all[ timeout time] | module-name

[ option] }

必选

缺省情况下,所有功能项的调试开关均处于关闭状态

该操作在用户视图下执行

显示系统中已经打开的调试开关

display debugging [interface interface-type interface-number

][module-name ] [ |{ begin | exclude| include} regular-expression]

可选

可在任意视图下执行

6c9f21a96cdcc7fa058cac402a55efc0.png

只有同时配置了debugging、terminal debugging和terminal monitor命令,才能在终端显示调试信息的具体内容。terminal debugging和terminal monitor命令的详细介绍请参见“网络管理和监控命令参考”中的“信息中心”。

1.4  Ping和Tracert配置举例

1. 组网需求

Router A使用Telnet登录Router C失败,现需要确认Router A与Router C之间是否路由可达,如果路由不可达,需要确定故障的网络节点。

2. 组网图

图1-4 Ping和Tracert应用组网图

4770736228fde7c73eae8e904f9cd236.png

3. 配置步骤

(1)使用ping命令查看Router A和Router C之间路由是否可达。

ping 1.1.2.2

PING 1.1.2.2: 56  data bytes, press CTRL_C to break

Request time out

Request time out

Request time out

Request time out

Request time out

--- 1.1.2.2 ping statistics

---

5 packet(s)

transmitted

0 packet(s)

received

100.00% packet loss

(2)路由不可达,使用tracert命令确定故障的网络节点。

# 在Router B上开启ICMP超时报文发送功能。

system-view

[RouterB] ip ttl-expires enable

# 在Router C上开启ICMP目的不可达报文发送功能。

system-view

[RouterC] ip unreachables enable

# 在Router A上使用tracert命令确定故障的网络节点。

[RouterA] tracert 1.1.2.2

traceroute to 1.1.2.2(1.1.2.2)

30 hops max,40 bytes packet, press CTRL_C to break

1  1.1.1.2 14 ms 10 ms 20 ms

2  * * *

3  * * *

4  * * *

5

从上面结果可以看出,Router A和Router C之间路由不可达,Router A和Router B之间路由可达,Router B和Router C之间的连接出了问题。此时可以在Router A和Router C上使用debugging ip icmp命令打开ICMP报文的调试开关,查看设备有没有收发指定的ICMP报文。或者使用display ip routing-table查看有没有到对端的路由。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值