Rlogin

RLOGIN-protokol ( engelsk  Remote LOGIN  - remote login) - applikationslagsprotokol (7. lag af OSI-modellen ), en del af TCP/IP-stakken . Tillader UNIX- brugere at oprette forbindelse til UNIX-systemer på andre maskiner og arbejde på samme måde, som hvis terminalen var direkte forbundet til maskinen. Denne protokol giver den samme service som TELNET -protokollen .

Sådan fungerer Rlogin-protokollen

Etablering af en forbindelse

Efter at forbindelsen er etableret, sender klienten til serveren 4 sæt tegn, der ender på nuller (strengrepræsentation i C -lignende sprog):

  1. tom streng (består af en null byte),
  2. klient brugernavn,
  3. server brugernavn,
  4. terminaltype og hastighed.

For eksempel:

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

Serveren returnerer en null-byte for at bekræfte, at den har modtaget dataene sendt af klienten og nu er i dataoverførselstilstand.

Fra klient til server (og flowkontrol)

Klienten starter først transaktionen i "tilberedt" tilstand (det modsatte af "rå" tilstand ). I denne tilstand modtages START- og END -tegn (normalt ASCII DC1, DC3) af klienten og tolkes som starten og slutningen af ​​output fra serveren til den lokale terminal, mens andre tegn sendes til fjernværten, som de blev modtaget (se .nedenfor håndtering af lokale escape-tegn).

I rå tilstand behandles START- og END - tegnene ikke lokalt, men sendes til fjernserveren som ethvert andet tegn. I "rå" tilstand bestemmer serveren således semantikken for tegnene START og END ; de kan bruges til flowkontrol eller have helt andre betydninger, uafhængigt af deres oprindelige brug på klienten.

Skærmstørrelse (vindue)

Fjernserveren signalerer til klienten, at den er klar til at modtage information om ændringen i den aktuelle vinduesstørrelse i form af beskeder umiddelbart efter, at forbindelsen er etableret, og brugeren er identificeret . Klienten SKAL svare på denne anmodning med en besked med den aktuelle vinduesstørrelse.

Hvis operationen beskrevet ovenfor var vellykket, så snart dimensionerne på skærmen eller vinduet ændrer sig på klientsiden, sendes en speciel 12-bit sekvens (information om de nye dimensioner er gemt der) til fjernserveren, så klientproces, der kører på serveren, skal behandle disse oplysninger efter behov.

Escape-sekvensen for vinduesstørrelsesændring er 12 byte lang og består af:

  1. magisk cookie (2x på hinanden følgende bytes 0xFF),
  2. efterfulgt af 2 bytes indeholdende tegnet "s" ( ASCII , små bogstaver),
  3. derefter 8 bytes indeholdende 16-bit værdier for antallet af tegnstrenge, antallet af tegn pr. linje, antallet af vandrette pixels og antallet af lodrette pixels.
FF FF ss rr cc xp yp

Udover "ss" flagene bruges intet. I fremtiden kan der være andre til beskeder til ledelsesformål.

Fra server til klient

Data fra serveren sendes til klienten som en strøm af tegn. Normale data gengives ganske enkelt på klientdisplayet, men kan behandles på forhånd (f.eks. polstring).

Serveren kan indsætte en kontrolbyte i tegnstrømmen og derefter oprette en TCP "data urgent"-peger til den byte . Når klienten modtager pointeren, bufres dataene i strømmen op til den specielle byte til mulig visning, efter at kontrolbyten er blevet behandlet. Her er de mulige værdier for kontrolbyten (i hexadecimal ):

Alle andre værdier af kontrolbyten ignoreres. I alle tilfælde vises kontrolbyten IKKE på brugerens skærm.

Afbrydelse af en forbindelse

Når en TCP- forbindelse er lukket i begge retninger, skal den anden ende bemærke dette og udføre en lukning på sin egen side, genskabe terminaltilstande og underrette brugeren eller processerne om, at forbindelsen er nede.

Sikkerhed

rlogin har flere væsentlige sikkerhedsfejl:

Udskiftninger

Den originale Berkley-pakke, der giver rlogin med rcp (remote-copy, som giver dig mulighed for at kopiere filer over netværket) og rsh (remote-shell, som giver dig mulighed for at udføre kommandoer på fjernmaskiner uden at brugeren logger på).

ssh - pakken erstatter ovenstående funktioner og selve rlogin: scp erstatter rcp , ssh selv erstatter rlogin og rsh.

Se også

Litteratur