Virtlab:Protokoly/Aktivační server
Z VirtlabWiki
(Rozdíly mezi verzemi)
Verze z 13:35, 11. 8. 2007 Dol72 (Diskuse | příspěvky) (→Popis protokolu) ← Předchozí porovnání |
Verze z 06:49, 15. 8. 2007 Bam015 (Diskuse | příspěvky) (uprava komunikacniho protokolu) Následující porovnání → |
||
Řádka 18: | Řádka 18: | ||
=== Pokyn rezervačního serveru aktivačnímu serveru ke znovunačtení databáze === | === Pokyn rezervačního serveru aktivačnímu serveru ke znovunačtení databáze === | ||
- | * Příkaz: "kill\n" | + | * Příkaz: "reload\n" |
- | * Argument (povinný): "kill:10\n" | + | |
* Odpověď: Návratový kód. | * Odpověď: Návratový kód. | ||
Příklad: | Příklad: | ||
- | kill\n | + | reload\n |
- | kill:10\n | + | |
\n | \n | ||
=== Předání seznamu spojení pro konfiguraci od rezervačního serveru aktivačnímu serveru === | === Předání seznamu spojení pro konfiguraci od rezervačního serveru aktivačnímu serveru === | ||
* Příkaz: "linkconf\n" | * Příkaz: "linkconf\n" | ||
- | * Argument (povinný): resid:''rezervační ID''.dat\n" | + | * Argument (povinný): resid:''ID rezervace''\n" |
* Argument (povinný, opakuje se alespoň jednou): link:''popis_spojení''\n" | * Argument (povinný, opakuje se alespoň jednou): link:''popis_spojení''\n" | ||
* Odpověď: Návratový kód. (objeví-li se v resid lomítko, jde o špatnou syntaxi parametrů) | * Odpověď: Návratový kód. (objeví-li se v resid lomítko, jde o špatnou syntaxi parametrů) | ||
Řádka 36: | Řádka 34: | ||
<pre> | <pre> | ||
linkconf\n | linkconf\n | ||
- | resid:1@koleje.dat\n | + | resid:1@koleje\n |
link:rp@koleje:fastethernet1, rm@koleje:fastethernet1;\n | link:rp@koleje:fastethernet1, rm@koleje:fastethernet1;\n | ||
link:ro@koleje:fastethernet1, rp@koleje:fastethernet0;\n | link:ro@koleje:fastethernet1, rp@koleje:fastethernet0;\n | ||
Řádka 45: | Řádka 43: | ||
=== Pokyn rezervačního serveru aktivačnímu serveru ke zrušení popisu topologií konfigurace === | === Pokyn rezervačního serveru aktivačnímu serveru ke zrušení popisu topologií konfigurace === | ||
* Příkaz: "dellinkconf\n" | * Příkaz: "dellinkconf\n" | ||
- | * Argument (povinný): delresid:''rezervační ID''.dat\n" | + | * Argument (povinný): delresid:''ID rezervace''\n" |
* Odpověď: Návratový kód. (objeví-li se v delresid lomítko, jde o špatnou syntaxi parametrů) | * Odpověď: Návratový kód. (objeví-li se v delresid lomítko, jde o špatnou syntaxi parametrů) | ||
Řádka 51: | Řádka 49: | ||
<pre> | <pre> | ||
dellinkconf\n | dellinkconf\n | ||
- | delresid:1@koleje.dat\n | + | delresid:1@koleje\n |
\n | \n | ||
</pre> | </pre> | ||
- | |||
- | |||
- | |||
- | === Poznámka === | ||
- | Volba příkazu <code>kill</code> a číselných kódů přímo vyplývá ze způsobu realizace oddělení serverů původně komunikujících skrze funkci OS [http://en.wikipedia.org/wiki/Kill_(Unix) kill]. |
Verze z 06:49, 15. 8. 2007
Tento článek popisuje komunikační prokokol mezi rezervačním a aktivačním serverem distribuovaného Virtlabu.
Obsah |
Vlastnosti
- Textově orientovaný protokol.
- Textové příkazy, oddělené <LF> (0x0A), (symbol <CR> (0x0D) je ignorován)
- Komunikace přes TCP spojení, standardně na portu 50002.
- Pro názvy příkazů a jména argumentů nerozlišuje velká a malá písmena (case insensitive).
- První řádek a každý další první po prázdném řádku určuje příkaz, následující řádky jeho argumenty.
- Na pořadí argumentů nezáleží a jsou case-insensitive.
- Za názvem argumentu je dvojtečka, za kterou ihned nasledují jeho parametry, za dvojtečkou nesmí být mezera.
- Bílé znaky (whitespace), jako tabelátory (0x09), mezery (0x20) nejsou povoleny, slouží jako oddělovače. parametrů pro argumenty. Výjimku tvoří mezery a tabelátory před názvem příkazu a argumentu. Tyto jsou odfiltrovány.
- Odeslání prázdného řádku (jen <LF> (0x0A)), potvrdí, že všechny argumenty byly odeslány a je možno zpracovat příkaz.
- Po odeslání prázdného řádku je možno psát další příkaz.
- Spojení ukončeno vždy na žádost klienta, mimo speciální případy, kdy rezervační server přijímaným datům nerozumí, nebo je klient připojen příliš dlouho.
- Při odpovědi serveru na příkaz je na prvním řádku návratový kód, mezera a za ní popis odpovědi.
Popis protokolu
Pokyn rezervačního serveru aktivačnímu serveru ke znovunačtení databáze
- Příkaz: "reload\n"
- Odpověď: Návratový kód.
Příklad:
reload\n \n
Předání seznamu spojení pro konfiguraci od rezervačního serveru aktivačnímu serveru
- Příkaz: "linkconf\n"
- Argument (povinný): resid:ID rezervace\n"
- Argument (povinný, opakuje se alespoň jednou): link:popis_spojení\n"
- Odpověď: Návratový kód. (objeví-li se v resid lomítko, jde o špatnou syntaxi parametrů)
Příklad:
linkconf\n resid:1@koleje\n link:rp@koleje:fastethernet1, rm@koleje:fastethernet1;\n link:ro@koleje:fastethernet1, rp@koleje:fastethernet0;\n link:rn@koleje:fastethernet1, ro@koleje:fastethernet0;\n link:rm@koleje:fastethernet0, rn@koleje:fastethernet0;\n \n
Pokyn rezervačního serveru aktivačnímu serveru ke zrušení popisu topologií konfigurace
- Příkaz: "dellinkconf\n"
- Argument (povinný): delresid:ID rezervace\n"
- Odpověď: Návratový kód. (objeví-li se v delresid lomítko, jde o špatnou syntaxi parametrů)
Příklad:
dellinkconf\n delresid:1@koleje\n \n