Rlogin

RLOGIN-protokoll ( engelska  Remote LOGIN  - fjärrinloggning) - applikationslagerprotokoll (7:e lagret av OSI-modellen ), en del av TCP/IP-stacken . Tillåter UNIX- användare att ansluta till UNIX-system på andra maskiner och arbeta på samma sätt som om terminalen var direkt ansluten till maskinen. Detta protokoll tillhandahåller samma tjänst som TELNET- protokollet .

Hur Rlogin-protokollet fungerar

Upprätta en anslutning

Efter att anslutningen har upprättats skickar klienten till servern 4 uppsättningar tecken som slutar på nollor (strängrepresentation i C -liknande språk):

  1. tom sträng (består av en nollbyte),
  2. klient användarnamn,
  3. server användarnamn,
  4. terminaltyp och hastighet.

Till exempel:

<null> bostic<null> kbostic<null> vt100/9600<null>

Servern returnerar en nollbyte för att bekräfta att den har tagit emot data som skickats av klienten och nu är i dataöverföringsläge.

Från klient till server (och flödeskontroll)

Klienten startar först transaktionen i "tillagat" läge (motsatsen till "rå" -läge ). I detta läge tas START- och END- tecken (vanligtvis ASCII DC1, DC3) emot av klienten och tolkas som början och slutet av utdata från servern till den lokala terminalen, medan andra tecken skickas till fjärrvärden när de togs emot (se .nedan hantering av lokala escape-tecken).

I råläge bearbetas inte START- och SLUT- tecknen lokalt, utan skickas till fjärrservern som alla andra tecken. Sålunda, i "rå" -läget, bestämmer servern semantiken för tecknen START och END ; de kan användas för flödeskontroll eller har helt andra betydelser, oberoende av deras ursprungliga användning på klienten.

Skärmstorlek (fönster)

Fjärrservern signalerar till klienten att den är redo att ta emot information om förändringen av den aktuella fönsterstorleken i form av meddelanden direkt efter att anslutningen upprättats och användaren identifierats . Klienten MÅSTE svara på denna begäran med ett meddelande med aktuell fönsterstorlek.

Om operationen som beskrivs ovan lyckades, så snart dimensionerna på skärmen eller fönstret ändras på klientsidan, skickas en speciell 12-bitars sekvens (information om de nya dimensionerna lagras där) till fjärrservern, sedan klientprocessen som körs på servern måste behandla denna information vid behov.

Escape-sekvensen för fönsterstorleksändring är 12 byte lång och består av:

  1. magisk kaka (2x på varandra följande byte 0xFF),
  2. följt av 2 byte som innehåller tecknet "s" ( ASCII , gemener),
  3. sedan 8 byte som innehåller 16-bitars värden för antalet teckensträngar, antalet tecken per rad, antalet horisontella pixlar och antalet vertikala pixlar.
FF FF ss rr cc xp yp

Annat än "ss"-flaggorna används ingenting. I framtiden kan det finnas andra för meddelanden i förvaltningssyfte.

Från server till klient

Data från servern skickas till klienten som en ström av tecken. Normal data återges helt enkelt till klientdisplayen, men kan bearbetas i förväg (t.ex. utfyllnad).

Servern kan infoga en kontrollbyte i teckenströmmen och sedan skapa en TCP "dataurgent"-pekare till den byten. När klienten tar emot pekaren buffras data i strömmen fram till specialbyten för eventuell visning efter att kontrollbyten har bearbetats. Här är de möjliga värdena för kontrollbyten (i hexadecimal ):

Alla andra värden för kontrollbyten ignoreras. I alla fall visas INTE kontrollbyten på användarens skärm.

Avbryta en anslutning

När en TCP- anslutning stängs i endera riktningen måste den andra änden märka detta och utföra en stängning på sin egen sida, återställa terminallägen och meddela användaren eller processerna att anslutningen är nere.

Säkerhet

rlogin har flera betydande säkerhetsbrister:

Ersättningar

Det ursprungliga Berkley-paketet som ger rlogin med rcp (remote-copy, som låter dig kopiera filer över nätverket) och rsh (remote-shell, som låter dig utföra kommandon på fjärrmaskiner utan att användaren loggar in).

ssh - paketet ersätter ovanstående funktioner och rlogin själv: scp ersätter rcp , ssh själv ersätter rlogin och rsh.

Se även

Litteratur