oracle的tns协议分析

 原帖地址:http://www.itpub.net/341654.html

1. TNS Connect 建立连接
Packet Length
报文长度 2 BYTE

Packet Checksum
报文Checksum 2 BYTE (保留)

TNS Packet Type
TNS报文类型 1 BYTE (0x01 表示Connect 建立连接)

Packet Flags
报文Flags 1 BYTE

Header Checksum
TNS头Checksum 2 BYTE (保留)

NS Version Number
版本号 2 BYTE

Compatible with Version
兼容的版本号 1 BYTE

Global Service Options 1
服务选项1 1 BYTE 其中用到6Bit标志位

[0]0000000 0[0]000000
None None
保留 保留

00[0]00000 000[0]0000
No Broken Connect Notify No Packet Checksum
断开连接的消息 是否有报文Checksum

0000[0]000 00000[0]00
No Header Checksum Not Full Duplex
是否有头Checksum 是否全双工

000000[0]0 0000000[0]
Not Half Duplex Don’t Care
是否半双工 保留


Global Service Options 2
服务选项2 1 BYTE 其中用到5Bit标志位

[0]0000000 0[0]000000
Don’t Care None
保留 保留

00[0]00000 000[0]0000
None Not Redirect I/O to transport
保留 重定向I/O输入输出

0000[0]000 00000[0]00
Attention Processing Can’t rcv Attention
进程监视 是否接受监视消息

000000[0]0 0000000[0]
Can’t send Attention None
是否发送监视消息 保留

SDU Size
SDU尺寸 2 BYTE

TDU Size
TDU尺寸 2 BYTE

NT Protocol Characteristicsl 1
协议特性1 1 BYTE 其中用到8Bit标志位

[1]0000000 0[0]000000
Hangon to Listener Connection Not comfirmed release
挂起Listen连接 是否释放

00[1]00000 000[0]0000
TDU I/O Base Spawner is not running
是否基于TDU传输 是否存在子报文

0000[0]000 00000[0]00
Not a data test Callback I/O not supported
是否为数据测试 I/O回收支持

000000[1]0 0000000[0]
Asnychronous I/O Supported I/O is packet oriented
I/O异步支持 I/O向导

NT Protocol Characteristicsl 2
协议特性2 1 BYTE 其中用到8Bit标志位

[0]0000000 0[0]000000
Can’t to grant connection another Can’t hangoff connection to another
是否准许其他的连接 是否不挂起其它的连接

00[0]00000 000[0]0000
Don’t generate SIGIO singnal Don’t generate SIGPIPE singnal
是否产生SIGIO信号 是否产生SIGPIPE信号

0000[1]000 00000[0]00
Generate SUGURG singnal Urgent data I/O not supported
产生SUGURG信号 是否支持紧急数据I/O

000000[1]0 0000000[0]
Full duplex I/O supported Not a test operation
全双工I/O支持 是否为一个测试的操作

Max packets before receive expected
期待接受前最大的报文数 2 BYTE

Hardware ‘1’ encoding
硬件标志编码 2 BYTE

Connect data length
连接用数据段的长度 2 BYTE

Offset start to connect data
数据段起始的偏移地址 2 BYTE

Maxinum connect data receivable
最大的连接数据段尺寸 4 BYTE

Connect flag 0
连接标志1 1 BYTE 其中用到5Bit标志位

[0]0000000 0[0]000000
None None
保留 保留

00[0]00000 000[0]0000
None NA Services not required
保留 是否为请求NA服务
0000[0]000 00000[0]00
NA Services are linked in Enable NA Services
NA服务是否已连接 此连接是否允许NA服务

000000[0]0 0000000[1]
Interchange is not involved Want to NA Services
异常交换 是否需要NA服务

Connect flag 1
连接标志2 1 BYTE 其中用到5Bit标志位

[0]0000000 0[0]000000
None None
保留 保留

00[0]00000 000[0]0000
None NA Services not required
保留 是否为请求NA服务
0000[0]000 00000[0]00
NA Services are linked in Enable NA Services
NA服务是否已连接 此连接是否允许NA服务

000000[0]0 0000000[1]
Interchange is not involved Want to NA Services
异常交换 是否需要NA服务

Cross Facility Item 1 4 BYTE

Cross Facility Item 2 4 BYTE

Unique Connection ID
唯一的连接ID 8 BYTE

None
保留字段 8 BYTE

Connect Data
连接数据段 (明文,可变长)
比如:
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.0.1)
(PORT=1521)
)
(CONNECT_DATA=
(SERVICE_NAME=DEMO)
(CID=
(PROGRAM=C:/ORA81/BIN/SQLPLUS.EXE)
(HOST=CLIENTHOST)
(USER=Administrator)
)
)
)

可能存在 COMMAND=DEBUG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值