Differences between revisions 1 and 2
Revision 1 as of 2006-09-01 13:51:37
Size: 3258
Editor: akovacs
Comment:
Revision 2 as of 2006-09-01 13:55:58
Size: 7505
Editor: akovacs
Comment:
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
Azonosító Adatblokk-típus    Azonosító Adatblokk-típus
Line 47: Line 47:

=== Hasznos adatok ===

A DATA adatblokkhoz az alábbi formátumot KELL használni:

{{{

       0 1 2 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Típus = 0 | Fenntartva|U|B|E| Hossz |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | TSN |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Adatfolyam-azonosító S | Adatfolyam sorozatszáma n |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Hasznos adat protokollazonosító |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      / /
      / Felhasználói adatok (S adatfolyam n sorozat) /
      / /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

}}}

=== Inicializálás (INIT) ===

Ez az adatblokk két végpont közötti SCTP társítás kezdeményezésére szolgál. Az INIT adatblokk formátuma az alábbiak szerinti:

{{{

       0 1 2 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Típus = 1 |Adatbl. flagek | Adatblokk hossza |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Inicializálási címke |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Meghirdetett vevőablak jóváhagyás (a_rwnd) |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Kimenő adatfolyamok száma | Bemenő adatfolyamok száma |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Kezdeti TSN |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      / /
      / Opcionális/változó hosszparaméterek /
      / /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

}}}


=== Inicializálás nyugtázása (INIT ACK) ===


Az INIT ACK adatblokk az SCTP társítási kezdeményezések nyugtázására használatos. Az INIT ACK paraméter részének formátuma az INIT adatblokkéhoz hasonló. Két további változóparamétert használ: Az Állapot Cookie-t és a Nem felismert paramétert:

{{{

       0 1 2 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Típus = 2 |Adatbl. flagek | Adatblokk hossza |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Inicializálási címke |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Meghirdetett vevőablak jóváhagyás |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Kimenő adatfolyamok száma | Bemenő adatfolyamok száma |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Kezdeti TSN |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      / /
      / Opcionális/változó hosszparaméterek /
      / /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

}}}

SCTP csomagok

Az SCTP protokoll adategységeit (PDU-k) SCTP csomagoknak nevezzük. Ha az SCTP protokoll IP fölött fut (az RFC2960-ban leírtak szerint), akkor egy SCTP csomag egy IP csomag hasznos adattartalmát képezi. Az SCTP csomagok egy közös fejlécből, valamint adatblokkokból (chunk) állnak. Több adatblokk legfeljebb a Path-MTU méretig egyetlen csomagba multiplexálható. Egy adatblokk vezérlési információkat és felhasználói adatokat is tartalmazhat.

attachment:pdu60.png

Több adatblokkot tartalmazó SCTP adategység

A közös fejléc

A közös fejléc 12 bájtot tartalmaz. Az SCTP a társítás azonosításához a TCP és UDP protokollokkal megegyező porthasználatot alkalmazza. Az átviteli hibák észlelése érdekében minden SCTP csomag egy 32-bites ellenőrzőösszeggel van védve (Adler-32 algoritmus), amely robusztusabb, mint a TCP és UDP 16-bites ellenőrzőösszege. Az érvénytelen ellenőrzőösszeggel rendelkező SCTP csomagokat a rendszer csendben figyelmen kívül hagyja. A közös fejléc egy ellenőrző címke (verification tag) nevű 32-bites értéket is tartalmaz. Az ellenőrző címke társításspecifikus, és a társítás kezdetekor megtörténik a végpontok közötti cseréje. Egy társítás tehát két címkeértéket használ. A címkékkel kapcsolatos részletes információk az SCTP állapotok részben találhatók.

Adatblokkok

Minden adatblokk egy adatblokk-típus mezővel kezdődik, amely a különböző adatblokk-típusokat különbözteti meg. Ezt követi egy adatblokk-specifikus flag, majd egy adatblokk-hossz mező, amelyre a különböző hosszúságú adatblokkok miatt van szükség. Az érték mező tartalmazza az adatblokk tényleges hasznos adattartalmát. Eddig 13 adatblokk-típus van normál használathoz definiálva. Ezek az alábbiakban láthatók. Az egyszerűség kedvéért ezek definícióját az RFC2960 dokumentumból másoltuk ki:

   Azonosító       Adatblokk-típus
   -----           ----------
   0          - Hasznos adatok (DATA)
   1          - Inicializálás (INIT)
   2          - Inicializálás nyugtázása (INIT ACK)
   3          - Szelektív nyugtázás (SACK)
   4          - Heartbeat kérés (HEARTBEAT)
   5          - Heartbeat nyugtázás (HEARTBEAT ACK)
   6          - Megszakítás (ABORT)
   7          - Leállítás (SHUTDOWN)
   8          - Leállítás nyugtázása (SHUTDOWN ACK)
   9          - Műveleti hiba (ERROR)
   10         - Állapot cookie (COOKIE ECHO)
   11         - Cookie nyugtázás (COOKIE ACK)
   12         - Explicit torlódás-értesítési echo (ECNE) számára fenntartva
   13         - Csökkentett torlódási ablak (CWR) számára fenntartva
   14         - Leállítás befejezve (SHUTDOWN COMPLETE)
   15 - 62    - IETF által fenntartva
   63         - IETF által definiált adatblokk-bővítések
   64 - 126   - IETF által fenntartva
   127        - IETF által definiált adatblokk-bővítések
   128 - 190  - IETF által fenntartva
   191        - IETF által definiált adatblokk-bővítések
   192 - 254  - IETF által fenntartva
   255        - IETF által definiált adatblokk-bővítések

Hasznos adatok

A DATA adatblokkhoz az alábbi formátumot KELL használni:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Típus = 0   | Fenntartva|U|B|E|  Hossz                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                              TSN                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Adatfolyam-azonosító S     |  Adatfolyam sorozatszáma n    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                Hasznos adat protokollazonosító                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                                                               /
      /           Felhasználói adatok (S adatfolyam n sorozat)        /
      /                                                               /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Inicializálás (INIT)

Ez az adatblokk két végpont közötti SCTP társítás kezdeményezésére szolgál. Az INIT adatblokk formátuma az alábbiak szerinti:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Típus = 1   |Adatbl. flagek |    Adatblokk hossza           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Inicializálási címke                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Meghirdetett vevőablak jóváhagyás (a_rwnd)          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Kimenő adatfolyamok száma   |  Bemenő adatfolyamok száma    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Kezdeti TSN                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                                                               /
      /              Opcionális/változó hosszparaméterek              /
      /                                                               /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Inicializálás nyugtázása (INIT ACK)

Az INIT ACK adatblokk az SCTP társítási kezdeményezések nyugtázására használatos. Az INIT ACK paraméter részének formátuma az INIT adatblokkéhoz hasonló. Két további változóparamétert használ: Az Állapot Cookie-t és a Nem felismert paramétert:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Típus = 2   |Adatbl. flagek |    Adatblokk hossza           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Inicializálási címke                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Meghirdetett vevőablak jóváhagyás                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Kimenő adatfolyamok száma   |  Bemenő adatfolyamok száma    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Kezdeti TSN                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                                                               /
      /              Opcionális/változó hosszparaméterek              /
      /                                                               /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Campus6: SCTPPacket (last edited 2008-04-10 15:29:39 by localhost)