rfc1698.txt

来自「中、英文RFC文档大全打包下载完全版 .」· 文本 代码 · 共 1,543 行 · 第 1/5 页

TXT
1,543
字号
   In the comments, the notation {n} refers to the constructed item   bracketed by the {n, }n fields.6.  Octet sequences6.1 Connection request message        - CONNECT SPDU   0D  Ls  {1       - "SI" value for CONNECT = 13   *   Ls  ?        - Connection Identifier   05  06  {2       - Connect/Accept Item   13  01  00       - protocol options (probably mandatory)   *   Ls  ?   16  01  02       -- version number (bottom bit = v1, next bit =v2.                    --     may get offers of either or both   *   Ls  ?   14  02  0002     - Session User Requirements (functional units)                    - Id (20), length (always 2), duplex fu only.                    -- On receipt, other bits may be set                    -- check that the 2 bit is set   *   Ls  ?        - we do not send any Calling Session SelectorFurniss                                                        [Page 17]RFC 1698             ThinOSI Upper-Layers Cookbook          October 1994   ?34 Ls  xxxx     -- Called Session Selector (i.e., the other end's)                    -- up to 16 octets - you must set what the other                    -- side demands.  - May be anything characters,                    -- binary etc.                    -  {3} disappeared in editing   C1  Ls  {4       -- User Data, Identifier=193. if length is > 512,                    -- then identifier is 194 (hex C2) instead   - CP - P-CONNECT-RI PPDU. Everything below is in ASN.1 BER   31  80  {5       - [SET]              --- Mode-selector (the {6} group) could possibly              --- come after everything else {7}              --- This will probably only be done by              --- evil-minded conformance testers   A0  80  {6       - Mode-selector [0] IMPLICIT SET   80  01  01       - [0] IMPLICIT INTEGER {normalmode(1)}   00  00  }6   A2  La  {7       - [2] unnamed IMPLICIT SEQUENCE   *   La  ?   ?82 La  xxxx     - [2] Called-presentation-selector                    - CULR says maximum length is 4                    -- must be what the other side wants   A4  80  {8       - [4] Presentation-context-definition-list                ---  items (the outer SEQUENCEs) within the {8} list may                ---  be in any order.   30  80  {9       - [SEQUENCE]   02  01  01       -- Defines pcid for ACSE; received value will be                    -- a one or two octet odd integer   06  04  52010001 - [OID] for ACSE abstract syntax   30  80  {        - [SEQUENCE]   06  02  5101     - [OID] Transfer syntax name is BER   00  00  }        - end t-s list   00  00  }9       - end acse pctx defn   30  80  {10      - [SEQUENCE]   02  01  03       -- [INTEGER] Defines pcid for application data;                    -- received value will be a one or two octet odd                    -- integer   06  La  xxxxxx   - [OID] object identifier name of application                    - abstract syntax (if CULR-3 default is used, this                    - line is 06  06  28D734030101)   30  80  {11   06  La  xxxxxx   - [OID] t-s name for application data                    - (if CULR-3 default is used, this line is                    -  06  06  28D734030201)                -- will be several of these if multiple t-s offered                -- (application is Group III)                -- all will have the same tag 06   00  00  }11      - end transfer syntax list for application p-ctx   00  00  }10      - end application pctx definitionFurniss                                                        [Page 18]RFC 1698             ThinOSI Upper-Layers Cookbook          October 1994                -- if multiple presentation contexts are offered, (Group                -- IV), the {10} SEQUENCE will repeat appropriately                -- if multiple contexts are to be accepted, all the                -- pcid's must be remembered   00  00  }8       - end of p-ctx-def-list   *   La  ?   61  80  {12      - [APPLICATION 1] User-data - Fully-encoded   30  80  {13      - [SEQUENCE] PDV-list   02  01  01      -- [INTEGER], value is acse pcid   A0  80  {14      - [0] Single-ASN1   - ACSE A-ASSOCIATE request APDU - AARQ   60  80  {15      - [APPLICATION 0] - AARQ   *   La  ?        -  protocol version defaults to 1 (only one defined)   A1  80  {        - [1] Application-context   06  La  xxxxxx   -- object identifier name of application context                    - (if CULR-3 default is used, this line is                    -  06  05  28D7340303)   00  00  }             -- Called application process title {16} and application             -- entity qualifier may or may not be needed (see 3.4)   ?A2 80  {16      - [2] Called Application-Process title   ?!  La  xxxxxx   -- see 3.5 - either a Directory Name or an oid   ?00 00  }16      - end Called APtitle   ?A3 80  {17      - [3] Called Application-Entity Qualifier   ?!  La  xxxxxx   -- see 3.5   ?00 00  }17   *   La  ?             Calling AP-title and AE-qualifier may or may not be needed.   ?A6 80  {18      - [6] Calling Application-Process title   ?!  La  xxxxxx   -- see 3.5   ?00 00  }18   ?A7 80  {19      - [7] Calling Application-Entity Qualifier   ?!  La  xxxxxx   -- see 3.5   ?00 00  }19   *   La  ?            -- the user information field may or may not be required            -- (not required for Group I)   ?BE 80  {20      - [30] IMPLICIT SEQUENCE   ?28 80  {21      - [EXTERNAL]   ?06 La xxxxxx   -- [OID] This is the oid identifying the transfer                    -- syntax used for the user data.                    -- It is (almost certainly) required even if only                    -- one transfer syntax was proposed.   ?02 01  03       -  [INTEGER] this is the pcid for the application                    -  data   ?A0 La  xxxxxx   -- [0] single-ASN.1-type - the application data                    --      (see paragraph at end of this section below}   ?00 00  }21      - end of EXTERNALFurniss                                                        [Page 19]RFC 1698             ThinOSI Upper-Layers Cookbook          October 1994            -- conceivably there may be several EXTERNALS, probably in            -- different presentation contexts (different pcids)   ?00 00  }20      - end of user information field   00  00  }15      - end of AARQ   00  00  }14      - end of single-ASN-type   00  00  }13      - end of PDV-list   00  00  }12      - end of Presentation User-data   00  00  }7       - end of third element of CP-type SET   00  00  }5       - end of CP-type   The application data carried in the EXTERNAL is shown (as A0 La xxxx)   assuming it is a single-ASN.1 type, which it often will be for group   II (since these tend to be OSI applications). The xxxx will be the   BER encoding of the application pdu (probably something like Z-BIND   or Y- INITIALIZE). The length may be indefinite.   If the application data is not a single ASN.1 type, but is an octet-   aligned value, the A0 La xxxx is replaced by 81 La xxxx, where xxxx   is the value. In this case the length must be definite (unless an   "unnecessary" constructed encoding is used.)   Identical considerations apply to the other EXTERNALs carried in the   ACSE pdus.6.2 Successful reply to connection setup   If the connection attempt is successful, the following is sent to the   initiator on a T-DATA.   0E  Ls  {1         - ACCEPT SPDU   *   Ls  ?   05  06  {2         - Connect/Accept Item   13  01  00         - Protocol Options   *   Ls  ?   16  01  02         - version number (this shows version 2 only)                  -- if version 2 was not offered, omit all of {2}   *   Ls  ?   14  02  0002       - Session User Requirements (functional units)                      - duplex fu only (kernel is automatic)   *   Ls  ?   C1  Ls  {3         -- User Data.     - CPA - P-CONNECT response   31  80  {4         - [SET]                      -- again, Mode-selector could come at the end   A0  80  {          -  Mode-selector [0]   80  01  01         -  normal mode - [0], length=1, value=1   00  00  }   A2  80  {5         - [2] SEQUENCE (unnamed)Furniss                                                        [Page 20]RFC 1698             ThinOSI Upper-Layers Cookbook          October 1994   *   La  ?   A5  80  {6         - [5] P-context-definition-result-list                   -- following result items are in the order                   -- corresponding to the pctx-definition-list in                   -- the connect                   -- this example assumes that was ACSE, user, rubbish                   -- with rubbish rejected   30  80  {7         - [SEQUENCE] result item for acse   80  01  00         -- [0] result, value 0 is acceptance   81  02  5101       -  [1] accepted transfer syntax name = BER                      - note that this has an implicit tag, not 06   00  00  }7         - end result item for acse p-ctx   30  80  {8         - [SEQUENCE] result item for application-data pctx   80  01  00         - [0] value 0 is acceptance   81  La  xxxxxx     - [1] oid for transfer syntax, as on definition list                      -- if there were several (groupIII) , the one you                      -- liked most   00  00  }8         - end result item for app-data p-ctx   00  00  }6         - end p-ctx-def-result-list   *   La  ?   61  80  {10        - [APPLICATION 1] User-data, Fully-encoded   30  80  {11        - [SEQUENCE] PDV-list   02  01  01         -- [INTEGER] value is pcid for ACSE, as stored from                      -- the pctx-definition-list on the P-CONNECT                      -- request   A0  80  {12        - [0] single-ASN1-type        - A-ASSOCIATE response APDU - AARE   61  80  {13        - [APPLICATION 1] identifies AARE   *   La  ?   A1  80  {14        - [1] Application-context   06  La  xxxxxx     - [OID] name of application context                      - usually the same as on AARQ, can differ   00  00  }14   A2  03  {15        - [2] result   02  01  00         - [INTEGER] value 0 means accepted   00  00  }15   A3  80  {16        - [3] result-source-diagnostic                      - (curiously, a non-optional field)   A1  80  {17        - [1] acse-service-user   02  01  00         - [INTEGER] value 0 = null ! (why no implicit tag)   00  00  }17        - end acse-service-user   00  00  }16        - end result source diagnostic   *   La  ?            -- the user information field may or may not be required            -    (not used for Group I)   ?BE 80  {20      - [30] IMPLICIT SEQUENCEFurniss                                                        [Page 21]RFC 1698             ThinOSI Upper-Layers Cookbook          October 1994   ?28 80  {21      - [EXTERNAL]                   -- the transfer-syntax oid is not present this time   ?02 01  03       - [INTEGER] this is the pcid for the application                    - data   ?A0 La  xxxx     -- [0] single-ASN1-type (see note at end of 6.1)   ?00 00  }21      - end of EXTERNAL            -- conceivably there may be several EXTERNALS, probably in            -- different presentation contexts (different pcids)   ?00 00  }20      - end of user information field   00  00  }13        - end AARE   00  00  }12        - end single-asn1-type   00  00  }11        - end PDV-list   00  00  }10        - end Presn user-data   00  00  }5         - end [2] implicit sequence in cpa   00  00  }4         - end CPA-type set   The following sequence are the octets need to reject a presentation   context that was offered in the presentation-context-definition-list.   Since the result-list matches the definition list by position, it is   placed at the corresponding point within {6} (e.g., it would come   immediately after {8}, if the rejected context was the third one.                 -- next SEQUENCE is a rejection of a pctx   30  80  {9         - [SEQUENCE] result item for a rejected pctx   80  01  02         -- [0] result, value 2 is provider rejection   82  01  00         - [2] reason, value 0 is reason-not-specified                      -- there are other reasons, but let's keep it                      -- simple   00  00  }9         - end result item for rejected pctx6.3 Connection rejection   Refusal is at session-level, but by session user, with no reason   given.  This is a compromise avoiding making unfounded accusations of   (session) protocol misbehaviour. If the implementation finds it does   not like the received message, it is not essential to attempt to   communicate with the partner why, though this may be helpful if the   reason is correctly identified. (In most cases, a wise implementor   will make sure an error message goes somewhere or other).   0C  03  {1          - REFUSE SPDU   *   Ls  ?   32  01  00          - rejected by SS-user, no reason   The far-end may send interesting things explaining why you are not   getting interworking. If this is a session reason, the reason code   will one octet between 81 and 86. If the rejection is higher than   session, this will be carried on S-REFUSE (so first octet is stillFurniss                                                        [Page 22]RFC 1698             ThinOSI Upper-Layers Cookbook          October 1994

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?