2.2.1.1 Client X.224 Connection Request PDU

The X.224 Connection Request PDU is an RDP Connection Sequence PDU sent from client to server during the Connection Initiation phase of the RDP Connection Sequence (section 1.3.1.1 for an overview of the RDP Connection Sequence phases).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

tpktHeader

x224Crq

...

routingToken (variable)

...

cookie (variable)

...

rdpNegReq (optional)

...

rdpCorrelationInfo (36 bytes, optional)

...

...

tpktHeader (4 bytes): A TPKT Header, as specified in [T123] section 8.

x224Crq (7 bytes): An X.224 Class 0 Connection Request transport protocol data unit (TPDU), as specified in [X224] section 13.3.

routingToken (variable): An optional and variable-length routing token (used for load balancing) terminated by a 0x0D0A two-byte sequence. For more information about the routing token format, see [MSFT-SDLBTS] "Routing Token Format". The length of the routing token and CR+LF sequence is included in the X.224 Connection Request Length Indicator field. If this field is present, then the cookie field MUST NOT be present.

cookie (variable): An optional and variable-length ANSI character string terminated by a 0x0D0A two-byte sequence. This text string MUST be "Cookie: mstshash=IDENTIFIER", where IDENTIFIER is an ANSI character string (an example cookie string is shown in section 4.1.1). The length of the entire cookie string and CR+LF sequence is included in the X.224 Connection Request Length Indicator field. This field MUST NOT be present if the routingToken field is present.

rdpNegReq (8 bytes): An optional RDP Negotiation Request (section 2.2.1.1.1) structure. The length of this field is included in the X.224 Connection Request Length Indicator field.

rdpCorrelationInfo (36 bytes): An optional Correlation Info (section 2.2.1.1.2) structure. The length of this field is included in the X.224 Connection Request Length Indicator field. This field MUST be present if the CORRELATION_INFO_PRESENT (0x08) flag is set in the flags field of the RDP Negotiation Request structure, encapsulated within the optional rdpNegReq field. If the CORRELATION_INFO_PRESENT (0x08) flag is not set, then this field MUST NOT be present.