16-IP性能优化命令
本章节下载: 16-IP性能优化命令 (577.46 KB)
目 录
1.1.11 display tcp-proxy port-info
1.1.13 display udp socket-loadbalance
1.1.14 display udp socket-loadbalance verbose
1.1.17 initial-congestion-window
1.1.21 ip icmp fragment discarding
1.1.29 ip virtual-reassembly aging
1.1.30 ip virtual-reassembly enable
1.1.35 snmp-agent trap enable port-attack
1.1.36 snmp-agent trap enable tcp
1.1.37 statistics l3-packet enable
1.1.39 tcp auto-adjust-mss enable
1.1.42 tcp-proxy congestion-method
congestion-method命令用来指定QUIC策略使用的拥塞控制算法。
undo congestion-method命令用来恢复缺省情况。
【命令】
congestion-method { bbrv1 | bbrv2 | bic | reno }
undo congestion-method
【缺省情况】
QUIC策略使用的拥塞控制算法为Reno算法。
【视图】
QUIC策略视图
【缺省用户角色】
network-admin
【参数】
bbrv1:指定QUIC策略使用的拥塞控制算法为BBRv1算法。
bbrv2:指定QUIC策略使用的拥塞控制算法为BBRv2算法。
bic:指定QUIC策略使用的拥塞控制算法为BIC算法。
reno:指定QUIC策略使用的拥塞控制算法为Reno算法。
【使用指导】
拥塞控制算法是一种网络协议机制,根据网络条件动态调整传输速率,以避免网络拥塞和避免数据包丢失。
QUIC协议支持Reno、BIC、BBRv1和BBRv2四种拥塞控制算法,其特点和应用场景如下:
· Reno:推荐用于低延时、低带宽的场景,因为在高延时、高带宽的场景中,传输速度往往要经过很长时间才能达到最大,会降低带宽的利用率。Reno将收到ACK作为拥塞窗口增长的依据,是一种早期的拥塞控制算法。
· BIC:推荐用于高带宽、低丢包率的场景。BIC将丢包作为拥塞信号,优点是只要没有出现丢包,就不会主动降低发送速度,可以最大程度的利用网络剩余带宽,提高吞吐量;缺点是传输时延较高,而且会将传输错误丢包认为是拥塞丢包,从而减小拥塞窗口,降低发送速率。
· BBR:推荐用于高带宽、高时延、存在一定丢包率的场景。BBR不将丢包作为拥塞信号,所以在丢包率较高的场景下,BBR可以有效降低传输时延,并保证较高的吞吐量。BBRv2降低了抢占性,提高了不同算法共存时的公平性。
【举例】
# 指定QUIC策略profile1使用的拥塞控制算法为BBRv2算法。
<Sysname> system-view
[Sysname] quic profile profile1
[Sysname-quic-profile-profile1] congestion-method bbrv2
【相关命令】
· quic profile
display icmp statistics命令用来显示ICMP流量统计信息。
【命令】
display icmp statistics [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的ICMP流量统计信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的ICMP流量统计信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
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 solicit |
输入的路由器请求报文数 |
broadcast/multicast echo requests ignored |
输入的广播/组播响应请求丢弃报文数 |
broadcast/multicast timestamp requests ignored |
输入的广播/组播时戳请求丢弃报文数 |
information replies |
输出的信息应答报文数 |
time exceeded |
输入/输出的超时报文数 |
bad address |
输出的目的地址非法报文数 |
packet error |
输出的错误报文数 |
router advert |
输入/输出的路由器公告报文数 |
display ip statistics命令用来显示IP报文统计信息。
【命令】
display ip statistics [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的IP报文统计信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的IP报文统计信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
display ip statistics命令用来显示IP报文统计信息,包括接收报文、发送报文、分片、重组的统计信息。普通转发模式和HPF转发模式的显示信息不同,HPF转发模式的信息请参见“三层技术-IP业务命令参考/IP转发基础”。
【举例】
# 显示IP报文统计信息(普通转发模式)。
<Sysname> display ip statistics
Input: sum 7120 local 112
bad protocol 0 bad format 0
bad checksum 0 bad options 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
# 显示IP报文统计信息(HPF转发模式)。
<Sysname> display ip statistics
Input:
sum 7120 local 112
bad protocol 0 bad format 0
bad checksum 0 bad options 0
bad version 0 bad header length 0
bad length 0 ttl exceeded 0
too short 0 cant forward 0
discarded 0
Output:
forwarding 0 local 27
dropped 0 no route 2
compress fails 0 cant forward 0
ttl exceeded 0 redirect 0
broadcast drop 0
Reassembling:
fragments 0 reassembled 0
dropped 0 timeouts 0
too many fragments 0 handoff congest 0
duplicate 0 limit reached 0
malformed 0 internal error 0
attack 0
Fragment:
fragmented 0 couldn't fragment 0
output frags 0 small packet 0
cant frag header 0 malformed 0
no buffer 0 offset one 0
Forwarded Frags: sum 0
VFR Reassembling:
too many fragments 0 handoff congest 0
malformed 0 limit reached 0
attack 0 reassembled 0
表1-2 display ip statistics命令显示信息描述表
字段 |
描述 |
|
Input: |
sum |
接收报文总数 |
local |
接收的目的地址是本地的报文数 |
|
bad protocol |
未知协议的报文数 |
|
bad format |
格式错误的报文数 |
|
bad checksum |
校验和错误的报文数 |
|
bad options |
选项错误的报文数 |
|
bad version |
协议版本错误的报文数 |
|
bad header length |
IP头长度错误的报文数 |
|
bad length |
长度错误的报文数 |
|
ttl exceeded |
超时的报文数 |
|
too short |
长度过短的报文数 |
|
cant forward |
无法转发的报文数 |
|
discarded |
丢弃的报文数 |
|
Output: |
forwarding |
转发的报文数 |
local |
本地发送报文数 |
|
dropped |
发送时丢弃的报文数 |
|
no route |
查不到路由的报文数 |
|
compress fails |
压缩失败的报文数 |
|
cant forward |
无法转发的报文数 |
|
ttl exceeded |
超时的报文数 |
|
redirect |
重定向发送的报文数 |
|
broadcast drop |
广播丢弃的报文数 |
|
Reassembling: |
fragments |
收到需要重组的分片报文数 |
reassembled |
重组成功的报文数 |
|
dropped |
重组失败后丢弃的分片报文数 |
|
timeouts |
重组超时的次数 |
|
too many fragments |
分片个数超限制导致重组失败的报文数 |
|
handoff congest |
Handoff拥塞丢弃的报文数 |
|
duplicate |
重组重叠出错的报文数 |
|
limit reached |
超过每线程重组序列个数上限的报文数 |
|
malformed |
格式错误的报文数 |
|
internal error |
重组内部出错的报文数 |
|
attack |
受到攻击的报文数 |
|
Fragment: |
fragmented |
分片成功的报文数 |
couldn't fragment |
分片失败的报文数 |
|
output frags |
分片成功并发送的分片报文数 |
|
small packet |
分片的报文长度太小的报文数 |
|
cant frag header |
MTU小于报文头部长度的报文数 |
|
malformed |
格式出错的报文数 |
|
no buffer |
内存不足导致分片出错的报文数 |
|
offset one |
偏移值为1的报文数 |
|
Forwarded Frags: |
sum |
直接转发的分片报文数 |
VFR Reassembling |
Too many fragments |
分片个数超限制导致重组失败的报文数 |
handoff congest |
Handoff拥塞丢弃的报文数 |
|
malformed |
格式错误的报文数 |
|
limit reached |
超过重组序列个数上限的报文数 |
|
attack |
受到攻击的报文数 |
|
reassembled |
重组成功的报文数 |
【相关命令】
· display ip interface(三层技术-IP业务命令参考/IP地址)
· reset ip statistics
display quic命令用来显示QUIC连接信息。
【命令】
display quic [ verbose ] [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
verbose:显示QUIC连接的详细信息。如果未指定本参数,则显示QUIC连接的简要信息。
slot slot-number:显示指定单板的QUIC连接信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示主用主控板的QUIC连接信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【举例】
# 显示QUIC连接的简要信息。
<Sysname> display quic
SCID DCID State ServiceType
123456 4232144 ESTABED SDWAN
表1-3 display quic显示简要信息描述表
字段 |
描述 |
SCID |
源连接标识(Source Connection ID) |
DCID |
目的连接标识(Destination Connection ID) |
State |
QUIC连接状态,取值包括: · S_INIT:服务器初始状态 · S_INITIAL_RECVD:服务器已接收到初始包 · S_INITIAL_SENT:服务器已发送初始包 · S_HANDSHAKE_SENT:服务器已发送握手包 · S_HANDSHAKE_RECVD:服务器已接收到握手包 · C_INIT:客户端初始状态 · C_INITIAL_RECVD:客户端已接收到初始包 · C_INITIAL_SENT:客户端已发送初始包 · C_HANDSHAKE_SENT:客户端已发送握手包 · C_HANDSHAKE_RECVD:客户端已接收到握手包 · ESTABED:连接已建立 · CLOSING:连接正在关闭 · DRAINING:连接进入排空状态 · CLOSED:连接已关闭 |
ServiceType |
服务类型,取值包括: · SDWAN |
# 显示QUIC连接的详细信息。
<Sysname> display quic verbose
User SCID:8fa113228401878f
Current DCID: 1473fdaad6a665ac
ThreadID: 0
State: C_INITIAL_SENT
Version: 1
Cur_stream_id_bidi_local: 0
Cur_stream_id_uni_local: 0
Max_stream_id_bidi_remote: 18446744073709551615
Max_stream_id_uni_remote: 18446744073709551615
Conn_type: CLIENT
Conn_flag: WAIT_WA
Last_ticked_time: 0x6250eca34b0d7
Next_tick_time: 0x6250eca903e5e
Conn_create_time: 0x6250ec9e49049
Handshake_complete_time: 0x0
First_data_send_time: 0x0
Conn_close_recv_time: 0x0
Conn_close_send_time: 0x0
Conn_last_send_time: 0x6250eca34b0de
Conn_last_recv_time: 0x0
Conn_hsk_recv_time: 0x0
Conn_err: 0x0
Dgram_mss: 0
Pkt_out_size: 1200
Max_pkt_out_size: 63920
Probing_pkt_out_size: 63920
Probing_cnt: 0
Rcv_pkt_stats:
Pkt_types[0]: 0x0
Pkt_size[0]: 0x0
Pkt_udp_size[0]: 0
Pkt_frames[0]: 0x0
Pkt_pn[0]: 0x0
Pkt_timestamp[0]: 0x0
Pkt_err[0]: 0
Pkt_types[1]: 0x0
Pkt_size[1]: 0x0
Pkt_udp_size[1]: 0
Pkt_frames[1]: 0x0
Pkt_pn[1]: 0x0
Pkt_timestamp[1]: 0x0
Pkt_err[1]: 0
Pkt_types[2]: 0x0
Pkt_size[2]: 0x0
Pkt_udp_size[2]: 0
Pkt_frames[2]: 0x0
Pkt_pn[2]: 0x0
Pkt_timestamp[2]: 0x0
Pkt_err[2]: 0
Curr_index: 0
Conn_rcvd_pkts: 0
Conn_udp_pkts: 0
Snd_pkt_stats:
Pkt_types[0]: 0
Pkt_size[0]: 1200
Pkt_frames[0]: 33
Pkt_pn[0]: 6
Pkt_timestamp[0]: 5251
Pkt_types[1]: 0
Pkt_size[1]: 1200
Pkt_frames[1]: 33
Pkt_pn[1]: 4
Pkt_timestamp[1]: 2251
Pkt_types[2]: 0
Pkt_size[2]: 1200
Pkt_frames[2]: 33
Pkt_pn[2]: 5
Pkt_timestamp[2]: 5251
Curr_index: 1
conn_sent_pkts: 7
SCID count: 1
8fa113228401878f[USED]
DCID count: 1
1473fdaad6a665ac[USED]
表1-4 display quic verbose显示信息描述表
字段 |
描述 |
User SCID |
用户源连接标识 |
Current DCID |
当前目的连接标识 |
Thread ID |
线程ID |
State |
连接状态 |
Version |
版本号 |
Cur_stream_id_bidi_local |
当前本地双向流ID |
Cur_stream_id_uni_local |
当前本地单向流ID |
Max_stream_id_bidi_remote |
最大远端双向流ID |
Max_stream_id_uni_remote |
最大远端单向流ID |
Conn_type |
连接类型 |
Conn_flag |
连接标志 |
Last_ticked_time |
上次定时器触发时间 |
Next_tick_time |
下次定时器触发时间 |
Conn_create_time |
连接创建时间 |
Handshake_complete_time |
握手完成时间 |
First_data_send_time |
首次数据发送时间 |
Conn_close_recv_time |
连接关闭接收时间 |
Conn_close_send_time |
连接关闭发送时间 |
Conn_last_send_time |
连接最后发送时间 |
Conn_last_recv_time |
连接最后接收时间 |
Conn_hsk_recv_time |
连接握手接收时间 |
Conn_err |
连接错误 |
Dgram_mss |
数据包最大报文段大小 |
Pkt_out_size |
数据包输出大小 |
Max_pkt_out_size |
数据包最大输出大小 |
Probing_pkt_out_size |
探测数据包输出大小 |
Probing_cnt |
探测次数 |
Rcv_pkt_stats |
接收数据包统计: · Pkt_types:报文类型 · Pkt_size:报文大小 · Pkt_udp_size:报文UDP大小 · Pkt_frames:报文帧类型 · Pkt_pn:报文数目 · Pkt_timestamp:报文时间戳 · Pkt_err:报文处理错误类型 · Curr_index:当前索引号 · Conn_rcvd_pkts:通过连接接收的报文数 · Conn_udp_pkts:通过连接接收的UDP报文数 |
Snd_pkt_stats |
发送数据包统计: · Pkt_types:报文类型 · Pkt_size:报文大小 · Pkt_udp_size:报文UDP大小 · Pkt_frames:报文帧类型 · Pkt_pn:报文数目 · Pkt_timestamp:报文时间戳 · Pkt_err:报文处理错误类型 · Curr_index:当前索引号 · Conn_sent_pkts:通过连接发送的报文数 |
SCID count |
源连接标识个数。其后显示所有连接标识符,连接标识状态如下: · UNUSED:未使用状态 · USED:使用状态 · RETIRED:弃用状态 · REMOVED:删除状态 |
DCID count |
目的连接标识个数。其后显示所有连接标识符,连接标识状态如下: · UNUSED:未使用状态 · USED:使用状态 · RETIRED:弃用状态 · REMOVED:删除状态 |
display quic profile命令用来显示QUIC策略的配置信息。
【命令】
display quic profile [ profile-name ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
profile-name:显示指定QUIC策略的配置信息。profile-name为1~31个字符的字符串,不区分大小写。如果不指定本参数,则显示所有QUIC策略的配置信息。
【举例】
#显示名称为profile1的QUIC策略的配置信息。
<Sysname> display quic profile profile1
QUIC profile: profile1
Congestion method : BBRv2
Init congestion window : 32
Receive buffer : 64K
表1-5 display quic profile显示信息描述表
字段 |
描述 |
QUIC profile |
QUIC策略名称 |
Congestion method |
拥塞控制算法类型,取值包括: · Reno算法 · BIC算法 · BBRv1算法 · BBRv2算法 |
Init congestion window |
初始化拥塞窗口 |
接收缓冲区大小 |
display rawip命令用来显示RawIP连接摘要信息。
【命令】
display rawip [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的RawIP连接摘要信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的RawIP连接摘要信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
display rawip命令用来显示RawIP连接摘要信息,包括本端IP地址、对端IP地址、使用RawIP socket的协议号等信息。
【举例】
# 显示RawIP连接摘要信息。
<Sysname> display rawip
#: Kernel RawIP connection
Local Addr Foreign Addr Protocol Slot Cpu PCB
0.0.0.0 0.0.0.0 1 1 0 0x0000000000000009
0.0.0.0 0.0.0.0 1 1 0 0x0000000000000008
0.0.0.0 0.0.0.0 1 5 0 0x0000000000000002
#0.0.0.0 0.0.0.0 1 0 0 N/A
表1-6 display rawip命令显示信息描述表
字段 |
描述 |
# |
如果某个连接前有此标识,则表示该RawIP连接是Comware内核使用的连接 |
Local Addr |
本端IP地址 |
Foreign Addr |
对端IP地址 |
Protocol |
使用RawIP socket的协议号 |
PCB |
协议控制块索引 |
display rawip verbose命令用来显示RawIP连接详细信息。
【命令】
display rawip verbose [ slot slot-number [ pcb pcb-index ] ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
pcb pcb-index:显示指定协议控制块索引的RawIP连接详细信息。pcb-index表示协议控制块索引,取值范围为1~16。
slot slot-number:显示指定单板的RawIP连接详细信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的RawIP连接详细信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
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
Location: slot 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: INP_EXTRCVICMPERR INP_EXTFILTER
Inpcb vflag: INP_IPV4
TTL: 255(minimum TTL: 0)
Sending VRF: 0x0
Receiving VRF: 0x0
表1-7 display rawip verbose命令显示信息描述表
字段 |
描述 |
Total RawIP socket number |
RawIP socket总数 |
Connection info |
连接信息,分别为源IP地址、目的IP地址 |
Location |
socket所在位置 |
Creator |
创建socket的任务名称,括号中为创建者的进程号 |
State |
socket的状态,包括: · NOFDREF:用户已经关闭 · ISCONNECTED:连接已经建立 · ISCONNECTING:正在建立连接 · ISDISCONNECTING:正在断开连接 · ISDISCONNECTED:连接已经断开 · ISPCBSYNCING:正在同步internet协议控制块 · ISSMOOTHING:正在平滑 · 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_FILTER:设置报文过滤条件,对接收报文有效 · SO_TIMESTAMPNS:和时间戳选项功能类似,时间可以精确到纳秒 · N/A:未设置选项 |
Error |
影响socket连接的错误码 |
Receiving buffer (cc/hiwat/lowat/drop/state) |
接收缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间、丢包数和状态,包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · N/A:不处于上述状态 |
Sending buffer (cc/hiwat/lowat/state) |
发送缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间和状态,包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · 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地址作为源地址 · N/A:不是上述标记 |
Inpcb extflag |
Internet协议控制块中的扩展标记,包括: · INP_EXTRCVPVCIDX:接收报文时记录报文的PVC索引 · INP_RCVPWID:接收报文时记录报文的PW ID · INP_EXTRCVICMPERR:接收ICMP差错报文 · INP_EXTFILTER:接收报文时对报文内容进行过滤 · N/A:不是上述标记 |
Inpcb vflag |
Internet协议控制块中的IP版本标记,包括: · INP_IPV4:运用与IPv4通信 · N/A:不是上述标记 |
TTL(minimum TTL) |
Internet协议控制块中的生存周期,括号中为最小生存周期 |
Sending VRF |
发送实例 |
Receiving VRF |
接收实例 |
display tcp命令用来显示TCP连接摘要信息。
【命令】
display tcp [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的TCP连接摘要信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的TCP连接摘要信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
display tcp命令用来显示TCP连接摘要信息,包括本端IP地址及端口号、对端IP地址及端口号、TCP连接的状态等信息。
【举例】
# 显示TCP连接摘要信息。
<Sysname> display tcp
*: TCP connection with authentication
#: Kernel TCP connection
Local Addr:port Foreign Addr:port State Slot Cpu PCB
*0.0.0.0:21 0.0.0.0:0 LISTEN 1 0 0x000000000000c387
#1.0.0.1:179 1.0.0.2:29376 ESTABLISHED 0 0 N/A
192.168.20.200:23 192.168.20.14:1284 ESTABLISHED 1 0 0x0000000000000009
192.168.20.200:23 192.168.20.14:1283 ESTABLISHED 1 0 0x0000000000000002
表1-8 display tcp命令显示信息描述表
字段 |
描述 |
* |
如果某个连接前有此标识,则表示该TCP连接是采用加密算法认证的连接 |
# |
如果某个连接前有此标识,则表示该TCP连接是Comware内核使用的连接 |
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 verbose命令用来显示TCP连接详细信息。
【命令】
display tcp verbose [ slot slot-number [ pcb pcb-index ] ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
pcb pcb-index:显示指定协议控制块索引的TCP连接详细信息。pcb-index表示协议控制块索引,取值范围为1~16。
slot slot-number:显示指定单板的TCP连接详细信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的TCP连接详细信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
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
Location: slot 6
NSR standby: N/A
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
NAT kernel port: 0
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)
Sending VRF: 0x0
Receiving VRF: 0x0
ServiceType: 7
Maximum Segment Size (MSS): 0
表1-9 display tcp verbose命令显示信息描述表
字段 |
描述 |
TCP inpcb number |
TCP类型internet协议控制块个数 |
tcpcb number |
TCP控制块个数(处于TIME_WAIT状态的TCP则没有此计数) |
Connection info |
连接信息,分别为源IP地址及端口号、目的IP地址及端口号 |
Location |
socket所在位置 |
Creator |
创建socket的任务名称,括号中为创建者的进程号 |
State |
socket的状态,包括: · NOFDREF:用户已经关闭 · ISCONNECTED:连接已经建立 · ISCONNECTING:正在建立连接 · ISDISCONNECTING:正在断开连接 · ISDISCONNECTED:连接已经断开 · ISPCBSYNCING:正在同步internet协议控制块 · ISSMOOTHING:正在平滑 · 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_TIMESTAMPNS:和时间戳选项功能类似,时间可以精确到纳秒 · SO_KEEPALIVETIME:设置空闲探测时间 · N/A:未设置选项 |
Error |
影响socket连接的错误码 |
Receiving buffer(cc/hiwat/lowat/drop/state) |
接收缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间、丢包数和状态,状态的取值包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · N/A:不处于上述状态 |
Sending buffer(cc/hiwat/lowat/state) |
发送缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间和状态,状态的取值包括: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · N/A:不处于上述状态 |
Type |
使用的socket类型,类型的取值包括: · 1:SOCK_STREAM,流模式,提供可靠的字节流。TCP协议使用此类型 · 2:SOCK_DGRAM,数据报模式的通信。UDP协议使用此类型 · 3:SOCK_RAW,RAW模式的通信方式 · N/A:不是上述类型 |
Protocol |
使用socket的协议号 |
NAT kernel port |
NAT模块的TCP内核态端口,如果为0,表示未开启NAT功能 |
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支持 · N/A:不是上述标记 |
Inpcb extflag |
Internet协议控制块中的扩展标记,标记的取值包括: · INP_EXTRCVPVCIDX:接收报文时记录报文的PVC索引 · INP_RCVPWID:接收报文时记录报文的PW ID · INP_EXTDONTDROP:接收报文时设置报文不要丢弃 · INP_EXTWHITELIST:业务设置支持白名单功能 · INP_EXTMCNOSRC:Ping组播不设置源地址 · N/A:不是上述标记 |
Inpcb vflag |
Internet协议控制块中的IP版本标记,标记的取值包括: · INP_IPV4:运用与IPv4通信 · 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_SIGNATURE:使能密钥 · TF_NODELAY:关闭延时ACK · TF_BINDFOREIGNADDR:绑定对端IP地址 · TF_NSR:使能TCP NSR · TF_REQ_SCALE:使能窗口缩放因子选项 · TF_REQ_TSTMP:使能时间戳选项 · TF_SACK_PERMIT:使能选择性ACK选项 · TF_ENHANCED_AUTH:使能增强认证选项 · TF_PMTU:使能Path MTU探测 |
NSR state |
TCP连接NSR状态,可能的状态如下: · CLOSED:关闭(初始)状态 · CLOSING:连接待关闭状态 · ENABLED:使能备份功能状态 · OPEN:连接开始同步状态 · PENDING: 连接判定状态 · READY:连接备份就绪状态 · SMOOTH:连接平滑状态 角色:M表示主连接、S表示备份连接 |
Sending VRF |
发送实例 |
Receiving VRF |
接收实例 |
ServiceType |
当前的业务类型,取值为7,表示BGP业务 |
Maximum Segment Size (MSS) |
TCP MSS值 |
display tcp-proxy命令用来显示TCP代理连接的简要信息。
【命令】
display tcp-proxy slot slot-number
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的TCP代理连接的简要信息。slot-number表示单板所在的槽位号。对于本产品,slot-number只能为固定取值,表示整台设备。
【使用指导】
TCP代理是一种与传统定义的TCP相比更快速更灵活的TCP实现。用于支持负载分担、WAAS业务或SSL VPN。能够提供比普通TCP传输更灵活的控制,从而达到传输优化的目的。
【举例】
# 显示Slot1的TCP代理连接的简要信息。
<Sysname> display tcp-proxy slot 1
Local Addr:port Foreign Addr:port State Service type
192.168.56.25:1111 111.111.111.125:8080 ESTABLISHED LB
111.111.111.125:8080 192.168.56.25:1111 ESTABLISHED LB
表1-10 display tcp-proxy命令显示信息描述表
字段 |
描述 |
Local Addr:port |
本端IP地址及端口号 |
Foreign Addr:port |
对端IP地址及端口号 |
State |
TCP代理连接状态,包括: · CLOSED:服务器收到客户端的关闭连接请求回应后所处的状态 · LISTEN:服务器在等待连接请求时所处的状态 · SYN_SENT:客户端发出连接请求等待服务器回应时所处的状态 · SYN_RECEIVED:服务器收到客户端连接请求时所处的状态 · ESTABLISHED:服务器和客户端双方建立连接并能进行双向数据传递的状态 · CLOSE_WAIT:服务器收到客户端关闭连接请求时所处的状态 · FIN_WAIT_1:客户端发出关闭连接请求等待服务器回应时所处的状态 · CLOSING:连接双方在向对端发出关闭连接请求后等待对端回应过程中收到对端发出的关闭连接请求时所处的状态 · LAST_ACK:服务器向客户端发出关闭连接请求等待回应时所处的状态 · FIN_WAIT_2:客户端收到服务器关闭连接回应后所处的状态 · TIME_WAIT:客户端收到服务器的关闭连接请求后所处的状态 |
Service type |
服务类型,包括: · LB:负载均衡服务 · WAAS:WAAS服务 · SSL VPN:SSL VPN服务 |
display tcp-proxy port-info命令用来显示TCP代理非保留端口的使用信息。
【命令】
display tcp-proxy port-info slot slot-number
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板上的TCP代理非保留端口的使用信息。slot-number表示单板所在的槽位号。对于本产品,slot-number只能为固定取值,表示整台设备。
【使用指导】
端口号分为保留端口号、非保留端口号两种:
· 保留端口号的取值范围为从0到1023,例如Telnet服务端口号为23,FTP服务端口号为20和21,HTTP服务端口号为80;
· 非保留端口号从1024到65535,这些端口号不是为某种特定业务保留的,许多服务都可以使用这些端口号。本命令查询的就是此类端口号的使用信息。
# 显示Slot1上的TCP代理非保留端口的使用信息。
<Sysname> display tcp-proxy port-info slot 1
Index Range State
16 [1024, 1087] USABLE
17 [1088, 1151] USABLE
18 [1152, 1215] USABLE
19 [1216, 1279] USABLE
20 [1280, 1343] USABLE
...
1020 [65280, 65343] USABLE
1021 [65344, 65407] USABLE
1022 [65408, 65471] USABLE
1023 [65472, 65535] USABLE
表1-11 display tcp-proxy port-info命令显示信息描述表
字段 |
描述 |
Index |
端口资源段编号 |
Range |
端口资源段的起始端口号和终止端口号 |
State |
端口资源段的状态,包括: · USABLE:可动态分配 · ASSIGNED:已被动态分配 · ALLASSIGNED:已被动态分配完,待回收 · TO RECLAIM:静态分配,待回收 · RESERVED:被预留,此状态下不能被动态分配 |
display udp命令用来显示UDP连接摘要信息。
【命令】
display udp [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的UDP连接摘要信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的UDP连接摘要信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
display udp命令用来显示UDP连接摘要信息,包括本端IP地址及端口号、对端IP地址及端口号等信息。
【举例】
# 显示UDP连接摘要信息。
<Sysname> display udp
#: Kernel UDP connection
Local Addr:port Foreign Addr:port Slot Cpu PCB
0.0.0.0:69 0.0.0.0:0 1 0 0x0000000000000003
#1.0.0.1:179 0.0.0.0:0 0 0 N/A
192.168.20.200:1024 192.168.20.14:69 5 0 0x0000000000000002
表1-12 display udp命令显示信息描述表
字段 |
描述 |
# |
如果某个连接前有此标识,则表示该UDP连接是Comware内核使用的连接 |
Local Addr:port |
本端IP地址及端口号 |
Foreign Addr:port |
对端IP地址及端口号 |
PCB |
协议控制块索引 |
display udp socket-loadbalance该命令用来显示UDP连接负载分担的概要信息。
【命令】
display udp socket-loadbalance [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:指定单板。slot-number表示单板所在的槽位号。如果不指定本参数,则表示指定主用主控板。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
业务模块在需要提高UDP连接处理报文的性能时,会在一个业务端口上创建多个UDP连接(即socket),这些UDP连接之间按照一定的算法进行负载均衡,使得相同IP地址的相同端口上接收到的报文可以分担到多个UDP连接上处理。
【举例】
# 显示UDP连接负载分担的概要信息。
<Sysname> display udp socket-loadbalance
LocalAddr:port VrfIndex LBCount Slot
192.168.5.1:4568 0 10 1
10::1:457 0 10 1
表1-13 display udp socket-loadbalance命令显示信息描述表
字段 |
描述 |
LocalAddr:port |
UDP连接的本端IP地址和端口号 |
VrfIndex |
VPN实例索引 |
LBCount |
负载分担的UDP连接数 |
Slot |
单板槽位号 |
【相关命令】
· display udp socket-loadbalance verbose
display udp socket-loadbalance verbose该命令用来显示UDP连接负载分担的详细信息。
【命令】
display udp socket-loadbalance verbose [ slot slot-number ] [ port port-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:指定单板。slot-number表示单板所在的槽位号。如果不指定本参数,则表示指定主用主控板。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
port port-number:指定端口。port-number表示端口号,取值范围为1025~65535。如果不指定本参数,则表示所有创建UDP连接负载分担的端口。
【使用指导】
业务模块在需要提高UDP连接处理报文的性能时,会在一个业务端口上创建多个UDP连接(即socket),这些UDP连接之间按照一定的算法进行负载均衡,使得相同IP地址的相同端口上接收到的报文可以分担到多个UDP连接上处理。
【举例】
# 显示所有UDP连接负载分担的详细信息。
<Sysname> display udp socket-loadbalance verbose
LocalAddr:port: 10::1:457
VrfIndex: 0
Location: slot 1
LBCount: 10
LBConnectionlist:
NO Cc Drops Failures RvdPkts PCB
1 4294967296 4294967296 4294967296 4294967296 0000000000000001
2 9600 429 429 111111111 0000000000000002
3 960 4 4 11111111 0000000000000003
4 42 42 42 1111 0000000000000004
5 4 4 4 111 0000000000000005
6 4294 42949 42949 1111111 0000000000000006
7 429496 429496 429496 1111111 0000000000000007
8 429 42 42 1111 0000000000000008
9 429 429 429 11911 0000000000000009
10 42949 429496 429496 111111111 000000000000000A
# 显示指定端口的UDP连接负载分担详细信息。
<Sysname> display udp socket-loadbalance verbose port 4568
Local Addr:port: 192.168.5.1:4568
VrfIndex: 0
Index: 00000001
Location: slot 1
LBCount: 10
LBConnectionlist:
NO Cc Drops Failures RvdPkts PCB
1 4294967296 4294967296 4294967296 4294967296 000000000000000C
2 9600 429 429 111111111 000000000000000D
3 960 4 4 11111111 000000000000000E
4 42 42 42 1111 000000000000000F
5 4 4 4 111 0000000000000010
6 4294 42949 42949 1111111 0000000000000011
7 429496 429496 429496 1111111 0000000000000012
8 429 42 42 1111 0000000000000013
9 429 429 429 11911 0000000000000014
10 42949 429496 429496 111111111 0000000000000015
图1-1 display udp socket-loadbalance verbose命令显示信息描述表
字段 |
描述 |
Local Addr:port |
UDP连接的本端IP地址和端口号 |
VrfIndex |
VPN实例索引 |
Location |
Socket所在位置 |
LBCount |
负载分担的UDP连接数 |
LBConnectionlist |
UDP连接列表 |
No |
表项编号 |
Cc |
已使用的接收缓存区空间的字节个数 |
Drops |
因接收缓冲区溢出丢弃的报文数 |
Failures |
下发到内核失败的报文数 |
RvdPkts |
接收报文数 |
PCB |
协议控制块索引 |
【相关命令】
· display udp verbose
display udp statistics命令用来显示UDP流量统计信息。
【命令】
display udp statistics [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定单板的UDP流量统计信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的UDP流量统计信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
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 ;kenerl buff full: 0
Sent packets:
Total: 0
表1-14 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: xxx ;kenerl buff full: yyy:因为socket缓冲区已满而未向上层传送的报文数为xxx,因为内核发送缓冲区满而丢弃的报文数为yyy |
Sent packets: |
发送报文的信息,包括Total,表示发送的UDP报文总数 |
【相关命令】
· reset udp statistics
display udp verbose命令用来显示UDP连接详细信息。
【命令】
display udp verbose [ slot slot-number [ pcb pcb-index ] ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
pcb pcb-index:显示指定协议控制块索引的UDP连接详细信息。pcb-index表示协议控制块索引,取值范围为1~16。
slot slot-number:显示指定单板的UDP连接详细信息。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的UDP连接详细信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
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
Location: slot 6
Creator: sock_test_mips[250]
State: N/A
Options: N/A
Error: 0
Receiving buffer(cc/hiwat/lowat/drop/full/state): 0 / 41600 / 1 / 0 / 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)
Sending VRF: 0
Receiving VRF: 0xffff
表1-15 display udp verbose命令显示信息描述表
字段 |
描述 |
Total UDP socket number |
UDP socket总数 |
Connection info |
连接信息,分别为源IP地址及端口号、目的IP地址及端口号 |
Location |
socket所在位置 |
Creator |
创建socket的任务名称,括号中为创建者的进程号 |
State |
socket的状态,可能的状态如下: · NOFDREF:用户已经关闭 · ISCONNECTED:连接已经建立 · ISCONNECTING:正在建立连接 · ISDISCONNECTING:正在断开连接 · ISDISCONNECTED:连接已经断开 · ISPCBSYNCING:正在同步internet协议控制块 · ISSMOOTHING:正在平滑 · 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_TIMESTAMPNS:和时戳选项功能类似,时间可以精确到纳秒 · N/A:未设置选项 |
Error |
影响socket连接的错误码 |
Receiving buffer(cc/hiwat/lowat/drop/full/state) |
接收缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间、丢包数、内核发送缓冲区满的丢包数和状态,状态的取值有: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · N/A:不处于上述状态 |
Sending buffer(cc/hiwat/lowat/state) |
发送缓冲区信息,括号中分别为:当前使用空间、最大空间、最小空间和状态,状态的取值有: · CANTSENDMORE:不能发送数据到对端 · CANTRCVMORE:不能从对端接收数据 · 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支持 · N/A:不是上述标记 |
Inpcb extflag |
Internet协议控制块中的扩展标记,标记的取值有: · INP_EXTRCVPVCIDX:接收报文时记录报文的PVC索引 · INP_RCVPWID:接收报文时记录报文的PW ID · N/A:不是上述标记 |
Inpcb vflag |
Internet协议控制块中的IP版本标记,标记的取值有: · INP_IPV4:运用与IPv4通信 · N/A:不是上述标记 |
TTL |
Internet协议控制块中的生存周期,括号中为最小生存周期 |
Sending VRF |
发送实例 |
Receiving VRF |
接收实例 |
initial-congestion-window命令用来配置初始拥塞窗口大小。
undo initial-congestion-window命令用来恢复缺省情况。
【命令】
initial-congestion-window window-size
undo initial-congestion-window
【缺省情况】
初始拥塞窗口大小为32。
【视图】
QUIC策略视图
【缺省用户角色】
network-admin
【参数】
window-size:初始拥塞窗口大小,取值范围为4~100,单位为一个QUIC最小分段。
【使用指导】
初始拥塞窗口(Initial Congestion Window, IW)是在没有发生拥塞的情况下,传输层协议栈在建立连接初期可以发送的最大数据量。初始拥塞窗口的大小对数据传输的启动效率有直接影响,并在网络性能优化中扮演重要角色。
过小的初始拥塞窗口可能导致发送方发送速率过慢,从而降低整体网络的传输效率;而过大的初始拥塞窗口则可能导致网络拥塞,造成丢包和延迟增加。因此,合理设置初始拥塞窗口的大小至关重要。当网络出现拥塞时,合理的初始拥塞窗口能够帮助传输层协议栈迅速恢复到网络的最佳传输能力,最大化利用网络资源。
【举例】
# 指定QUIC策略profile1下设置的初始拥塞窗口大小为64。
<Sysname> system-view
[Sysname] quic profile profile1
[Sysname-quic-profile-profile1] initial-congestion-window 64
【相关命令】
· quic profile
ip df-bit命令用来配置DF标志位处理方式。
undo ip df-bit命令用来恢复缺省情况。
【命令】
ip df-bit { clear | set }
undo ip df-bit
【缺省情况】
保留当前IP报文DF标志位取值。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
clear:配置IP报文头中的DF位为0,表示允许报文分片。
set:配置IP报文头中的DF位为1,表示不允许报文分片。
【举例】
# 配置IP报文头中的DF标志位为0,即允许IP报文分片。
<Sysname> system-view
[Sysname] ip df-bit clear
ip forward-broadcast命令用来配置允许接口转发直连网段的定向广播报文。
undo ip forward-broadcast命令用来禁止接口转发直连网段的定向广播报文。
【命令】
ip forward-broadcast
undo ip forward-broadcast
【缺省情况】
设备禁止转发直连网段的定向广播报文。
【视图】
接口视图
【缺省用户角色】
network-admin
【使用指导】
定向广播报文是指发送给特定网络的广播报文。该报文的目的IP地址中网络号码字段为特定网络的网络号,主机号码字段为全1。
在转发定向广播报文的情况下,如果在接口上配置了此命令,设备从其他接口接收到目的地址为此接口直连网段的定向广播报文时,会从此接口转发此类报文。
黑客可以利用定向广播报文来攻击网络系统,给网络的安全带来了很大的隐患。但在某些应用环境下,设备接口需要转发这类定向广播报文,例如:
· 开启UDP Helper功能,将广播报文转换为单播报文发送给指定的服务器。
· 开启Wake on LAN(网络唤醒)功能,发送定向广播报文唤醒远程网络中的计算机。
在上述情况下,用户可以通过命令配置接口允许转发直连网段的定向广播报文。
【举例】
# 配置允许接口GigabitEthernet0/0/1转发直连网段的定向广播报文。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] 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 fragment discarding命令用来关闭ICMP分片报文转发功能。
undo ip icmp fragment discarding命令用来开启ICMP分片报文转发功能。
【命令】
ip icmp fragment discarding
undo ip icmp fragment discarding
【缺省情况】
ICMP分片报文转发功能处于开启状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
为了防止ICMP分片报文攻击,用户可以关闭设备的ICMP分片报文转发功能,对于收到的ICMP分片报文不进行转发。
【举例】
# 关闭ICMP分片报文转发功能。
<Sysname> system-view
[Sysname] ip icmp fragment discarding
ip icmp receive enable命令用来开启接收指定类型的ICMP报文的功能。
undo ip icmp receive enable命令用来关闭接收指定类型的ICMP报文的功能。
【命令】
ip icmp { name icmp-name | type icmp-type code icmp-code } receive enable
undo ip icmp { name icmp-name | type icmp-type code icmp-code } receive enable
【缺省情况】
设备会接收所有类型的ICMP报文。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
name icmp-name:ICMP报文的名称。icmp-name为1~20个字符长度的字符串,不区分大小写,取值和含义如表1-16所示。
type icmp-type:ICMP报文的type字段,icmp-type的取值范围为0~255。
code icmp-code:ICMP报文的code字段,icmp-code的取值范围为0~255。
【使用指导】
缺省情况下,设备会接收所有类型的ICMP报文,这会产生安全隐患。例如设备短时间内收到大量的回送请求报文时,会影响设备性能,导致设备无法正常运行。为了提高安全性,可以关闭设备接收指定类型的ICMP报文的功能。
常用的ICMP报文的名称和含义如表1-16所示。
请根据网络实际情况执行本命令,随意关闭接收指定类型的ICMP报文的功能,可能会影响网络的正常运行。
表1-16 ICMP报文名称及其含义表
名称 |
含义 |
echo |
回送请求报文(Type=8,Code=0)。回送请求报文用于发送到目标节点,以触发目标节点立即发回一个回送应答报文 |
echo-reply |
回送应答报文(Type=0,Code=0)。当收到一个回送请求报文时,ICMP会用回送应答报文来响应 |
fragmentneed-dfset |
需要分片但却设置了不分片标志的报文(Type=3,Code=4) |
host-redirect |
主机重定向报文(Type=5,Code=1) |
host-tos-redirect |
主机ToS重定向报文(Type=5,Code=3) |
host-unreachable |
主机不可达报文(Type=3,Code=1) |
information-reply |
信息应答报文(Type=16,Code=0) |
information-request |
信息请求报文(Type=15,Code=0) |
net-redirect |
网络重定向报文(Type=5,Code=0) |
net-tos-redirect |
网络ToS重定向报文(Type=5,Code=2) |
net-unreachable |
网络不可达报文(Type=3,Code=0) |
parameter-problem |
参数错误报文(Type=12,Code=0) |
port-unreachable |
端口不可达报文(Type=3,Code=3) |
protocol-unreachable |
协议不可达报文(Type=3,Code=2) |
reassembly-timeout |
分片重组超时报文(Type=11,Code=1) |
source-quench |
源站抑制报文(Type=4,Code=0) |
source-route-failed |
源路由失败报文(Type=3,Code=5) |
timestamp-reply |
时间戳应答报文(Type=14,Code=0) |
timestamp-request |
时间戳请求报文(Type=13,Code=0) |
ttl-exceeded |
TTL超时报文(Type=11,Code=0) |
【举例】
# 开启接收ICMP echo-reply报文的功能。
<Sysname> system-view
[Sysname] ip icmp name echo-reply receive enable
ip icmp send enable命令用来开启发送指定类型的ICMP报文的功能。
undo ip icmp send enable命令用来关闭发送指定类型的ICMP报文的功能。
【命令】
ip icmp { name icmp-name | type icmp-type code icmp-code } send enable
undo ip icmp { name icmp-name | type icmp-type code icmp-code } send enable
【缺省情况】
发送ICMP目的不可达报文、ICMP超时报文和ICMP重定向报文功能处于关闭状态;发送其它ICMP报文功能处于开启状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
name icmp-name:ICMP报文的名称。icmp-name为1~20个字符长度的字符串,不区分大小写,取值和含义如表1-17所示。
type icmp-type:ICMP报文的type字段,icmp-type的取值范围为0~255。
code icmp-code:ICMP报文的code字段,icmp-code的取值范围为0~255。
【使用指导】
缺省情况下,设备支持发送大多数类型的ICMP报文,这样可能会存在安全隐患。例如设备发出的时间戳请求应答、掩码请求应答、网络重定向和网络不可达等报文,其携带的设备相关信息可能给被攻击者获取并发起攻击。为了提高安全性,可以关闭设备对指定类型的ICMP报文的发送功能。
ICMP目的不可达报文发送功能同时受本命令和ip unreachables enable命令的控制。只要一方开启,ICMP目的不可达报文发送功能就处于开启状态。
ICMP超时报文发送功能同时受本命令和ip ttl-expires enable命令的控制。只要一方开启,ICMP超时报文发送功能就处于开启状态。
ICMP重定向报文发送功能同时受本命令和ip redirects enable命令的控制。只要一方开启,ICMP重定向报文发送功能就处于开启状态。
常用的ICMP报文的名称和含义如表1-17所示。
请根据网络实际情况执行本命令,随意关闭发送指定类型的ICMP报文的功能,可能会影响网络的正常运行。
表1-17 ICMP报文名称及其含义表
名称 |
含义 |
echo |
回送请求报文(Type=8,Code=0)。回送请求报文用于发送到目标节点,以触发目标节点立即发回一个回送应答报文 |
echo-reply |
回送应答报文(Type=0,Code=0)。当收到一个回送请求报文时,ICMP会用回送应答报文来响应 |
fragmentneed-dfset |
需要分片但却设置了不分片标志的报文(Type=3,Code=4) |
host-redirect |
主机重定向报文(Type=5,Code=1) |
host-tos-redirect |
主机ToS重定向报文(Type=5,Code=3) |
host-unreachable |
主机不可达报文(Type=3,Code=1) |
information-reply |
信息应答报文(Type=16,Code=0) |
information-request |
信息请求报文(Type=15,Code=0) |
net-redirect |
网络重定向报文(Type=5,Code=0) |
net-tos-redirect |
网络ToS重定向报文(Type=5,Code=2) |
net-unreachable |
网络不可达报文(Type=3,Code=0) |
parameter-problem |
参数错误报文(Type=12,Code=0) |
port-unreachable |
端口不可达报文(Type=3,Code=3) |
protocol-unreachable |
协议不可达报文(Type=3,Code=2) |
reassembly-timeout |
分片重组超时报文(Type=11,Code=1) |
source-quench |
源站抑制报文(Type=4,Code=0) |
source-route-failed |
源路由失败报文(Type=3,Code=5) |
timestamp-reply |
时间戳应答报文(Type=14,Code=0) |
timestamp-request |
时间戳请求报文(Type=13,Code=0) |
ttl-exceeded |
TTL超时报文(Type=11,Code=0) |
【举例】
# 开启发送ICMP echo-reply报文的功能。
<Sysname> system-view
[Sysname] ip icmp name echo-reply send enable
【相关命令】
· ip icmp fragment discarding
· ip redirects enable
· ip ttl-expires enable
· ip unreachables enable
ip icmp source命令用来指定ICMP报文源地址。
undo ip icmp source命令用来删除指定的ICMP报文源地址。
【命令】
ip icmp source [ vpn-instance vpn-instance-name ] ip-address
undo ip icmp source [ vpn-instance vpn-instance-name ]
【缺省情况】
未指定ICMP报文源地址。
发送ICMP差错报文(TTL超时、端口不可达和参数错误等)时,设备使用触发ICMP差错报文的原始报文的入接口IP地址作为ICMP报文源地址。
发送ICMP echo request报文时,设备使用出接口IP地址作为ICMP报文源地址。
发送ICMP echo reply报文时,设备使用ICMP echo request报文的目的地址作为ICMP报文源地址。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:指定地址所在的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。指定的VPN实例必须已经存在。如果未指定本参数,则表示公网内的IP地址。
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的大小,单位为字节,本参数的取值范围与接口的类型有关,请以实际情况为准。
【使用指导】
当设备收到一个报文后,如果发现报文长度比转发接口的发送IPv4报文的MTU值大,则进行下列处理:
· 如果报文不允许分片,则将报文丢弃;
· 如果报文允许分片,则将报文进行分片转发。
为了减轻转发设备在传输过程中的分片和重组数据包的压力,更高效的利用网络资源,请根据实际组网环境设置合适的接口发送IPv4报文的MTU值,以减少分片的发生。
如果当前接口同时支持mtu和ip mtu命令,则设备会以ip mtu命令配置的接口发送IPv4报文的MTU值对报文进行分片,不会再按照mtu命令配置的MTU值对报文进行分片。
【举例】
# 配置GigabitEthernet0/0/1接口上发送IPv4报文的MTU值为1280字节。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] 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 aging命令用来配置IP虚拟分片重组功能缓存报文的老化时间。
undo ip virtual-reassembly aging命令用来恢复缺省情况。
【命令】
ip virtual-reassembly aging aging-milliseconds
undo ip virtual-reassembly aging
【缺省情况】
缓存报文的老化时间为3000毫秒。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
aging-milliseconds:虚拟分片重组缓存报文的老化时间,取值范围为10~5000,单位为毫秒。
【使用指导】
每个需要进行虚拟分片重组的分片报文均有一个老化时间,该老化时间到达后,报文将直接被丢弃,而不会进入后续的报文重组处理过程。
当某个业务在缓存中积压大量分片报文时,缓存队列中报文的ID字段可能会重复。先进入缓存队列的报文,如果某个分片丢包,则会将后进入缓存队列的、ID相同的报文的分片补充进自己的分片队列,导致分片重组错误。在某个业务缓存的分片报文过多,同时存在丢包的场景下,建议通过本命令减小缓存报文的老化时间,减少缓存报文的积压,继而降低由丢包和ID重复引起的报文分片重组错误的概率。设备开启虚拟分片重组功能后,缓存报文的老化时间配置才能生效。
【举例】
# 配置IP虚拟分片重组功能中缓存报文的老化时间为300毫秒。
<Sysname> system-view
[Sysname] ip virtual-reassembly aging 300
【相关命令】
· ip virtual-reassembly 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虚拟分片重组功能。
<Sysname> system-view
[Sysname] ip virtual-reassembly enable
quic profile命令用来创建QUIC策略,并进入QUIC策略视图。如果指定的QUIC策略已经存在,则直接进入QUIC策略视图。
undo quic profile命令用来删除指定的QUIC策略。
【命令】
quic profile profile-name
undo quic profile profile-name
【缺省情况】
未创建QUIC策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
profile-name:QUIC策略名称,为1~31个字符的字符串,不区分大小写。
【使用指导】
为了提高互联网链路流量的传输质量,可以选择使用QUIC协议进行流量传输。通过创建QUIC策略,并在策略下配置QUIC流量的拥塞控制算法、接收缓冲区大小、拥塞窗口大小等参数,实现对QUIC流量传输的优化处理。
QUIC流量的优化处理通过WAAS(Wide Area Application Services,广域网应用服务)技术来实现。在系统视图下可以创建多个QUIC策略,并为每个策略单独配置参数。WAAS能够根据不同应用场景或网络条件,引用不同的QUIC策略,从而实现对各种流量的精确控制。有关WAAS技术的详细介绍,请参见“三层技术-IP业务配置指导”中的“WAAS”。
【举例】
# 创建QUIC策略profile1,并进入QUIC策略视图。
<Sysname> system-view
[Sysname] quic profile profile1
[Sysname-quic-profile-profile1]
receive-buffer命令用来配置接收缓冲区大小。
undo receive-buffer命令用来恢复缺省情况。
【命令】
receive-buffer buffer-size
undo receive-buffer
【缺省情况】
接收缓冲区为64KB。
【视图】
QUIC策略视图
【缺省用户角色】
network-admin
【参数】
buffer-size:接收缓冲区大小,取值范围为32~16384,单位为KB。
【使用指导】
接收缓冲区大小定义了在接收端用于存储接收到的数据包的缓冲区容量。用户可以通过调整接收缓冲区的大小来影响线路的吞吐量。
【举例】
# 指定QUIC策略profile1下设置的接收缓冲区大小为1024KB。
<Sysname> system-view
[Sysname] quic profile profile1
[Sysname-quic-profile-profile1] receive-buffer 1024
【相关命令】
· quic profile
reset ip statistics命令用来清除IP报文统计信息。
【命令】
reset ip statistics [ slot slot-number ]
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
slot slot-number:清除指定单板的IP报文统计信息。slot-number表示单板所在的槽位号。如果未指定本参数,则清除所有单板上的IP报文统计信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
在某些情况下,需要统计一定时间内接口的IP报文统计信息,这时必须在统计开始前清除原有的统计信息,重新进行统计。
【举例】
# 清除IP报文统计信息。
<Sysname> reset ip statistics
【相关命令】
· display ip interface(三层技术-IP业务命令参考/IP地址)
· display ip statistics
reset udp statistics命令用来清除UDP流量统计信息。
【命令】
reset udp statistics
【视图】
用户视图
【缺省用户角色】
network-admin
【举例】
# 清除UDP流量统计信息。
<Sysname> reset udp statistics
【相关命令】
· display udp statistics
snmp-agent trap enable port-attack命令用来开启端口攻击的告警功能。
undo snmp-agent trap enable port-attack命令用来关闭端口攻击的告警功能。
【命令】
snmp-agent trap enable port-attack
undo snmp-agent trap enable port-attack
【缺省情况】
端口攻击的告警功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启端口攻击的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件,例如端口在收到ICMP报文超速的情况下,该模块会产生告警信息,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
【举例】
# 开启端口攻击的告警功能。
<Sysname> system-view
[Sysname] snmp-agent trap enable port-attack
snmp-agent trap enable tcp命令用来开启TCP告警功能。
undo snmp-agent trap enable tcp命令用来关闭TCP告警功能
【命令】
snmp-agent trap enable tcp
undo snmp-agent trap enable tcp
【缺省情况】
TCP的告警功能处于开启状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启TCP模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件,例如在LDP会话使用的TCP连接上的MD5认证失败时,设备将此信息记录在告警信息中,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
【举例】
# 关闭TCP的告警功能。
<Sysname> system-view
[Sysname] undo snmp-agent trap enable tcp
statistics l3-packet enable命令用来开启三层报文统计功能。
undo statistics l3-packet enable命令用来关闭三层报文统计功能。
【命令】
statistics l3-packet enable { inbound | outbound }
undo statistics l3-packet enable { inbound | outbound }
【缺省情况】
三层报文统计功能处于关闭状态。
【视图】
接口视图
【缺省用户角色】
network-admin
【参数】
inbound:开启入方向上的三层报文统计功能。
outbound:开启出方向上的三层报文统计功能。
【使用指导】
开启本功能后,设备会统计接口接收或发送的IP报文的数量,该统计信息可通过display ip statistics命令查看;也会统计接口的IP报文统计速率,统计速率可通过命令行display interface查看。接口报文流量过大时,开启本功能会造成设备CPU占用率高,影响转发性能。因此,当用户不需要统计接口接收的IP报文数量时,建议关闭本功能。
【举例】
# 开启接口GigabitEthernet0/0/1的三层报文统计功能。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] statistics l3-packet enable
【相关命令】
· display interface(接口管理命令参考/以太网接口)
· display ip statistics
· display ipv6 interface(三层技术-IP业务命令参考/IPv6基础)
· display ipv6 statistics(三层技术-IP业务命令参考/IPv6基础)
tcp auto-adjust-mss命令用来配置全局的TCP最大报文段长度。
undo tcp auto-adjust-mss命令用来恢复缺省情况。
【命令】
tcp auto-adjust-mss value
undo tcp auto-adjust-mss
【缺省情况】
全局的TCP最大报文段长度为1460字节。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
value:TCP最大报文段长度,取值范围为128~63960,单位为字节,缺省值为1460。
【使用指导】
本功能用来配置TCP MSS自动调整功能中的一个比较项。TCP MSS自动调整功能应用于在GRE、SSLVPN和IPsec VPN场景中,可以使设备根据VPN业务种类的不同,自动调整TCP MSS值,避免TCP报文经过中间设备时分片。
使能TCP MSS功能后,设备建立TCP连接时,接口上可以发送的最大TCP报文字段长度为以下MSS中的最小值:
· 报文自身的MSS值。
· 基于接口上发送IPv4报文的MTU值和VPN业务类型,自动计算得到的MSS值。
· 接口的TCP MSS值(由tcp mss命令配置)。
· 全局的TCP MSS值(由本命令配置)。
基于接口上发送IPv4报文的MTU值和VPN业务类型计算MSS值的方法为:MSS=MTU值-IP头部长度-TCP头部长度-APPENDLEN。其中,MTU表示接口最大传输单元,APPENDLEN表示进行VPN相关业务新增封装字段。
本功能在TCP MSS自动调整功能开启时生效。
本功能的配置仅对新建的TCP连接生效,对于已建立的TCP连接不生效。
【举例】
# 配置全局的TCP最大报文段长度为1450字节。
<Sysname> system-view
[Sysname] tcp auto-adjust-mss 1450
【相关命令】
· ip mtu
· tcp auto-adjust-mss enable
· tcp mss
tcp auto-adjust-mss enable命令用来开启TCP MSS自动调整功能。
undo tcp auto-adjust-mss enable命令用来关闭TCP MSS自动调整功能。
【命令】
tcp auto-adjust-mss enable
undo tcp auto-adjust-mss enable
【缺省情况】
TCP MSS自动调整功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
在GRE、SSL VPN和IPsec VPN场景下,VPN相关业务会使TCP报文新增封装字段(即APPENDLEN),使封装后的报文长度可能超出接口的MTU值,从而导致TCP报文在经过VPN业务的中间设备时分片,降低传输效率。
不同VPN业务的APPENDLEN不同,难以手动配置满足所有VPN业务的TCP MSS值。在VPN业务的中间设备上使能本功能,设备可以根据VPN业务种类的不同,自动调整TCP MSS值,使得VPN相关业务报文封装后的长度等于接口的MTU值,避免TCP报文经过中间设备时分片。
使能本功能后,设备会基于接口上发送IPv4报文的MTU值(由ip mtu命令配置)和VPN业务类型,自动计算MSS值,计算方法为:MSS=MTU值-IP头部长度-TCP头部长度-APPENDLEN。
使能本功能后,设备建立TCP连接时,接口上可以发送的TCP最大报文段长度为以下值中的最小值:
· 报文自身的MSS值。
· 基于接口上发送IPv4报文的MTU值和VPN业务类型,自动计算得到的MSS值。
· 接口的TCP MSS值(由tcp mss命令配置)。
· 全局的TCP MSS值(由tcp auto-adjust-mss命令配置)。
关闭本功能后,无法根据业务类型自动调整TCP MSS值。此时设备建立TCP连接时,接口上可以发送的最大TCP报文字段长度为以下值中的最小值:
· 报文自身的MSS值。
· 接口的TCP MSS值(由tcp mss命令配置)。
开启本功能后,设备转发报文的过程中需要额外进行一次MSS取值的处理,因此会影响会话新建和转发性能,在追求转发性能的场景下,建议关闭本功能。
本功能的配置仅对新建的TCP连接生效,对于已建立的TCP连接不生效。
【举例】
# 开启TCP MSS自动调整功能。
<Sysname> system-view
[Sysname] tcp auto-adjust-mss enable
【相关命令】
· ip mtu
· tcp auto-adjust-mss
· tcp mss
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功能后,不建议再配置本功能。
【举例】
# 配置接口GigabitEthernet0/0/1上TCP最大报文段长度为300字节。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] 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命令来配置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(三层技术-IP业务命令参考/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 window命令用来设置TCP连接的收发缓冲区大小。
undo tcp window命令用来恢复缺省情况。
【命令】
tcp window window-size
undo tcp window
【缺省情况】
TCP连接的收发缓冲区大小为63KB。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
window-size:TCP连接的收发缓冲区大小,取值范围为5~64,单位为KB(千字节)。
【举例】
# 设置TCP连接的收发缓冲区大小为6KB。
<Sysname> system-view
[Sysname] tcp window 6
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!