16-IP性能优化命令
本章节下载: 16-IP性能优化命令 (472.72 KB)
目 录
1.1.2 display inet open-service
1.1.19 ip virtual-reassembly enable
1.1.20 ip virtual-reassembly suppress
1.1.21 ipv6 virtual-reassembly suppress
1.1.28 tcp-proxy congestion-method
display icmp statistics命令用来显示ICMP流量统计信息。
【命令】
display icmp statistics
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
display icmp statistics命令用来显示设备接收和发送的各类ICMP流量的统计信息。
【举例】
# 显示ICMP流量统计信息。
<Sysname> display icmp statistics
Input: bad formats 0 bad checksum 0
echo 175 destination unreachable 0
source quench 0 redirects 0
echo replies 201 parameter problem 0
timestamp 0 information requests 0
mask requests 0 mask replies 0
time exceeded 0 invalid type 0
router advert 0 router solicit 0
broadcast/multicast echo requests ignored 0
broadcast/multicast timestamp requests ignored 0
Output: echo 0 destination unreachable 0
source quench 0 redirects 0
echo replies 175 parameter problem 0
timestamp 0 information replies 0
mask requests 0 mask replies 0
time exceeded 0 bad address 0
packet error 1442 router advert 3
表1-1 display icmp statistics命令显示信息描述表
字段 |
描述 |
bad formats |
输入的格式错误报文数 |
bad checksum |
输入的校验和错误报文数 |
echo |
输入/输出的响应请求报文数 |
destination unreachable |
输入/输出的目的不可达报文数 |
source quench |
输入/输出的源站抑制报文数 |
redirects |
输入/输出的重定向报文数 |
echo replies |
输入/输出的响应应答报文数 |
parameter problem |
输入/输出的参数错误报文数 |
timestamp |
输入/输出的时间戳报文数 |
information requests |
输入的信息请求报文数 |
mask requests |
输入/输出的掩码请求报文数 |
mask replies |
输入/输出的掩码应答报文数 |
invalid type |
输入的非法类型报文数 |
router advert |
输入的路由器公告报文数 |
router solicit |
输入的路由器请求报文数 |
broadcast/multicast echo requests ignored |
输入的广播/组播响应请求丢弃报文数 |
broadcast/multicast timestamp requests ignored |
输入的广播/组播时戳请求丢弃报文数 |
information replies |
输出的信息应答报文数 |
time exceeded |
输入/输出的超时报文数 |
bad address |
输出的目的地址非法报文数 |
packet error |
输出的错误报文数 |
router advert |
输入/输出的路由器公告报文数 |
display inet open-service命令用来显示当前开启的INET业务的信息。
【命令】
display inet open-service
【视图】
系统视图
【缺省用户角色】
network-admin
network-operator
【参数】
【举例】
# 显示当前开启的TCP和UDP业务信息。
<Sysname> dis inet open-service
Service Port Service Name Family Protocal
21 ftpd INET6 TCP
21 ftpd INET4 TCP
22 sshd INET6 TCP
22 sshd INET4 TCP
23 telnetd INET6 TCP
23 telnetd INET4 TCP
表1-2 display inet open-service命令显示信息描述表
字段 |
描述 |
Service Port |
INET业务的端口号 |
Service Name |
INET业务的名称 |
Family |
INET业务所属的协议族名称 |
Protocal |
INET业务所属的协议名称 |
Slot |
INET业务所属的单板/成员设备/PEX |
display ip statistics命令用来显示IP报文统计信息。
【命令】
display ip statistics
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
display ip statistics命令用来显示IP报文统计信息,包括接收报文、发送报文、分片、重组的统计信息。
【举例】
# 显示IP报文统计信息。
<Sysname> display ip statistics
Input: sum 7120 local 112
bad protocol 0 bad format 0
bad checksum 0 bad options 0
dropped 0
Output: forwarding 0 local 27
dropped 0 no route 2
compress fails 0
Reassembling: fragments 0 reassembled 0
dropped 0 timeouts 0
Fragment: fragmented 0 couldn't fragment 0
output frags 0
Forwarded Frags: sum 0
表1-3 display ip statistics命令显示信息描述表
字段 |
描述 |
|
Input: |
sum |
接收报文总数 |
local |
接收的目的地址是本地的报文数 |
|
bad protocol |
未知协议的报文数 |
|
bad format |
格式错误的报文数 |
|
bad checksum |
校验和错误的报文数 |
|
bad options |
选项错误的报文数 |
|
dropped |
接收时丢弃的报文数 |
|
Output: |
forwarding |
转发的报文数 |
local |
本地发送报文数 |
|
dropped |
发送时丢弃的报文数 |
|
no route |
查不到路由的报文数 |
|
compress fails |
压缩失败的报文数 |
|
Reassembling: |
fragments |
收到需要重组的分片报文数 |
reassembled |
重组成功的报文数 |
|
dropped |
重组失败后丢弃的分片报文数 |
|
timeouts |
重组超时的次数 |
|
Fragment: |
fragmented |
分片成功的报文数 |
couldn't fragment |
分片失败的报文数 |
|
output frags |
分片成功并发送的分片报文数 |
|
Forwarded Frags: |
sum |
直接转发的分片报文数 |
【相关命令】
· display ip interface(网络互通命令参考/IP地址)
· reset ip statistics
display rawip命令用来显示RawIP连接摘要信息。
【命令】
display rawip
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
display rawip命令用来显示RawIP连接摘要信息,包括本端IP地址、对端IP地址、使用RawIP socket的协议号等信息。
【举例】
# 显示RawIP连接摘要信息。
<Sysname> display rawip
Local Addr Foreign Addr Protocol PCB
0.0.0.0 0.0.0.0 1 0x0000000000000009
0.0.0.0 0.0.0.0 1 0x0000000000000008
0.0.0.0 0.0.0.0 1 0x0000000000000002
表1-4 display rawip命令显示信息描述表
字段 |
描述 |
Local Addr |
本端IP地址 |
Foreign Addr |
对端IP地址 |
Protocol |
使用RawIP socket的协议号 |
PCB |
协议控制块索引 |
display rawip verbose命令用来显示RawIP连接详细信息。
【命令】
display rawip verbose [ pcb pcb-index ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
pcb pcb-index:显示指定协议控制块索引的RawIP连接详细信息。pcb-index表示协议控制块索引,取值范围为1~16。
【使用指导】
display rawip verbose命令用来显示RawIP连接详细信息,包括socket的创建者、状态、选项、类型、使用的协议号、以及RawIP连接的源IP地址和目的IP地址等信息。
【举例】
# 显示RawIP连接详细信息。
<Sysname> display rawip verbose
Total RawIP socket number: 1
Connection info: src = 0.0.0.0, dst = 0.0.0.0
Creator: ping[320]
State: N/A
Options: N/A
Error: 0
Receiving buffer(cc/hiwat/lowat/drop/state): 0 / 9216 / 1 / 0 / N/A
Sending buffer(cc/hiwat/lowat/state): 0 / 9216 / 512 / N/A
Type: 3
Protocol: 1
Inpcb flags: N/A
Inpcb extflag: N/A
Inpcb vflag: INP_IPV4
TTL: 255(minimum TTL: 0)
Send VRF: 0xffff
Receive VRF: 0xffff
表1-5 display rawip verbose命令显示信息描述表
字段 |
描述 |
Total RawIP socket number |
RawIP socket总数 |
Connection info |
连接信息,分别为源IP地址、目的IP地址 |
Creator |
创建socket的任务名称,括号中为创建者的进程号 |
State |
socket的状态,包括: · NOFDREF:用户已经关闭 · ISCONNECTED:连接已经建立 · ISCONNECTING:正在建立连接 · ISDISCONNECTING:正在断开连接 · ISSMOOTHING:板间数据平滑标志 · CANBIND:套接字可执行bind操作标志 · ASYNC:异步方式 · ISDISCONNECTED:连接已经断开 · PROTOREF:协议强关联 · ISPCBSYNCING:pcb板间同步标志 · N/A:不处于上述状态 |
Options |
socket的选项,包括: · SO_DEBUG:记录套接字的调试信息 · SO_ACCEPTCONN:server端监听连接请求 · SO_REUSEADDR:允许本地地址重复使用 · SO_KEEPALIVE:协议需要查询空闲的连接 · SO_DONTROUTE:设置不查路由表(用于目的地址是直连网络的情况) · SO_BROADCAST:套接字支持广播报文 · SO_LINGER:套接字关闭但仍发送剩余数据 · SO_OOBINLINE:带外数据采用内联方式存储 · SO_REUSEPORT:允许本地端口重复使用 · SO_TIMESTAMP:记录入报文时间戳,只对非连接的协议有效,时间精确到毫秒 · SO_NOSIGPIPE:socket不能发送数据导致返回失败时不创建SIGPIPE · SO_FILTER:设置报文过滤条件,对接收报文有效 · SO_TIMESTAMPNS:和时间戳选项功能类似,时间可以精确到纳秒 · SO_SEQPACKET:发送数据包到套接字缓存区的边界确认标记 · SO_FILLTWAMPTIME:设置TWAMP(双向主动测量协议)时间戳标志 · SO_LOCAL:本地socket选项,支持此选项后,当板号有效时,匹配协议控制块要优先匹配带此标记的且板号相同的控制块 · SO_DONTDELIVER:不上送标志 · N/A:未设置选项 |
Error |
影响socket连接的错误码 |
Receiving buffer (cc/hiwat/lowat/drop/state) |
接收缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间、丢包数和状态,包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · RCVATMARK:接收标记 · N/A:不处于上述状态 |
Sending buffer (cc/hiwat/lowat/state) |
发送缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间和状态,包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · RCVATMARK:接收标记 · N/A:不处于上述状态 |
Type |
使用的socket类型,包括: · 1:SOCK_STREAM,流模式,提供可靠的字节流。TCP协议使用此类型 · 2:SOCK_DGRAM,数据报模式的通信。UDP协议使用此类型 · 3:SOCK_RAW,RAW模式的通信方式 · N/A:不是上述类型 |
Protocol |
使用socket的协议号 |
Inpcb flags |
Internet协议控制块中的标记,包括: · INP_RECVOPTS:接收传入的IP选项 · INP_RECVRETOPTS:接收回应的IP选项 · INP_RECVDSTADDR:接收目的IP地址 · INP_HDRINCL:用户提供整个IP头 · INP_REUSEADDR:重复使用地址 · INP_REUSEPORT:重复使用端口号 · INP_ANONPORT:用户未指定端口 · INP_RECVIF:接收报文时记录报文的入接口 · INP_RECVTTL:携带报文的TTL,仅UDP和RawIP支持 · INP_DONTFRAG:设置不可分片标志 · INP_ROUTER_ALERT:接收携带路由器告警选项的报文,仅RawIP支持 · INP_PROTOCOL_PACKET:标识报文为协议报文 · INP_RCVVLANID:接收报文的VLAN ID,仅UDP和RawIP支持 · INP_RCVMACADDR:接收报文的MAC · INP_SNDBYLSPV:通过MPLS发送 · INP_RECVTOS:携带报文的TOS,仅UDP和RawIP支持 · INP_USEICMPSRC:使用配置的ICMP地址作为源地址 · INP_SYNCPCB:阻塞等待inpcb同步 · INP_LOCAL:匹配INPCB时优先匹配带此标记的本板INPCB · N/A:不是上述标记 |
Inpcb extflag |
Internet协议控制块中的扩展标记,包括: · INP_EXTRCVPVCIDX:接收报文时记录报文的PVC索引 · INP_RCVPWID:接收报文时记录报文的PW ID · INP_EXTRCVICMPERR:接收ICMP差错报文 · INP_EXTFILTER:接收报文时对报文内容进行过滤 · INP_EXTDONTDROP:接收报文时设置报文不要丢弃 · INP_EXLISTEN:当INPCB携带此标记时,将INPCB加入到listen hash表中 · INP_SELECTMATCHSRCBYFIB:通过FIB选择匹配的源 · INP_EXTPRIVATESOCKET:与NSR私有套接字进行关联标记 · INP_EXLISTENNET:当连接加入网段链表时,设置此标志 · INP_EXTRCVICMPERR:接收ICMP差错报文 · INP_EXTFILTER:接收报文时对报文内容进行过滤 · N/A:不是上述标记 |
Inpcb vflag |
Internet协议控制块中的IP版本标记,包括: · INP_IPV4:运用与IPv4通信 · INP_TIMEWAIT:处于等待状态 · INP_ONESBCAST:发送广播报文 · INP_DROPPED:协议丢弃标志 · INP_SOCKREF:socket强关联 · INP_DONTBLOCK:inpcb同步时不能被阻塞 · N/A:不是上述标记 |
TTL(minimum TTL) |
Internet协议控制块中的生存周期,括号中为最小生存周期 |
Send VRF |
发送实例 |
Receive VRF |
接收实例 |
display tcp命令用来显示TCP连接摘要信息。
【命令】
display tcp
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
display tcp命令用来显示TCP连接摘要信息,包括本端IP地址及端口号、对端IP地址及端口号、TCP连接的状态等信息。
【举例】
# 显示TCP连接摘要信息。
<Sysname> display tcp
*: TCP MD5 Connection
Local Addr:port Foreign Addr:port State PCB
*0.0.0.0:21 0.0.0.0:0 LISTEN 0x000000000000c387
192.168.20.200:23 192.168.20.14:1284 ESTABLISHED 0x0000000000000009
192.168.20.200:23 192.168.20.14:1283 ESTABLISHED 0x0000000000000002
表1-6 display tcp命令显示信息描述表
字段 |
描述 |
* |
如果某个连接前有此标识,则表示该TCP连接是采用MD5加密算法认证的连接 |
Local Addr:port |
本端IP地址及端口号 |
Foreign Addr:port |
对端IP地址及端口号 |
State |
TCP连接状态,包括: · CLOSED:服务器收到客户端的关闭连接请求回应后所处的状态 · LISTEN:服务器在等待连接请求时所处的状态 · SYN_SENT:客户端发出连接请求等待服务器回应时所处的状态 · SYN_RCVD:服务器收到客户端连接请求时所处的状态 · ESTABLISHED:服务器和客户端双方建立连接并能进行双向数据传递的状态 · CLOSE_WAIT:服务器收到客户端关闭连接请求时所处的状态 · FIN_WAIT_1:客户端发出关闭连接请求等待服务器回应时所处的状态 · CLOSING:连接双方在向对端发出关闭连接请求后等待对端回应过程中收到对端发出的关闭连接请求时所处的状态 · LAST_ACK:服务器向客户端发出关闭连接请求等待回应时所处的状态 · FIN_WAIT_2:客户端收到服务器关闭连接回应后所处的状态 · TIME_WAIT:客户端收到服务器的关闭连接请求后所处的状态 |
PCB |
协议控制块索引 |
display tcp statistics命令用来显示TCP连接的流量统计信息。
【命令】
display tcp statistics
【视图】
【缺省用户角色】
network-admin
network-operator
【使用指导】
display tcp statistics命令用来显示TCP连接的流量统计信息,包括接收报文、发送报文以及Syncache/syncookie等相关统计信息。
【举例】
# 显示TCP连接的流量统计信息。
<Sysname> display tcp statistics
Received packets:
Total: 4150
packets in sequence: 1366 (134675 bytes)
window probe packets: 0, window update packets: 0
checksum error: 0, offset error: 0, short error: 0
packets dropped for lack of memory: 0
packets dropped due to PAWS: 0
duplicate packets: 12 (36 bytes), partially duplicate packets: 0 (0 bytes)
out-of-order packets: 0 (0 bytes)
packets with data after window: 0 (0 bytes)
packets after close: 0
ACK packets: 3531 (795048 bytes)
duplicate ACK packets: 33, ACK packets for unsent data: 0
Sent packets:
Total: 4058
urgent packets: 0
control packets: 50
window probe packets: 3, window update packets: 11
data packets: 3862 (795012 bytes), data packets retransmitted: 0 (0 bytes)
ACK-only packets: 150 (52 delayed)
unnecessary packet retransmissions: 0
Syncache/syncookie related statistics:
entries added to syncache: 12
syncache entries retransmitted: 0
duplicate SYN packets: 0
reply failures: 0
successfully build new socket: 12
bucket overflows: 0
zone failures: 0
syncache entries removed due to RST: 0
syncache entries removed due to timed out: 0
ACK checked by syncache or syncookie failures: 0
syncache entries aborted: 0
syncache entries removed due to bad ACK: 0
syncache entries removed due to ICMP unreachable: 0
SYN cookies sent: 0
SYN cookies received: 0
SACK related statistics:
SACK recoveries: 1
SACK retransmitted segments: 0 (0 bytes)
SACK blocks (options) received: 0
SACK blocks (options) sent: 0
SACK scoreboard overflows: 0
Other statistics:
retransmitted timeout: 0, connections dropped in retransmitted timeout: 0
persist timeout: 0
keepalive timeout: 21, keepalive probe: 0
keepalive timeout, so connections disconnected: 0
fin_wait_2 timeout, so connections disconnected: 0
initiated connections: 29, accepted connections: 12, established connections:
23
closed connections: 50051 (dropped: 0, initiated dropped: 0)
bad connection attempt: 0
ignored RSTs in the window: 0
listen queue overflows: 0
RTT updates: 3518(attempt segment: 3537)
correct ACK header predictions: 0
correct data packet header predictions: 568
resends due to MTU discovery: 0
packets dropped with MD5 authentication: 0
packets permitted with MD5 authentication: 0
表1-7 display tcp statistics命令显示信息描述表
字段 |
描述 |
|
Received packets: |
Total |
接收的报文总数 |
packets in sequence |
按顺序到达的报文数,括号中为字节数 |
|
window probe packets |
接收的窗口探测报文数 |
|
window update packets |
接收的窗口更新报文数 |
|
checksum error |
接收的校验和错误报文数 |
|
offset error |
接收的偏移量错误报文数 |
|
short error |
接收的报文长度太短的报文数 |
|
packets dropped for lack of memory |
由于内存不足而被丢弃的报文数 |
|
packets dropped due to PAWS |
由于PAWS(防止序号回绕)而被丢弃的报文数 |
|
duplicate packets |
接收的完全重复报文数,括号中为字节数 |
|
partially duplicate packets |
接收的部分重复报文数,括号中为字节数 |
|
out-of-order packets |
接收的顺序错乱的报文数,括号中为字节数 |
|
packets with data after window |
落在接收窗口外的报文数,括号中为字节数 |
|
packets after close |
在连接关闭后到达的报文数 |
|
ACK packets |
接收的ACK确认报文数,括号中为字节数 |
|
duplicate ACK packets |
接收的重复的ACK确认报文数 |
|
ACK packets for unsent data |
接收的确认未发送数据的ACK报文数 |
|
Sent packets: |
Total |
发送的报文总数 |
urgent packets |
发送的紧急数据报文数 |
|
control packets |
发送的控制报文数,括号中为包含的重传数据报文数 |
|
window probe packets |
发送的窗口探测报文数 |
|
window update packets |
发送的窗口更新报文数 |
|
data packets |
发送的数据报文数,括号中为字节数 |
|
data packets retransmitted |
重发的数据报文数,括号中为字节数 |
|
ACK-only packets |
发送的ACK报文数,括号中为延迟ACK报文数 |
|
unnecessary packet retransmissions |
报文非必要重传次数 |
|
Syncache/syncookie related statistics: |
entries added to syncache |
添加的syncache对象数 |
syncache entries retransmitted |
重传的syncache对象数 |
|
duplicate SYN packets |
重复的SYN报文数 |
|
reply failures |
回复失败的报文数 |
|
successfully build new socket |
创建子socket成功数 |
|
bucket overflows |
bucket溢出次数 |
|
zone failures |
内存分配失败次数 |
|
syncache entries removed due to RST |
由于收到RST(复位连接)报文段而删除的syncache对象个数 |
|
syncache entries removed due to timed out |
定时器超时且重传次数超过限制时syncache对象删除数 |
|
ACK checked by syncache or syncookie failures |
接收到ACK报文时查找syncache处理失败数 |
|
syncache entries aborted |
创建子socket失败数 |
|
syncache entries removed due to bad ACK |
由于bad ACK而删除的syncache对象数 |
|
syncache entries removed due to ICMP unreachable |
由于接收到ICMP差错报文导致删除的syncache对象数 |
|
SYN cookies sent |
SYN cookie发送数 |
|
SYN cookies received |
SYN cookie接收数 |
|
SACK related statistics |
SACK recoveries |
通过SACK进行恢复的次数 |
SACK retransmitted segments |
通过SACK进行重传的报文段个数,括号中为字节数 |
|
SACK blocks (options) received |
接收到的带选择性ACK选项的报文数 |
|
SACK blocks (options) sent |
发送的带选择性ACK选项的报文数 |
|
SACK scoreboard overflows |
本地维护的对端缺失报文段记录队列溢出次数 |
|
Other statistics |
retransmitted timeout |
重传定时器超时次数 |
connections dropped in retransmitted timeout |
重传次数超过限制而丢弃的连接数 |
|
persist timeout |
持续定时器超时次数 |
|
keepalive timeout |
存活定时器超时次数 |
|
keepalive probe |
发送的存活探测报文数 |
|
keepalive timeout, so connections disconnected |
存活定时器超时而中断的连接数 |
|
fin_wait_2 timeout, so connections disconnected |
Fin wait 2定时器超时而中断的连接数 |
|
initiated connections |
发起连接次数 |
|
accepted connections |
接受连接次数 |
|
established connections |
已建立连接数 |
|
closed connections(dropped: 0, initiated dropped: 0) |
已关闭连接数目,括号中为意外丢弃连接数(收到对端SYN之后)、主动连接失败数(收到对端SYN之前) |
|
bad connection attempt |
接收到的错误连接报文数 |
|
ignored RSTs in the window |
窗口中忽略的RST报文数 |
|
listen queue overflows |
监听队列溢出次数 |
|
RTT updates(attempt segment) |
RTT更新次数,括号中为发送的报文数 |
|
correct ACK header predictions |
ACK通过首部预测算法的次数 |
|
correct data packet header predictions |
数据报文通过首部预测算法的次数 |
|
resends due to MTU discovery |
由于MTU发现而重传的报文数 |
|
packets dropped with MD5 authentication |
MD5验证丢弃报文数 |
|
packets permitted with MD5 authentication |
MD5验证通过报文数 |
【相关命令】
· reset tcp statistics
display tcp verbose命令用来显示TCP连接详细信息。
【命令】
display tcp verbose [ pcb pcb-index ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
pcb pcb-index:显示指定协议控制块索引的TCP连接详细信息。pcb-index表示协议控制块索引,取值范围为1~16。
【使用指导】
display tcp verbose命令用来显示TCP连接的详细信息,包括socket的创建者、状态、选项、类型、使用的协议号、以及TCP连接的源IP地址及端口号、目的IP地址及端口号、状态等信息。
【举例】
# 显示TCP连接详细信息。
<Sysname> display tcp verbose
TCP inpcb number: 1(tcpcb number: 1)
Connection info: src = 192.168.20.200:179 , dst = 192.168.20.14:4181
Creator: bgpd[199]
State: ISCONNECTED
Options: N/A
Error: 0
Receiving buffer(cc/hiwat/lowat/drop/state): 0 / 65700 / 1 / 0 / N/A
Sending buffer(cc/hiwat/lowat/state): 0 / 65700 / 512 / N/A
Type: 1
Protocol: 6
Inpcb flags: N/A
Inpcb extflag: N/A
Inpcb vflag: INP_IPV4
TTL: 255(minimum TTL: 0)
Connection state: ESTABLISHED
TCP options: TF_REQ_SCALE TF_REQ_TSTMP TF_SACK_PERMIT TF_NSR
NSR state: READY(M)
Send VRF: 0x0
Receive VRF: 0x0
Error count in abnormal-packet-defend period: 0
Checksum errors: 0
Duplicate packets: 0
Part-Duplicate packets: 0
Out-of-order packets: 0
Duplicate ACK packets: 0
Out-of-order ACK packets: 0
Packets with data out of window: 0
MD5 authentication errors: 0
Keychain authentication errors: 0
Timestamp errors: 0
表1-8 display tcp verbose命令显示信息描述表
字段 |
描述 |
TCP inpcb number |
TCP类型internet协议控制块个数 |
tcpcb number |
TCP控制块个数(处于TIME_WAIT状态的TCP则没有此计数) |
Connection info |
连接信息,分别为源IP地址及端口号、目的IP地址及端口号 |
Creator |
创建socket的任务名称,括号中为创建者的进程号 |
State |
socket的状态,包括: · NOFDREF:用户已经关闭 · ISCONNECTED:连接已经建立 · ISSMOOTHING:板间数据平滑标志 · CANBIND:套接字可执行bind操作标志 · ISCONNECTING:正在建立连接 · ISDISCONNECTING:正在断开连接 · ASYNC:异步方式 · ISDISCONNECTED:连接已经断开 · PROTOREF:协议强关联 · ISPCBSYNCING:PCB板间同步标志 · N/A:不处于上述状态 |
Options |
socket的选项,包括: · SO_DEBUG:记录套接字的调试信息 · SO_ACCEPTCONN:server端监听连接请求 · SO_REUSEADDR: 允许本地地址重复使用 · SO_KEEPALIVE:协议需要查询空闲的连接 · SO_DONTROUTE:设置不查路由表,由于目的地址是直连网络的情况 · SO_BROADCAST:套接字支持广播报文 · SO_LINGER:套接字关闭但仍发送剩余数据 · SO_OOBINLINE:带外数据采用内联方式存储 · SO_REUSEPORT:允许本地端口重复使用 · SO_TIMESTAMP:入报文记录时间戳,只对非连接的协议有效,时间精确到毫秒 · SO_NOSIGPIPE:socket不能发送数据导致返回失败时不创建SIGPIPE · SO_TIMESTAMPNS:和时间戳选项功能类似,时间可以精确到纳秒 · SO_KEEPALIVETIME:设置空闲探测时间 · SO_SEQPACKET:发送数据包到套接字缓存区的边界确认标记 · SO_USCBINDEX:获取接收报文里的User Profile索引 · SO_FILLTWAMPTIME:设置TWAMP(双向主动测量协议)时间戳标志 · SO_LOCAL:本地socket选项,支持此选项后,当板号有效时,匹配协议控制块要优先匹配带此标记的且板号相同的控制块 · SO_DONTDELIVER:不上送标志 · N/A:未设置选项 |
Error |
影响socket连接的错误码 |
Receiving buffer(cc/hiwat/lowat/drop/state) |
接收缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间、丢包数和状态,状态的取值包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · RCVATMARK:接收标记 · N/A:不处于上述状态 |
Sending buffer(cc/hiwat/lowat/state) |
发送缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间和状态,状态的取值包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · RCVATMARK:接收标记 · N/A:不处于上述状态 |
Type |
使用的socket类型,类型的取值包括: · 1:SOCK_STREAM,流模式,提供可靠的字节流。TCP协议使用此类型 · 2:SOCK_DGRAM,数据报模式的通信。UDP协议使用此类型 · 3:SOCK_RAW,RAW模式的通信方式 · N/A:不是上述类型 |
Protocol |
使用socket的协议号 |
Inpcb flags |
Internet协议控制块中的标记,标记的取值包括: · INP_RECVOPTS:接收传入的IP选项 · INP_RECVRETOPTS:接收回应的IP选项 · INP_RECVDSTADDR:接收目的IP地址 · INP_HDRINCL:用户提供整个IP头 · INP_REUSEADDR:重复使用地址 · INP_REUSEPORT:重复使用端口号 · INP_ANONPORT:用户未指定端口 · INP_RECVIF:接收报文时记录报文的入接口 · INP_RECVTTL:携带报文的TTL,仅UDP和RawIP支持 · INP_DONTFRAG:设置不可分片标志 · INP_ROUTER_ALERT:接收携带路由器告警选项的报文,仅RawIP支持 · INP_PROTOCOL_PACKET:标识报文为协议报文 · INP_RCVVLANID:接收报文的VLAN ID,仅UDP和RawIP支持 · INP_RCVMACADDR:接收报文的MAC · INP_RECVTOS:携带报文的TOS,仅UDP和RawIP支持 · INP_SYNCPCB:阻塞等待inpcb同步 · INP_LOCAL:匹配INPCB时优先匹配带此标记的本板INPCB · N/A:不是上述标记 |
Inpcb extflag |
Internet协议控制块中的扩展标记,标记的取值包括: · INP_EXTRCVPVCIDX:接收报文时记录报文的PVC索引 · INP_RCVPWID:接收报文时记录报文的PW ID · INP_EXTFILTER:接收报文时对报文内容进行过滤 · INP_SELECTMATCHSRCBYFIB:通过FIB选择匹配的源 · INP_EXTRCVICMPERR:接收ICMP差错报文 · INP_EXTPRIVATESOCKET:与NSR私有套接字进行关联标记 · INP_EXLISTENNET:当连接加入网段链表时,设置此标志 · N/A:不是上述标记 |
Inpcb vflag |
Internet协议控制块中的IP版本标记,标记的取值包括: · INP_IPV4:运用与IPv4通信 · INP_TIMEWAIT:处于等待状态 · INP_ONESBCAST:发送广播报文 · INP_DROPPED:协议丢弃标志 · INP_SOCKREF:socket强关联 · INP_DONTBLOCK:inpcb同步时不能被阻塞 · N/A:不是上述标记 |
TTL |
Internet协议控制块中的生存周期,括号中为最小生存周期 |
Connection state |
TCP连接状态,包括: · CLOSED:服务器收到客户端的关闭连接请求回应后所处的状态 · LISTEN:服务器在等待连接请求时所处的状态 · SYN_SENT:客户端发出连接请求等待服务器回应时所处的状态 · SYN_RCVD:服务器收到客户端连接请求时所处的状态 · ESTABLISHED:服务器和客户端双方建立连接并能进行双向数据传递的状态 · CLOSE_WAIT:服务器收到客户端关闭连接请求时所处的状态 · FIN_WAIT_1:客户端发出关闭连接请求等待服务器回应时所处的状态 · CLOSING:连接双方在向对端发出关闭连接请求后等待对端回应过程中收到对端发出的关闭连接请求时所处的状态 · LAST_ACK:服务器向客户端发出关闭连接请求等待回应时所处的状态 · FIN_WAIT_2:客户端收到服务器关闭连接回应后所处的状态 · TIME_WAIT:客户端收到服务器的关闭连接请求后所处的状态 |
TCP options |
TCP的选项类型,包括: · TF_ACKNOW:立即回复ACK报文 · TF_DELACK:延时回复ACK报文 · TF_SENTFIN:已经发送FIN标志 · TF_RCVD_SCALE:请求接收窗口因子 · TF_RCVD_TSTMP:接收时间戳 · TF_NEEDSYN:发送SYN标志 · TF_NEEDFIN:发送FIN标志 · TF_MORETOCOME:更多的数据加入连接 · TF_LQ_OVERFLOW:监听队列溢出 · TF_LASTIDLE:连接空闲标志 · TF_RXWIN0SENT:接受到窗口为0时的响应 · TF_FASTRECOVERY:进入NewReno Fast Recovery模式 · TF_WASFRECOVERY:处于NewReno Fast Recovery模式 · TF_SIGNATURE:MD5校验标志 · TF_FORCEDATA:强制发送一个字节数据标志 · TF_TSO:当前连接使能TSO(协议栈推迟分段) · TF_PMTU:支持rfc1191 · TF_PMTUD:开始PMTU探测 · TF_PASSIVE_CONN:被动连接标志 · TF_APP_SEND:应用程序发送数据标志 · TF_NODELAY:关闭延时ACK · TF_NOOPT:TCP不使用选项 · TF_NOPUSH:对写入的最后部分不进行PUSH操作 · TF_NOTIMEWAIT:关闭TIMEWAIT状态 · TF_NSR:使能TCP NSR · TF_REQ_SCALE:使能窗口缩放因子选项 · TF_REQ_TSTMP:使能时间戳选项 · TF_SACK_PERMIT:使能选择性ACK选项 · TF_ENHANCED_AUTH:使能增强认证选项 |
NSR state |
TCP连接NSR状态,可能的状态如下: · CLOSED:关闭(初始)状态 · CLOSING:连接待关闭状态 · ENABLED:使能备份功能状态 · OPEN:连接开始同步状态 · PENDING: 连接判定状态 · READY:连接备份就绪状态 · SMOOTH:连接平滑状态 角色:M表示主连接、S表示备份连接 |
Send VRF |
发送实例 |
Receive VRF |
接收实例 |
Error count in abnormal-packet-defend period |
开启TCP连接的防攻击功能后,一个周期内接收到的错误报文数量 |
Checksum errors |
接收的校验和错误报文数 |
Duplicate packets |
接收的重复报文数 |
Part-Duplicate packets |
接收的部分重复报文数 |
Out-of-order packets |
接收的发送序号乱序报文数 |
Duplicate ACK packets |
接收的重复ACK报文数 |
Out-of-order ACK packets |
接收的序号错误的ACK报文数 |
Packets with data out of window |
接收的序号不在滑动窗口范围内报文数 |
MD5 authentication errors |
MD5认证失败报文数 |
Keychain authentication errors |
Keychain认证失败报文数 |
Timestamp errors |
时间戳错误报文数 |
display udp命令用来显示UDP连接摘要信息。
【命令】
display udp
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
display udp命令用来显示UDP连接摘要信息,包括本端IP地址及端口号、对端IP地址及端口号等信息。
【举例】
# 显示UDP连接摘要信息。
<Sysname> display udp
Local Addr:port Foreign Addr:port PCB
0.0.0.0:69 0.0.0.0:0 0x0000000000000003
192.168.20.200:1024 192.168.20.14:69 0x0000000000000002
表1-9 display udp命令显示信息描述表
字段 |
描述 |
Local Addr:port |
本端IP地址及端口号 |
Foreign Addr:port |
对端IP地址及端口号 |
PCB |
协议控制块索引 |
display udp statistics命令用来显示UDP流量统计信息。
【命令】
display udp statistics
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
display udp statistics命令用来显示UDP流量统计信息,包括接收和发送的各类UDP报文信息。
【举例】
# 显示UDP流量统计信息。
<Sysname> display udp statistics
Received packets:
Total: 240
checksum error: 0, no checksum: 0
shorter than header: 0, data length larger than packet: 0
no socket on port(unicast): 0
no socket on port(broadcast/multicast): 240
not delivered, input socket full: 0
Sent packets:
Total: 0
表1-10 display udp statistics命令显示信息描述表
字段 |
描述 |
|
Received packets: |
Total |
接收的UDP报文总数 |
checksum error |
校验和出错的报文数 |
|
no checksum |
没有校验和的报文数 |
|
shorter than header |
报文长度比报文头部短的报文数 |
|
data length larger than packet |
报文数据长度超过报文长度的报文数 |
|
no socket on port(unicast) |
端口上无socket的单播报文数 |
|
no socket on port(broadcast/multicast) |
端口上无socket的广播和组播报文数 |
|
not delivered, input socket full |
因为socket缓冲区已满而未向上层传送的报文数 |
|
Sent packets: |
Total |
发送的UDP报文总数 |
【相关命令】
· reset udp statistics
display udp verbose命令用来显示UDP连接详细信息。
【命令】
display udp verbose [ pcb pcb-index ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
pcb pcb-index:显示指定协议控制块索引的UDP连接详细信息。pcb-index表示协议控制块索引,取值范围为1~16。
【使用指导】
display udp verbose命令用来显示UDP连接的详细信息,包括socket的创建者、状态、选项、类型、使用的协议号、以及UDP连接的源IP地址及端口号、目的IP地址及端口号等信息。
【举例】
# 显示UDP连接详细信息。
<Sysname> display udp verbose
Total UDP socket number: 1
Connection info: src = 0.0.0.0:69, dst = 0.0.0.0:0
Creator: sock_test_mips[250]
State: N/A
Options: N/A
Error: 0
Receiving buffer(cc/hiwat/lowat/drop/state): 0 / 41600 / 1 / 0 / N/A
Sending buffer(cc/hiwat/lowat/state): 0 / 9216 / 512 / N/A
Type: 2
Protocol: 17
Inpcb flags: N/A
Inpcb extflag: N/A
Inpcb vflag: INP_IPV4
TTL: 255(minimum TTL: 0)
Send VRF: 0xffff
Receive VRF: 0xffff
表1-11 display udp verbose命令显示信息描述表
字段 |
描述 |
Total UDP socket number |
UDP socket总数 |
Connection info |
连接信息,分别为源IP地址及端口号、目的IP地址及端口号 |
Creator |
创建socket的任务名称,括号中为创建者的进程号 |
State |
socket的状态,可能的状态如下: · NOFDREF:用户已经关闭 · ISCONNECTED:连接已经建立 · ISCONNECTING:正在建立连接 · ISDISCONNECTING:正在断开连接 · ASYNC:异步方式 · ISDISCONNECTED:连接已经断开 · ISSMOOTHING:板间数据平滑标志 · CANBIND:套接字可执行bind操作标志 · PROTOREF:协议强关联 · ISPCBSYNCING:PCB板间同步标志 · N/A:不处于上述状态 |
Options |
socket的选项,有以下几种: · SO_DEBUG:记录套接字的调试信息 · SO_ACCEPTCONN:server端监听连接请求 · SO_REUSEADDR: 允许本地地址重复使用 · SO_KEEPALIVE:协议需要查询空闲的连接 · SO_DONTROUTE:设置不查路由表,由于目的地址是直连网络的情况 · SO_BROADCAST:套接字支持广播报文 · SO_LINGER:套接字关闭但仍发送剩余数据 · SO_OOBINLINE:带外数据采用内联方式存储 · SO_REUSEPORT:允许本地端口重复使用 · SO_TIMESTAMP:入报文记录时间戳,只对非连接的协议有效,时间精确到毫秒 · SO_NOSIGPIPE:socket不能发送数据导致返回失败时不创建SIGPIPE · SO_TIMESTAMPNS:和时戳选项功能类似,时间可以精确到纳秒 · SO_SEQPACKET:发送数据包到套接字缓存区的边界确认标记 · SO_USCBINDEX:获取接收报文里的User Profile索引 · SO_FILLTWAMPTIME:设置TWAMP(双向主动测量协议)时间戳标志 · SO_LOCAL:本地socket选项,支持此选项后,当板号有效时,匹配协议控制块要优先匹配带此标记的且板号相同的控制块 · SO_DONTDELIVER:不上送标志 · N/A:未设置选项 |
Error |
影响socket连接的错误码 |
Receiving buffer(cc/hiwat/lowat/drop/state) |
接收缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间、丢包数和状态,状态的取值有: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · RCVATMARK:接收标记 · N/A:不处于上述状态 |
Sending buffer(cc/hiwat/lowat/state) |
发送缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间和状态,状态的取值有: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · RCVATMARK:接收标记 · N/A:不处于上述状态 |
Type |
使用的socket类型,类型的取值有: · 1:SOCK_STREAM,流模式,提供可靠的字节流。TCP协议使用此类型 · 2:SOCK_DGRAM,数据报模式的通信。UDP协议使用此类型 · 3:SOCK_RAW,RAW模式的通信方式 · N/A:不是上述类型 |
Protocol |
使用socket的协议号 |
Connection info |
连接信息,分别为源IP地址及端口号、目的IP地址及端口号 |
Connection info |
连接信息,分别为源IP地址及端口号、目的IP地址及端口号 |
Inpcb flags |
Internet协议控制块中的标记,标记的取值有: · INP_RECVOPTS:接收传入的IP选项 · INP_RECVRETOPTS:接收回应的IP选项 · INP_RECVDSTADDR:接收目的IP地址 · INP_HDRINCL:用户提供整个IP头 · INP_REUSEADDR:重复使用地址 · INP_REUSEPORT:重复使用端口号 · INP_ANONPORT:用户未指定端口 · INP_RECVIF:接收报文时记录报文的入接口 · INP_RECVTTL:携带报文的TTL,仅UDP和RawIP支持 · INP_DONTFRAG:设置不可分片标志 · INP_ROUTER_ALERT:接收携带路由器告警选项的报文,仅RawIP支持 · INP_PROTOCOL_PACKET:标识报文为协议报文 · INP_RCVVLANID:接收报文的VLAN ID,仅UDP和RawIP支持 · INP_RCVMACADDR:接收报文的MAC · INP_RECVTOS:携带报文的TOS,仅UDP和RawIP支持 · INP_SYNCPCB:阻塞等待inpcb同步 · INP_LOCAL:匹配INPCB时优先匹配带此标记的本板INPCB · N/A:不是上述标记 |
Inpcb extflag |
Internet协议控制块中的扩展标记,标记的取值有: · INP_EXTRCVPVCIDX:接收报文时记录报文的PVC索引 · INP_RCVPWID:接收报文时记录报文的PW ID · INP_EXTDONTDROP:接收报文时设置报文不要丢弃 · INP_EXLISTEN:当INPCB携带此标记时,将INPCB加入到listen hash表中 · INP_EXTFILTER:接收报文时对报文内容进行过滤 · INP_SELECTMATCHSRCBYFIB:通过FIB选择匹配的源 · INP_EXTRCVICMPERR:接收ICMP差错报文 · INP_EXTPRIVATESOCKET:与NSR私有套接字进行关联标记 · INP_EXLISTENNET:当连接加入网段链表时,设置此标志 · N/A:不是上述标记 |
Inpcb vflag |
Internet协议控制块中的IP版本标记,标记的取值有: · INP_IPV4:运用与IPv4通信 · INP_TIMEWAIT:处于等待状态 · INP_ONESBCAST:发送广播报文 · INP_DROPPED:协议丢弃标志 · INP_SOCKREF:socket强关联 · INP_DONTBLOCK:inpcb同步时不能被阻塞 · N/A:不是上述标记 |
TTL |
Internet协议控制块中的生存周期,括号中为最小生存周期 |
Send VRF |
发送实例 |
Receive VRF |
接收实例 |
ip forward-broadcast命令用来配置允许接口接收和转发直连网段的定向广播报文。
undo ip forward-broadcast命令用来禁止接口接收和转发直连网段的定向广播报文。
【命令】
ip forward-broadcast
undo ip forward-broadcast
【缺省情况】
设备禁止转发直连网段的定向广播报文;设备允许接收直连网段的定向广播报文。
【视图】
接口视图
【缺省用户角色】
network-admin
【使用指导】
定向广播报文是指发送给特定网络的广播报文。该报文的目的IP地址中网络号码字段为特定网络的网络号,主机号码字段为全1。
接口接收和转发直连网段的定向广播报文包括以下几种情况:
· 在接收定向广播报文的情况下,如果在接口上配置了此命令,设备允许接收此接口直连网段的定向广播报文。
· 在转发定向广播报文的情况下,如果在接口上配置了此命令,设备从其他接口接收到目的地址为此接口直连网段的定向广播报文时,会从此接口转发此类报文。
在上述情况下,用户可以通过命令配置接口允许接收和转发直连网段的定向广播报文。
【举例】
# 配置允许VLAN接口2接收和转发面向直连网段的定向广播报文。
<Sysname> system-view
[Sysname] interface vlan-interface 2
[Sysname-Vlan-interface2] ip forward-broadcast
ip icmp error-interval用来配置发送ICMP差错报文对应的令牌刷新周期和令牌桶容量。
undo ip icmp error-interval用来恢复缺省情况
【命令】
ip icmp error-interval interval [ bucketsize ]
undo ip icmp error-interval
【缺省情况】
令牌刷新周期为100毫秒,令牌桶容量为10。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
interval:令牌刷新周期,取值范围0~2147483647,单位为毫秒。取值为0时,表示不限制ICMP差错报文的发送。
bucketsize:令牌桶中容纳的令牌数,取值范围1~200。
【使用指导】
如果网络中短时间内发送的ICMP差错报文过多,将可能导致网络拥塞。为了避免这种情况,用户可以控制设备在指定时间内发送ICMP差错报文的最大数目,目前采用令牌桶算法来实现。
用户可以设置令牌桶的容量,即令牌桶中可以同时容纳的令牌数;同时可以设置令牌桶的刷新周期,即每隔多长时间发放一个令牌到令牌桶中,直到令牌桶中的令牌数达到配置的容量。一个令牌表示允许发送一个ICMP差错报文,每当发送一个ICMP差错报文,则令牌桶中减少一个令牌。如果连续发送的ICMP差错报文超过了令牌桶的容量,则后续的ICMP差错报文将不能被发送出去,直到按照所设置的刷新频率将新的令牌放入令牌桶中。
【举例】
# 配置设备发送ICMP差错报文对应的令牌刷新周期为200毫秒,令牌桶容量为40。
<Sysname> system-view
[Sysname] ip icmp error-interval 200 40
ip icmp source命令用来指定ICMP报文源地址。
undo ip icmp source命令用来删除指定的ICMP报文源地址。
【命令】
ip icmp source ip-address
undo ip icmp source
【缺省情况】
未指定ICMP报文源地址。
发送ICMP差错报文(TTL超时、端口不可达和参数错误等)时,设备使用触发ICMP差错报文的原始报文的入接口IP地址作为ICMP报文源地址。
发送ICMP echo request报文时,设备使用出接口IP地址作为ICMP报文源地址。
发送ICMP echo reply报文时,设备使用ICMP echo request报文的目的地址作为ICMP报文源地址。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
ip-address:表示设备发送ICMP报文时指定的源地址。
【使用指导】
在网络中IP地址配置较多的情况下,收到ICMP报文时,用户很难根据报文的源IP地址判断报文来自哪台设备。为了简化这一判断过程,可以配置ICMP报文指定源地址功能。用户配置特定地址(如环回口地址)为ICMP报文的源地址,可以简化判断。
设备发送ICMP差错报文(TTL超时、端口不可达和参数错误等)和ping echo request报文时,都可以通过上述命令指定报文的源地址。
【举例】
# 配置设备发送ICMP报文时指定的源地址为1.1.1.1。
<Sysname> system-view
[Sysname] ip icmp source 1.1.1.1
ip mtu命令用来配置接口上发送IPv4报文的MTU。
undo ip mtu命令用来恢复缺省情况。
【命令】
ip mtu mtu-size
undo ip mtu
【缺省情况】
未配置接口上发送IPv4报文的MTU。
【视图】
接口视图
【缺省用户角色】
network-admin
【参数】
mtu-size:MTU的大小,单位为字节,取值范围为128~1587。
【使用指导】
当设备使用某个接口发送报文时,发现报文长度大于该接口的发送IPv4报文的MTU值,则进行下列处理:
· 如果报文不允许分片,则将报文丢弃;
· 如果报文允许分片,则将报文进行分片转发。
为了减轻转发设备在传输过程中的分片和重组数据包的压力,更高效的利用网络资源,请根据实际组网环境设置合适的接口发送IPv4报文的MTU值,以减少分片的发生。
如果当前接口同时支持mtu和ip mtu命令,则设备会以ip mtu命令配置的接口发送IPv4报文的MTU值对报文进行分片,不会再按照mtu命令配置的MTU值对报文进行分片。
【举例】
# 配置VLAN接口100上发送IPv4报文的MTU值为1280字节。
<Sysname> system-view
[Sysname] interface vlan-interface 100
[Sysname-Vlan-interface100] ip mtu 1280
ip redirects enable命令用来开启设备的ICMP重定向报文的发送功能。
undo ip redirects enable命令用来关闭设备的ICMP重定向报文的发送功能。
【命令】
ip redirects enable
undo ip redirects enable
【缺省情况】
ICMP重定向报文发送功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
ICMP重定向报文发送功能可以简化主机的管理,使具有很少选路信息的主机逐渐建立较完善的路由表,从而找到最佳路由。
主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由。当满足一定的条件时,缺省网关会向源主机发送ICMP重定向报文,通知主机重新选择正确的下一跳进行后续报文的发送。
同时满足下列条件时,设备会发送ICMP重定向报文:
· 接收和转发数据报文的接口是同一接口;
· 报文的源IP地址和报文接收接口的IP地址在同一个网段;
· 数据报文中没有源路由选项。
【举例】
# 开启设备的ICMP重定向报文发送功能。
<Sysname> system-view
[Sysname] ip redirects enable
ip ttl-expires enable命令用来开启设备的ICMP超时报文的发送功能。
undo ip ttl-expires enable命令用来关闭设备的ICMP超时报文的发送功能。
【命令】
ip ttl-expires enable
undo ip ttl-expires enable
【缺省情况】
ICMP超时报文发送功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
ICMP超时报文发送功能是在设备收到IP数据报文后,如果发生超时差错,则将报文丢弃并给源端发送ICMP超时差错报文。
设备在满足下列条件时会发送ICMP超时报文:
· 设备收到IP数据报文后,如果报文的目的地不是本地且报文的TTL字段是1,则发送“TTL超时”ICMP差错报文;
· 设备收到目的地址为本地的IP数据报文的第一个分片后,启动定时器,如果所有分片报文到达之前定时器超时,则会发送“重组超时”ICMP差错报文。
需要注意的是,关闭ICMP超时报文发送功能后,设备不会再发送“TTL超时”ICMP差错报文,但“重组超时”ICMP差错报文仍会正常发送。
【举例】
# 开启设备的ICMP超时报文发送功能。
<Sysname> system-view
[Sysname] ip ttl-expires enable
ip unreachables enable命令用来开启设备的ICMP目的不可达报文的发送功能。
undo ip unreachables enable命令用来关闭设备的ICMP目的不可达报文的发送功能。
【命令】
ip unreachables enable
undo ip unreachables enable
【缺省情况】
ICMP目的不可达报文发送功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
ICMP目的不可达报文发送功能是在设备收到IP数据报文后,如果发生目的不可达的差错,则将报文丢弃并给源端发送ICMP目的不可达差错报文。
设备在满足下列条件时会发送目的不可达报文:
· 设备在转发报文时,如果在路由表中未找到对应的转发路由,且路由表中没有缺省路由,则给源端发送“网络不可达”ICMP差错报文;
· 设备收到目的地址为本地的数据报文时,如果设备不支持数据报文采用的传输层协议,则给源端发送“协议不可达”ICMP差错报文;
· 设备收到目的地址为本地、传输层协议为UDP的数据报文时,如果报文的端口号与正在使用的进程不匹配,则给源端发送“端口不可达”ICMP差错报文;
· 源端如果采用“严格的源路由选择”发送报文,当中间设备发现源路由所指定的下一个设备不在其直接连接的网络上,则给源端发送“源站路由失败”的ICMP差错报文;
· 设备在转发报文时,如果转发接口的MTU小于报文的长度,但报文被设置了不可分片,则给源端发送“需要进行分片但设置了不分片比特”ICMP差错报文。
【举例】
# 开启设备的ICMP目的不可达报文发送功能。
<Sysname> system-view
[Sysname] ip unreachables enable
ip virtual-reassembly enable命令用来开启IP虚拟分片重组功能。
undo ip virtual-reassembly enable命令用来关闭IP虚拟分片重组功能。
【命令】
ip virtual-reassembly enable
undo ip virtual-reassembly enable
【缺省情况】
IP虚拟分片重组功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
为了避免由于后片先到(报文分片后)的情况而导致设备重组分片报文复杂度过高的问题,设备需要对收到的分片报文先进行虚拟分片重组。IP虚拟分片重组功能可以对分片报文进行检验、排序和缓存,保证后续的报文重组功能处理的都是顺序正确的分片报文。
同时,IP虚拟分片重组功能还可以对下面几种分片攻击进行检测。如果检测到分片攻击,则设备会丢弃收到的分片报文,从而提高了设备的安全性。
· Tiny Fragment攻击:如果设备收到分片报文的首片长度非常小,并且传输层协议(如:TCP、UDP)头字段放在第二个分片中,则认为是受到了Tiny Fragment攻击;
· Overlapping Fragment攻击:如果设备收到了完全相同的分片报文,或者收到的分片报文与其前一分片或后一分片出现重叠时,则认为是受到了Overlapping Fragment攻击;
· Fragment-flood攻击:如果设备收到的分片报文个数超过了指定的队列允许的最大分片报文个数或者设备上创建的分片队列个数超过了指定的最大分片队列个数,则认为是受到了Fragment-flood攻击。
IP虚拟分片重组功能的开启或关闭支持业务调用和命令行控制两种方式,命令行控制方式主要适用于不存在可调用IP虚拟分片重组功能的业务,但需要进行报文重组的组网环境中。这两种方式的结果不会互相影响,即只要有任意一个业务调用本功能或执行ip virtual-reassembly enable命令,功能就处于开启状态。执行ip virtual-reassembly suppress命令强制关闭IP虚拟分片重组功能后,通过以上两种方式开启的功能均会被强制关闭。
【举例】
# 开启IP虚拟分片重组功能。
<Sysname> system-view
[Sysname] ip virtual-reassembly enable
【相关命令】
· ip virtual-reassembly suppress
ip virtual-reassembly suppress命令用来强制关闭IPv4虚拟分片重组功能。
undo ip virtual-reassembly suppress命令用来恢复缺省状态。
【命令】
ip virtual-reassembly suppress
undo ip virtual-reassembly suppress
【缺省情况】
强制关闭IPv4虚拟分片重组功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
IPv4虚拟分片重组功能可以提前对到达设备的分片报文进行检验、排序和缓存。开启IPv4虚拟分片重组功能,可以保证后续的报文重组功能处理的都是顺序正确的分片报文。
在高可靠性组网环境中,如果出现同一条流的分片报文分别到达了两个设备的情况,则每个设备上收到的分片报文都不完整,此时设备的IPv4虚拟分片重组功能无法对不完整的分片报文进行重组,因此会对其进行丢弃。
如果需要设备对接收到不完整的分片报文进行放行,则可以强行关闭设备的IP虚拟分片重组功能,此时通过业务调用和执行ip virtual-reassembly enable命令行控制方式开启的IPv4虚拟分片重组功能均会被关闭。
【举例】
# 强制关闭IPv4虚拟分片重组功能。
<Sysname> system-view
[Sysname] ip virtual-reassembly suppress
【相关命令】
· ip virtual-reassembly enable
ipv6 virtual-reassembly suppress命令用来强制关闭IPv6虚拟分片重组功能。
undo ipv6 virtual-reassembly suppress命令用来恢复缺省状态。
【命令】
ipv6 virtual-reassembly suppress
undo ipv6 virtual-reassembly suppress
【缺省情况】
强制关闭IPv6虚拟分片重组功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
IPv6虚拟分片重组功能可以提前对到达设备的分片报文进行检验、排序和缓存。开启IPv6虚拟分片重组功能,可以保证后续的报文重组功能处理的都是顺序正确的分片报文。
在高可靠性组网环境中,如果出现同一条流的分片报文分别到达了两个设备的情况,则每个设备上收到的IPv6分片报文都不完整,此时设备的IPv6虚拟分片重组功能无法对不完整的分片报文进行重组,因此会对其进行丢弃。
如果需要设备对接收到不完整的分片报文进行放行,则可以强行关闭设备的IPv6虚拟分片重组功能。
【举例】
# 强制关闭IPv6虚拟分片重组功能。
<Sysname> system-view
[Sysname] ipv6 virtual-reassembly suppress
reset ip statistics命令用来清除IP报文统计信息。
【命令】
reset ip statistics
【视图】
用户视图
【缺省用户角色】
network-admin
【使用指导】
在某些情况下,需要统计一定时间内接口的IP报文统计信息,这时必须在统计开始前清除原有的统计信息,重新进行统计。
【举例】
# 清除IP报文统计信息。
<Sysname> reset ip statistics
【相关命令】
· display ip interface(网络互通命令参考/IP地址)
· display ip statistics
reset tcp statistics命令用来清除TCP连接的流量统计信息。
【命令】
reset tcp statistics
【视图】
用户视图
【缺省用户角色】
network-admin
【举例】
# 清除TCP连接的流量统计信息。
<Sysname> reset tcp statistics
【相关命令】
· display tcp statistics
reset udp statistics命令用来清除UDP流量统计信息。
【命令】
reset udp statistics
【视图】
用户视图
【缺省用户角色】
network-admin
【举例】
# 清除UDP流量统计信息。
<Sysname> reset udp statistics
【相关命令】
tcp default-mss命令用来配置缺省TCP最大报文段长度。
undo tcp default-mss命令用来恢复缺省情况。
【命令】
tcp default-mss mss-value
undo tcp default-mss
【缺省情况】
缺省TCP最大报文段长度为512。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
mss-value:缺省TCP最大报文段长度值,取值范围为536~1460,单位为字节。
【使用指导】
TCP建立连接后,TCP连接会根据TCP最大报文段长度对报文进行分片后再传输。一般情况下,TCP最大报文段长度等于出接口的IP MTU减40。目前,缺省TCP最大报文段长度较小,这会导致报文分片过多,且会存在接收连接方应答的TCP SYN报文的TCP校验和错误等问题。为了解决这个问题,管理员可以通过本命令手工指定缺省TCP最大报文段长度。
【举例】
# 配置缺省TCP最大报文段长度为998。
<Sysname> system-view
[Sysname] tcp default-mss 998
tcp mss命令用来配置接口的TCP最大报文段长度。
undo tcp mss命令用来恢复缺省情况。
【命令】
tcp mss value
undo tcp mss
【缺省情况】
未配置接口的TCP最大报文段长度。
【视图】
接口视图
【缺省用户角色】
network-admin
【参数】
value:TCP最大报文段长度,取值范围为128~(接口的最大MTU值-40),单位为字节。
【使用指导】
TCP最大报文段长度(Max Segment Size,MSS)表示TCP连接的对端发往本端的最大TCP报文段的长度,目前作为TCP连接建立时的一个选项来协商:当一个TCP连接建立时,连接的双方要将MSS作为TCP报文的一个选项通告给对端,对端会记录下这个MSS值,后续在发送TCP报文时,会限制TCP报文的大小不超过该MSS值。当对端发送的TCP报文的长度小于本端的TCP最大报文段长度时,TCP报文不需要分段;否则,对端需要对TCP报文按照最大报文段长度进行分段处理后再发给本端。
该配置仅对新建的TCP连接生效,对于配置前已建立的TCP连接不生效。
该配置仅对IP报文生效,当接口上配置了MPLS功能后,不建议再配置本功能。
【举例】
# 配置VLAN接口100上TCP最大报文段长度为300字节。
<Sysname> system-view
[Sysname] interface vlan-interface 100
[Sysname-Vlan-interface100] tcp mss 300
tcp path-mtu-discovery命令用来开启TCP连接的Path MTU探测功能。
undo tcp path-mtu-discovery命令用来关闭TCP连接的Path MTU探测功能。
【命令】
tcp path-mtu-discovery [ aging age-time | no-aging ]
undo tcp path-mtu-discovery
【缺省情况】
TCP连接的Path MTU探测功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
aging age-time:Path MTU的老化时间,age-time的取值范围为10~30,单位为分钟,缺省值为10。
no-aging:Path MTU不老化。
【使用指导】
开启TCP连接的Path MTU探测功能后,新建的TCP连接均会携带Path MTU探测属性,可以通过探测机制确定Path MTU,按照数据路径上的最小MTU组织TCP分段长度,最大限度利用网络资源,避免IP分片的发生。
关闭TCP连接的Path MTU探测功能后,系统将停止所有正在运行的Path MTU定时器,此后创建的TCP连接均无Path MTU探测功能,但是对于此前已经建立的TCP连接,其Path MTU探测功能不会被关闭。
【举例】
# 开启TCP连接的Path MTU探测功能,Path MTU的老化时间为20分钟。
<Sysname> system-view
[Sysname] tcp path-mtu-discovery aging 20
tcp-proxy congestion-method命令用来配置TCP代理所使用的TCP拥塞控制算法。
undo tcp-proxy congestion-method命令用来恢复缺省情况。
【命令】
tcp-proxy congestion-method { bbrv1 | bbrv2 | bic | reno }
undo tcp-proxy congestion-method
【缺省情况】
TCP代理所使用的TCP拥塞控制算法为Reno算法。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
bbrv1:TCP代理所使用的TCP拥塞控制算法为BBRv1算法。
bbrv2:TCP代理所使用的TCP拥塞控制算法为BBRv2算法。
bic:TCP代理所使用的TCP拥塞控制算法为BIC算法。
reno:TCP代理所使用的TCP拥塞控制算法为Reno算法。
【使用指导】
对于支持配置TCP拥塞控制算法的模块,以支持模块配置的TCP拥塞控制算法为准,本命令不生效。例如WAAS模块,可以通过执行waas tfo congestion-method { bbrv1 | bbrv2 | bic | reno }命令来配置WAAS WAN侧链路的TCP拥塞控制算法;对于不支持配置TCP拥塞控制算法的模块,将采用与TCP代理模块相同的TCP拥塞控制算法。
不同TCP拥塞控制算法的特点如下:
· Reno:推荐用于低延时、低带宽的场景,因为在高延时、高带宽的场景中,传输速度往往要经过很长时间才能达到最大,会降低带宽的利用率。Reno将收到ACK作为拥塞窗口增长的依据,是一种早期的TCP拥塞控制算法。
· BIC:推荐用于高带宽、低丢包率的场景。BIC将丢包作为拥塞信号,优点是只要没有出现丢包,就不会主动降低发送速度,可以最大程度的利用网络剩余带宽,提高吞吐量;缺点是传输时延较高,而且会将传输错误丢包认为是拥塞丢包,从而减小拥塞窗口,降低发送速率。
· BBR:推荐用于高带宽、高时延、存在一定丢包率的场景。BBR不将丢包作为拥塞信号,所以在丢包率较高的场景下,BBR可以有效降低传输时延,并保证较高的吞吐量。BBRv2降低了抢占性,提高了不同算法共存时的公平性。
【举例】
# 配置TCP代理所使用的TCP拥塞控制算法为Reno算法。
<Sysname> system-view
[Sysname] tcp-proxy congestion-method reno
【相关命令】
· waas tfo congestion-method { bbrv1 | bbrv2 | bic | reno }(网络互通/WAAS)
tcp syn-cookie enable命令用来开启SYN Cookie功能,防止设备受到SYN Flood攻击。
undo tcp syn-cookie enble命令用来关闭SYN Cookie功能。
【命令】
tcp syn-cookie enable
undo tcp syn-cookie enable
【缺省情况】
SYN Cookie功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
一般情况下,TCP连接的建立需要经过三次握手,一些恶意的攻击者利用TCP连接的建立过程进行SYN Flood攻击:攻击者向服务器发送大量请求建立TCP连接的SYN报文,而不回应服务器的SYN ACK报文,导致服务器上建立了大量的TCP半连接。从而,达到耗费服务器资源,使服务器无法处理正常业务的目的。
SYN Cookie功能用来防止SYN Flood攻击。当服务器收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文。服务器接收到发起者回应的ACK报文后,才建立连接。通过这种方式,可以避免在服务器上建立大量的TCP半连接,防止服务器受到SYN Flood攻击。
【举例】
# 开启SYN Cookie功能。
<Sysname> system-view
[Sysname] tcp syn-cookie enable
tcp timer fin-timeout命令用来配置TCP的finwait定时器超时时间。
undo tcp timer fin-timeout命令用来恢复缺省情况。
【命令】
tcp timer fin-timeout time-value
undo tcp timer fin-timeout
【缺省情况】
TCP finwait定时器的超时时间为675秒。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
time-value:TCP finwait定时器的超时时间,取值范围为76~3600,单位为秒。
【使用指导】
当TCP的连接状态为FIN_WAIT_2时,启动finwait定时器,如果在定时器超时前未收到报文,则TCP连接终止;如果收到FIN报文,则TCP连接状态变为TIME_WAIT状态;如果收到非FIN报文,则从收到的最后一个非FIN报文开始重新计时,在超时后中止连接。
【举例】
# 配置TCP finwait定时器的超时时间为800秒。
<Sysname> system-view
[Sysname] tcp timer fin-timeout 800
tcp timer syn-timeout命令用来配置TCP的synwait定时器超时时间。
undo tcp timer syn-timeout命令用来恢复缺省情况。
【命令】
tcp timer syn-timeout time-value
undo tcp timer syn-timeout
【缺省情况】
TCP synwait定时器的超时时间为75秒。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
time-value:TCP synwait定时器的超时时间,取值范围为2~600,单位为秒。
【使用指导】
当发送SYN报文时,TCP启动synwait定时器和重传SYN报文定时器,当synwait定时器超时且SYN报文重传未达到最大次数时,如果设备未收到回应报文,则TCP连接建立不成功;当synwait定时器未超时但是SYN报文重传达到最大次数时,如果设备未收到回应报文,则TCP连接建立不成功。
【举例】
# 配置TCP synwait定时器的超时时间为80秒。
<Sysname> system-view
[Sysname] tcp timer syn-timeout 80
tcp timestamps enable命令用来配置发送TCP报文时添加TCP时间戳选项信息。
undo tcp timestamps enable命令用来配置发送TCP报文时不添加TCP时间戳选项信息。
【命令】
tcp timestamps enable
undo tcp timestamps enable
【缺省情况】
发送TCP报文时会添加TCP时间戳选项信息。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
TCP报文中携带TCP时间戳选项信息时,建立TCP连接的两台设备通过TCP报文中的时间戳字段就可计算出RTT(Round Trip Time,往返时间)值。在某些组网中,由于安全隐患,需要防止TCP连接上的中间设备获取到TCP时间戳信息,可以在建立TCP连接任意一端关闭发送TCP报文时添加时间戳选项信息功能。
开启或关闭本功能仅对新建的TCP连接生效,对于配置前已建立的TCP连接不生效。
【举例】
# 配置发送TCP报文时不添加TCP时间戳选项信息。
<Sysname> system-view
[Sysname] undo tcp timestamps enable
tcp window命令用来设置TCP连接的收发缓冲区大小。
undo tcp window命令用来恢复缺省情况。
【命令】
tcp window window-size
undo tcp window
【缺省情况】
TCP连接的收发缓冲区大小为63KB。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
window-size:TCP连接的收发缓冲区大小,取值范围为1~64,单位为KB(千字节)。
【举例】
# 设置TCP连接的收发缓冲区大小为3KB。
<Sysname> system-view
[Sysname] tcp window 3
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!