Osobní přípojka do Internetu, aneb: k čemu je SLIP a PPP?
Tento článek vyšel v počítačových novinách Computerworld č. 11/95, v rámci tzv. tématu týdne, jako součást série článků věnovaných problematice Internetu.
Internet se stále více otevírá komerčnímu využití, do kterého spadá i zřizování přípojek, umožňujících snadné připojování jednotlivých počítačů prostřednictvím veřejné telefonní sítě - ať již jde o jednotlivé počítače ve vlastnictví firem, či o soukromé počítače jednotlivců. Tento článek se zabývá technickými předpoklady takovéhoto způsobu připojení, a jeho praktickými důsledky pro práci v Internetu.
V tématu týdne, které vyšlo v CW 4/95 (konkrétně ve článku: "Do Internetu za peníze: jen přes Conet, nebo i přes CESNET"), jsme si uvedli, že jednou z možností přístupu do Internetu je připojení jednotlivého počítače prostřednictvím komutované linky veřejné telefonní sítě. Dokonce jsme si uváděli i ceny, za které oba tuzemští poskytovatelé připojení k Internetu takovouto službu nabízí. Dnes se u této možnosti zastavíme podrobněji, protože jde o velmi zajímavou službu, která otevírá Internet širokému okruhu potenciálních uživatelů - s relativně únosnými náklady a dostatečným komfortem.
Účet na cizím počítači
Nejprve se ale zmiňme o jiné možnosti, spočívající ve zřízení uživatelského účtu na takovém počítači, který již je připojen k Internetu. Také toto může nabízet jako svou službu konkrétní poskytovatel připojení k Internetu, který svému zákazníkovi zřídí uživatelský účet na některém ze svých počítačů. Teoreticky by pak tento zákazník sice mohl fyzicky docházet do prostor, kde se počítač nachází a pracovat přímo na něm, resp. na některém jeho terminálu. V praxi to ale spíše znamená něco jiného - zákazník využije mechanismus tzv. vzdáleného přihlašování (remote login), a se svým uživatelským účtem pracuje na dálku. Nejčastěji tak, že ze svého počítače (doma, v kanceláři, na cestách apod.) si prostřednictvím veřejné telefonní sítě "zavolá" příslušný počítač poskytovatele připojení, a na svém počítači si spustí takový program, který jej postaví do role emulovaného terminálu vzdáleného počítače. Programů, které lze za tímto účelem využít, je na trhu celá řada, včetně public domain programů - všechny přitom spadají do kategorie "programů pro sériové komunikace". Mezi takovéto programy patří např. i utilita Terminál, která je dnes již standardní součástí MS Windows.
Podstatná je pro tento způsob připojení skutečnost, že veškeré aplikační programy jsou provozovány na počítači poskytovatele připojení, a nikoli na počítači, se kterým pracuje uživatel. Uživatelův počítač ve skutečnosti vůbec nemá konektivitu do Internetu - jeho připojení ke vzdálenému počítači zprostředkovává pouze přenos obsahů obrazovky (směrem od vzdáleného počítače), a vstupy z klávesnice (směrem ke vzdálenému počítači). Vzhledem k přenosovým možnostem komutovaných linek veřejné telefonní sítě toto z principu vylučuje používání aplikací, pracujících v grafickém režimu - protože telefonní linky by při nejlepší vůli nestačily přenášet ani aktualizace grafických obrazovek. Pro uživatele však může být mnohem podstatnější skutečnost, že je velmi omezen ve výběru aplikací, které může provozovat. Uživatel si například nemůže sám nainstalovat takový program pro práci s elektronickou poštou, který by mu nejlépe vyhovoval, a pak jej používat - je omezen tím, co mu provozovatel příslušného počítače sám nabídne. Přitom jde nejčastěji o Unixový počítač, takže uživatelský komfort bývá nesrovnatelný s tím, co dnes běžně nabízí počítače PC.
Nepříjemné jsou také některé praktické důsledky: například když si uživatel "stáhne" určitý soubor z některého FTP archivu, ve skutečnosti jej přenese na počítač poskytovatele svého připojení. Odsud jej pak musí přenést ještě jednou, ze zmíněného počítače na svůj vlastní - tentokráte již s využitím přenosových možností komunikačního programu, který využívá pro potřeby vzdáleného přihlašování (např. pomocí protokolu XMODEM, KERMIT apod.). Navíc odpadá jakákoli možnost práce "v lokálu", po odpojení od vzdáleného počítače.
Konektivita až na stůl
Alternativním řešením ke zřízení uživatelského účtu na cizím počítači je "protažení" konektivity až k počítači uživatele. Co si pod tím představit?
Dosud uvažované řešení předpokládalo, že přenosové možnosti protokolů TCP/IP končí na počítači poskytovatele připojení. Koncovým příjemcem všech přenášených dat z/do Internetu pak byla aplikace, běžící na tomto počítači. Alternativa spočívá v tom, že by tato data "nekončila" na počítači poskytovatele připojení, ale byla přenášena dále, až k počítači koncového uživatele, kde bude jejich koncovým příjemcem lokálně provozovaná aplikace. Situaci názorně vystihuje obrázek:
Výhodou tohoto řešení, které se dnes stále více prosazuje, je především "plnohodnotnost" připojení do Internetu, umožňující přístup ke kterékoli stávající i budoucí službě této "sítě sítí". Uživatel zde má možnost provozovat v zásadě jakoukoli TCP/IP aplikaci, a to lokálně, na svém počítači - což mj. znamená, že pak už je jedno, jestli tato aplikace zobrazuje své výstupy v grafickém režimu či v režimu textovém. Může si tedy například spustit nejnovější verzi klienta služby WWW (program NCSA Mosaic či obdobný), klienta služby Gopher, program pro práci s elektronickou poštou dle vlastního výběru atd. Díky tomu pak může mít maximálně komfortní přístup k Internetu - v zásadě tak komfortní a jednoduchý, jaký mu jsou výrobci aplikací schopni svými produkty zprostředkovat.
SLIP nebo PPP?
Praktické naplnění představy z předchozího odstavce samozřejmě vyžaduje existenci určitých mechanismů, šitých na míru danému účelu. Především pak existenci vhodného přenosového protokolu, který by dokázal efektivně přenášet data po komutovaných linkách veřejné telefonní sítě, a navíc to činil tak šikovně, aby to pro protokoly vyšších vrstev (TCP a UDP z transportní vrstvy) bylo plně transparentní - neboli aby tyto vrstvy vůbec nepoznaly, že data jim jsou doručována jiným způsobem, než je obvyklé.
V současné době existují dva přenosové protokoly, vhodné pro použití jak na komutovaných linkách veřejné telefonní sítě, tak i na pevných telefonních okruzích. Jde o protokoly SLIP (Serial Line Internet Protocol) a PPP (Point-to-Point Protocol), vyvinuté ve "světě TCP/IP", a dnes již představující standardní součást rodiny protokolů TCP/IP. Z pohledu vrstvových modelů, uvažovaných v článku "Filosofie TCP/IP", si je můžeme oba představit jako zvláštní implementace protokolu IP, které si oproti běžným implementacím samy zajišťují také vlastní fyzický transport dat (zatímco běžná implementace protokolu IP využívá k tomuto účelu již existující přenosovou technologii na úrovni vrstvy síťového rozhraní, viz citovaný článek). Protokol SLIP je historicky starší a jednodušší, protokol PPP je novější, a má některá další schopnosti, které protokolu SLIP schází (dokáže například přenášet i datové pakety jiných protokolů, např. IPX, AppleTalk, DECnet, OSI/CLNP, nemá žádné apriorní omezení přenosové rychlosti apod.). Protokol PPP je výhodnější v případě, kdy se po sériové lince připojuje celá počítačová síť, zatímco protokol SLIP plně postačuje v případě, kdy má být po telefonních linkách připojen jen jeden počítač. Oba protokoly jsou přitom dostatečně podporovány jak výrobci nejrůznějších síťových produktů, tak většinou i poskytovateli připojení k Internetu.
Co doopravdy potřebuji?
Udělejme si nyní malou inventuru toho, co všechno je potřeba si pořídit, zařídit a udělat, chceme-li připojit svůj počítač po komutovaných telefonních linkách veřejné telefonní sítě k Internetu.
Předně je nutné se domluvit s některým existujícím poskytovatelem připojení k Internetu, který takovýto druh připojení nabízí (tuzemští připojovatelé jej nabízí oba). Když se s poskytovatelem připojení dohodnete, musí vám sdělit telefonní čísla, přes které se dovoláte na jím provozované zařízení, fungující jako tzv. přístupový server (někdy nepříliš správně označovaný jako terminálový server). Jde o zařízení, ke kterému je připojen určitý počet modemů - vy se na některý z těchto modemů ze svého počítače dovoláte, a on vám zprostředkuje vaše připojení. Dále vám musí poskytovatel připojení na svém přístupovém serveru zřídit uživatelský účet, chráněný heslem - proto, aby tento server mohl identifikovat vaše volání, a také aby vám mohl správně účtovat za poskytnuté služby.
Na své straně samozřejmě potřebujete vhodný modem, s co možná nejvyšší přenosovou rychlostí. V dnešní době je možné pořídit modem s přenosovou rychlostí 14 400 bps již za cenu kolem 5 000 K (bez daně). Dále budete potřebovat pro svůj počítač vhodný komunikační software, schopný obsluhovat sériové porty a k nim připojený modem, a implementovat protokol SLIP nebo PPP. No a pak samozřejmě budete potřebovat vlastní aplikace, šité na míru protokolům TCP/IP. Důležité přitom je, aby si tyto aplikace dokázaly rozumět s programy, které pro ně zajišťují přenosovou část (implementují protokol SLIP nebo PPP a přenosové protokoly transportní vrstvy). Podívejme se nyní, jak konkrétně vypadá situace v prostředí stávajících MS Windows (tj. MS Windows 3.1 a Windows for Workgroups 3.11).
V prostředí MS Windows se ujalo rozhraní, nazývané Windows Sockets, zkráceně jen Winsock. Jde o rozhraní mezi aplikacemi na bázi TCP/IP a přenosovými protokoly TCP/IP. Drtivá většina dnes existujících TCP/IP aplikací pro prostředí Windows vyžaduje právě a pouze toto rozhraní. Na druhé straně existuje také široká nabídka produktů, které implementují potřebné přenosové protokoly, a vytváří rozhraní Winsock. Jde přitom jak o public domain produkty, tak o produkty z kategorie shareware, až po čistě komerční produkty. Z public domain produktů je možné jmenovat balík Microsoft TCP/IP, který ale zatím nepodporuje protokol SLIP. Ze sharewarových produktů je zřejmě nejoblíbenější program Trumpet Winsock od Petera Tattama. Komerční produkty pak nabízí prakticky každá významnější firma, zabývající se síťovým softwarem. Obdobná situace je pak "o patro výše", nad rozhraním Winsock. Také zde lze najít bohatou nabídku aplikací, od public domain přes sharewarové až po čistě komerční.
V poslední době se však stávají velmi populární celé programové balíky, šité na míru připojování k Internetu po komutovaných linkách veřejné telefonní sítě. Takovéto balíky obsahují jak potřebné přenosové protokoly (vytvářející rozhraní Winsock), tak i vlastní aplikace. Výhodou těchto balíků je skutečnost, že jeho jednotlivé součásti mohou být šikovně sladěny, a jejich instalace v maximální možné míře zautomatizována. Díky tomu pak tyto balíky dokáže nainstalovat a uvést do provozu skutečně každý. Zatím se takovéto balíky objevují především jako komerční produkty (například balík Explore OnNet od firmy FTP Software), nebo jako standardní součást nových operačních systémů - příkladem může být nová verze operačního systému OS/2 Warp, ke které je právě takovýto balík přibalen. Také firma Microsoft zřejmě připravuje totéž i pro své nové Windows 95 (dříve "Chicago").
Konfigurace může být největším problémem
Nainstalováním potřebných softwarových produktů však ještě není zdaleka vše hotovo - příslušný síťový software je totiž třeba také správně nakonfigurovat. Každý počítač, který chce mít konektivitu do Internetu, musí dostat přidělenu konkrétní IP adresu, a musí znát IP adresu alespoň jednoho směrovače (routeru) ve své síti, a adresu alespoň jednoho name serveru. Poskytovatel připojení může v tomto bodě aplikovat různé strategie: může každému svému zákazníkovi pevně přidělit jednu konkrétní IP adresu, bez ohledu na to, jakým způsobem se bude kdy připojovat. Stejně tak mu může pevně sdělit konkrétní adresy směrovačů a name serveru, podle kterých si pak uživatel nakonfiguruje svou instalaci protokolů TCP/IP. Další alternativou je takové řešení, v rámci kterého poskytovatel připojení pevně přidělí konkrétní IP adresy jednotlivým modemům svého přístupového serveru, ke kterým uživatelé volají. Z pohledu uživatele pak platí, že co jedno telefonní číslo, na které se může dovolat, to pevně daná IP adresa. Podle toho si pak může nakonfigurovat svůj síťový software.
Zřejmě nejrozšířenějším řešením je ale používání protokolu BOOTP. Ten umožňuje každému počítači, aby si po svém připojení k přístupovému serveru a spuštění protokolu SLIP na obou stranách spoje sám dynamicky zjistil nejen svou vlastní IP adresu, ale také IP adresu nejbližšího směrovače a name serveru.
V každém případě je ale právě zde bolavé místo všech programových balíků, které se snaží maximálně zautomatizovat svou vlastní konfiguraci. Uživatele se totiž musí vyptat minimálně na to, se kterým z výše uvedených způsobů přidělování IP adres má počítat. A zdaleka ne každý uživatel je připraven na otázky instalačního programu správně odpovědět.
Vliv na způsob práce
Tvrzení o "plnohodnotnosti" připojení k Internetu po komutovaných linkách veřejné telefonní sítě je přeci jen třeba poněkud poopravit - není totiž trvalé (míněno v čase), což má některé zajímavé důsledky na způsob práce uživatelů. To platí zejména pro elektronickou poštu, jejíž celková filosofie počítá s tím, že poštovní servery budou trvale v provozu. Odesílající počítač se proto snaží doručit zprávy okamžitě, jakmile je od svého uživatele dostane k odeslání, a nepočítá s možností, že by počítač adresáta nebyl právě dosažitelný - pokud něco takového zjistí, interpretuje to jako momentální výpadek cílového uzlu, a své pokusy o odeslání zprávy opakuje. Když se mu přibližně do tří dnů nepodaří zprávu doručit, usoudí že to již dále nemá smysl a přestane se snažit.
Pro příjemce, kteří se k Internetu připojují jen dočasně, není striktní dodržování tohoto schématu únosné. Na druhé straně existence přípojek, které nemají trvalý charakter, není ještě dostatečně pádným důvodem ke změně základního mechanismu fungování elektronické pošty v rámci celého Internetu. Proto se přešlo na oboustranně výhodný kompromis - díky možnostem systému DNS se stanoví, že pošta pro uzly bez trvalého připojení se ve skutečnosti doručuje na jiné uzly (poštovní servery), které již jsou trvale k dosažení. Přitom se používají standardní přenosové mechanismy pro přenos zpráv elektronické pošty, konkrétně protokol SMTP.
Když se pak dočasně připojované uzly skutečně připojí a získají plnou konektivitu, svou poštu si od poštovních serverů převezmou. K tomuto účelu se ale již používají jiné protokoly, než pro vlastní přenos zpráv při trvalé konektivitě - nejčastěji protokol POP 3 (Post Office Protocol verze 3).
Pokud bychom uvažovali v terminologii poštovních schránek, pak právě naznačené řešení spočívá v tom, že každý konkrétní uživatel musí mít poštovní schránku na poštovním serveru (s trvalou konektivitou do Internetu). Do této poštovní schránky je mu jeho pošta průběžně doručována, a to i v době, kdy tento uživatel není se svým počítačem k Internetu vůbec připojen. Jakmile se pak připojí, může si svou poštovní schránku "vybrat" (nejspíše zmíněným protokolem POP3), jednotlivé zprávy si přenést na svůj počítač, a zde je uložit do své lokální poštovní schránky.
Zprávy, umístěné v lokální poštovní schránce, pak uživatel může zpracovávat kdykoli se mu to hodí - například i v době, kdy vůbec není připojen k Internetu. Dokonce může napsat i nové zprávy, a připravit je k odeslání. Jakmile se pak znovu připojí k Internetu, může všechny takto připravené zprávy skutečně odeslat.