观察的结果是基于wireshark。wireshark是否正确直接决定了下面的结果是否正确。
DB2的版本是V9,使用JAVA的JDBC连接。驱动是db2jcc.jar。其他连接方式没有尝试过。
DRDA是使用TCP作为传输层协议。
一个数据包有n个DRDA。
DRDA = DDM + n* PARAMETER。(n>=0)。
DDM
作用:描述这个DRDA
组成:(以字节为单位)
2--length(这个DRDA的长度)
1--Magic
1--Fomat
2--correlID(连接的ID)
2--length2(?)
2--code point(描述这个DRDA的用途)
PARAMETER
作用:存放数据
组成:(以字节为单位)
2--length(这个PARAMETER的长度)
2--code point(描述这个数据的用途)
length-4 -- data (EBCDIC字符)
一:建立连接:
第一次交互:客户端和数据库服务器交换彼此硬件和软件的信息。
客户端:
DDM Code point :EXCSAT(0x1041)
PARAMETER Code point :EXTNAM(0x115e) external name 客户端
PARAMETER Code point :SRVNAM(0x116d) server name 客户端
PARAMETER Code point :SRVRLSLV(0x115a) server product release level 客户端版本
数据库