AmiTCP

Michal Kára

Možná si již někteří z Vás všimli, že od minulého čísla máme v tiráži uveden Internet E-mail. A byli bychom špatná redakce amigáckého časopisu kdybychom pro přístup na Internet používali něco jiného než Amigu.

V tomto a následujícím čísle naleznete postupně návod jak zprovoznit připojení na Internet pomocí několika sharewarových programů. V první části se budeme zabývat nainstalováním a konfigurací AmiTCP a dial-scriptu (viz dále).
AmiTCP je jediné volně dostupné TCP/IP pro Amigu. Zde popíši instalaci a konfiguraci demoverze 4.0, která je dostupná jak na Aminetu, tak i na AMIGA Review BBS a funguje na všech Amigách se systémem verze 2.0 nebo vyšším.
Takže rozbalíme AmiTCP a klikneme na ikonku Install AmiTCP. Po chvilce se objeví standardní volba installeru, na jaké úrovni si přejeme provádět instalaci. Já mám rád, když mi program nic nedělá sám a o všem vím, proto volím Expert User. Můžete ale zvolit i Intermediate User - program se vás nebude ptát na všechny zde uvedené otázky. Zvolte tedy úroveň a klikněte na "Proceed Install". Také na další obrazovce klikněte na "Proceed". Stejně tak na toto tlačítko klikejte pokud vám bude program něco oznamovat.
Jako první si vyberte, kam bude AmiTCP nainstalováno. To asi komentář nepotřebuje. Dále si přečtěte licenční ujednání, které se vám zobrazí. Nyní se budou kopírovat samotné soubory AmiTCP. Poté se vás AmiTCP zeptá, zda si přejete obnovit SANA zařízení. Zvolte ano ("Yes") a poté jej nechte obnovit všechna zařízení, která vám nabídne (pokud nějaké).
Dále se musíte rozhodnout, zda nainstalovat speciální fonty. To je na vás. Ještě jedno oznámení, které odkliknete a již se dostáváme k tomu důležitému. Teď máte zadat jméno hlavního uživatele. Můžete si vymyslet jakékoli - třeba svoje křestní, či přezdívku, to je podobné jako na BBS. Poté se vám objeví ještě jeden podobný dotaz, který už souvisí se zakládáním uživatele. Jméno neměňte a klikněte na "Proceed".
Nyní se zadávají údaje jako user a group ID. Tyto souvisejí s identifikací uživatele. Pokud nechcete provozovat více uživatelů, jen potvrďte hodnoty, které vám budou nabídnuty. Jinak je stejně nejlepší nainstalovat MultiUser, což ale přesahuje rozsah tohoto článku.
Jako "real name" uživatele zadejte své skutečné jméno. Nyní opět přichází věci, které souvisí MultiUserem. Buď můžete potvrdit "HOME:", nebo zvolit RamDisk:. Jako shell pro nového uživatele vyberte newcli a potvrďte volbu kliknutím na "Add (jméno)". Ted" je nutno vybrat a zadat heslo uživatele. Opět, pokud chcete provozovat jen jednoho uživatele a žádné servery, můžete vybrat i nějaké hloupé. Jen by měl být dost dlouhý a obsahovat alespoň jedno velké písmeno. Poté jej zadejte znovu (pro kontrolu, zda jste se překlepli).
A začínáme konfigurovat vlastní TCP. První otázka směřuje na to, zda je vaše spojení (lépe řečeno adresa) dynamická. U tohoto bodu bych se rád trochu pozastavil. Pokud se připojujete k síti Internet, musíte mít svoji adresu. Ta je dvojího druhu. Buď jmenná (amigarvw.login.cz) nebo číselná (193.86.193.96). Z hlediska funkce sítě je důležitá adresa číselná. Přitom každý počítač připojený k síti musí mít vlastní unikátní adresu. To ovšem platí pro každý časový okamžik. K síti mohou být připojovány dva počítače se stejnou číselnou adresou, pokud ovšem nejsou připojeny ve stejný čas. Řeknete si, to je nesmysl, kdo by to dělal. Dělal. Pokud máte terminálový server s deseti linkami, na který se připojuje třeba čtyřista uživatelů, zajisté uznáte že v jeden okamžik může být připojeno pouze deset uživatelů najednou. Teoreticky by tedy stačilo mít pro ně deset adres. Ovšem jak zajistit, aby byli připojeni vždy právě uživatelé s různými adresami? Jednoduše. Nepřidělit jim pevnou adresu, ale mít adresu přidělenou linkám. Podle toho, na kterou se uživatel dovolá, takovou zrovna dostane adresu. Tento způsob je výhodný z hlediska toho, že je potřeba malý počet adres. Přináší však i jeden problém. Takto připojované počítače nemohou mít jmennou adresu. Jak jsem již uvedl, pro chod sítě je důležitá ta číselná, která se musí z jmenné odvodit. A to je při stále se měnících adresách dosti obtížné.
Ale zpět ke konfiguraci. Firma SpiNet poskytuje adresy pevné, takže zde budu popisovat tento případ. Máte-li pevnou adresu, zvolte na otázku "Is your connection dynamic" odpověd" "No". Dále zadejte jméno vašeho počítače (do první tečky v adrese). U našeho amigarvw.login.cz to je "amigarvw" A nyní dopište zbytek. Opět se přidržím našeho případu - "login.cz". Nyní můžete zadat aliasy pro svůj počítač. Toto asi nevyužijete, takže pouze klikněte na tlačítko "Proceed"
Nyní si budeme vybírat protokol. Většina z vás zvolí spojení po seriálu, takže zvolte "SLIP/CSLIP". A teď musíme odpověď zkonkretizovat. SLIP (jehož zařízení se jmenuje "rhslip") je starší než CSLIP (zařízení rhcslip). CSLIP umí komprimovat. Bohužel SpiNet CSLIP nepoužívá. Tudíž je vhodné zvolit "rhslip". Dále zadejte, na jaké adrese se má zařízení hlásit (jakou síťovou adresu má přidělenu). Toto je vaše číselná (IP) adresa (Your IP address). Pro nás počítač to je 193.86.193.96. Dále je nutno zadat adresu počítače, na nějž bude slip připojen. V případě SpiNetu to je 193.86.200.1. Jinak si ji musíte zjistit. Nyní nastavíte NETMASK. Máte-li připojen jen jeden počítač, nastavte jej na 255.255.255.255, popřípadě podle informací vašeho poskytovatele Internetu. Opět potvrďte volby kliknutím na "Yes".
Protože používáte sériový port, zvolte sériové zařízení, nejlépe serial.device, jeho unit (zadejte 0) a rychlost sériového portu pro komunikaci s modemem. Tato rychlost by se měla řídit rychlostí vašeho modemu - měla by vždy být o něco vyšší. Pro 2400 modemy stačí 9600 (ale provozovat TCP po 2400 modemech není příliš použitelné k něčemu jinému než dopisování a stahování krátkých souborů). Pro 9600 modem je vhodná rychlost 19200 a my v redakci používáme s naší 14400 rychlost 38400.
MTU, neboli Maximum Transfer Unit je maximální, která se bude přenášet v jednom paketu. Můžete odkliknout nastavenou. Také nastavení dalších parametrů je možno ponechat. Avšak nejlepší je zaškrtnout také položku "EOF-Mode". A potřetí potvrďte nastavení kliknutím na "Yes".
Nyní zadáváte adresy počítače označovaného jako "default gateway". To je "nadřízený" počítač v síti. Váš počítač mu bude posílat všechny pakety, u kterých neurčíte, že je má posílat jinam. Zadejte opět hodnotu jako u adresy druhého počítače pro SLIP- 193.86.200.1.
Již jsem mluvil o dvou druzích adres. Jelikož není možno mít v každém počítači adresy všech ostatních počítačů na světě, funguje systém převodu jmenné adresy na číselnou (tzv. resolving) tak, že počítač nejprve prohledá svou vlastní databázi. Pokud v ní nic nenajde, dotáže se nadřízeného, který shromažďuje údaje o svých podřízených. Ten provede totéž. Tato struktura je stromová.
Představme si, co se stane, pokud budeme chtít z našeho amigarvw.login.cz zjistit adresu počítače ftp.math.ethz.ch. Náš počítač tedy zjistí, že adresu nezná a zeptá se počítače obhospodařujícího doménu login.cz (tedy všechny počítače jejichž adresa končí na login.cz). Ani on ji nezná a tedy postoupí žádost hlavnímu serveru pro Českou republiku. Ten zjistí, že se jedná o mezinárodní adresu a předá dotaz hlavnímu švýcarskému serveru, neboť počítače s koncovkou .ch patří do Švýcarska. Ovšem ani hlavní švýcarský počítač tuto adresu přímo nezná. Pouze ví, který počítač obhospodařuje doménu ethz.ch (Polytechniku v Curychu) a dotaz opět putuje. Již se dostáváme ke konci. Podobný proces nastane i na počítači obhospodařujícím ethz.ch. Až teprve počítač pro math.ethz.ch adresu zná a ta putuje zpět v přesně obráceném pořadí až se dostane zpět do našeho amigarvw.login.cz. Mimochodem, nepřipomíná vám to tak trochu jistou pohádku O kohoutkovi a slepičce...
Běh dotazu je znázorněn na obrázku. Povšimněte si, že pro získání adresy není vůbec nutno kontaktovat vlastní počítač ftp.math.ethz.ch. To znamená, že adresu lze převést i když počítač, na jehož adresu se dotazujeme, zrovna neběží.
Ale zpět ke konfiguraci. Na papíru k vašemu kontu by měla být uvedena adresa nejméně dvou name serverů. Dva jsou proto, kdyby náhodou jeden vypadl. Proto je postupně zadejte. Například pro SpiNet je prvním serverem 193.86.200.10. Nakonec zadejte prázdné jméno. Instalační program přejde k zadávání doménových jmen. Opět pouze potvrďte nabízenou možnost. A pak ještě jednou prázdný řetězec.
Následující otázka směřuje na to, zda chcete, aby se AmiTCP startovalo automaticky na počátku. Pokud máte připojení přes modem, nedoporučuji to. Poté bude chtít Installer přidat několik řádků do vašeho user-startupu. Pod tím je upozornění, že pokud máte nestandardní systém, může toto přivodit krach instalace. Jestliže jste opatrní a zvolíte "No", program vám vypíše, co si do něj máte přidat (například v CEDu).
Dále si ještě musíte zvolit, zda chcete na počátku nastartovat démona jménem Inetd. Pojem "démon" pochází z UNIXU a označuje program který stále běží, byl většinu času tráví čekáním na nějakou událost. Inetd obhospodařuje vstupy do vašeho počítače. Pokud se totiž připojujete na nějaký počítač, musí tento vědět jakou službu po něm chcete. Zda kupříkladu chcete přenášet soubory pomocí FTP nebo na dálku ovládat počítač Telnetem. Vždyť v obou případech zadáváte stejnou adresu. Z tohoto důvodu existují na každém počítači ještě jakési "podadresy" - porty. Při spojení je nemusíte zadávat, neboť program Telnet či FTP si sám zajistí spojení na ten správný port. A právě Inetd je to co na základě souborů AmiTCP:db/inetd.conf a AmiTCP:db/services rozhoduje, který port obhospodařuje který démon (telnetový, ftp, ...). Pokud nebudete chtít provozovat na své Amize žádný FTP či Telnet server, asi ho nebudete potřebovat. Zvolte proto "No". I poté však můžete normálně používat jak Telnet tak FTP. Teď si už jenom přečtěte zobrazené README a zresetujte počítač - AmiTCP je nainstalováno.

Test funkčnosti
Po resetu si hned AmiTCP vyzkoušíme. Použijeme k tomu program PING, který se používá k testování funkčnosti spojení či dosažitelnosti jiného (avšak i vlastního) počítače. Zdánlivě nedělá nic užitečného - po svém spuštění pouze posílá protějšímu počítači pakety, které jsou mu vraceny zpět. Ovšem právě toto je jeho funkce. Pokud se pakety vrací, je vše v pořádku. Ping ale vypisuje i pořadí paketů (pakety mohou dojít zpřeházené, popřípadě se ztratit) a časem za který se vrátili zpátky. Program PING přerušíte stiskem CTRL-C.
V souvislosti s testováním ještě jednu poznámku o adresách. Z různých důvodů existuje adresa 127.0.0.1 (jmenná localhost), která vede zpět, do vašeho počítače. Říká se tomu tzv. local loopback. Opět se zdá, že je to k ničemu. Ovšem chyba lávky. Z hlediska síťových programů je totiž jedno, zda jsou používány přes tuto smyčku ze stejného počítače, nebo třeba z druhého konce světa. Význam tohoto je právě pro testování, jak si právě ukážeme.
Zadejte tedy v CLI příkaz "startnet". Pokud je vše správně, měla by se vám objevit úvodní obrazovka AmiTCP. Na ní je tlačítko "OK" zašedlé. To proto, že máte demoverzi. Po nějaké době už jde stisknout. Nyní by se mělo AmiTCP nastartovat a vrátit bez nějakých chybových hlášení. Funguje-li, můžete zkusit následujícím způsobem pomocí příkazu PING. Zadejte "ping 127.0.0.1 " či "ping localhost"a po chvilce stiskněte CTRL-C. Mělo by se vám zobrazit něco jako na obrázku. Pokud ping nechodí, je někde něco špatně.

Logovací skript
Bylo by jistě nepohodlné pokaždé vytáčet číslo a logovat se ručně. Proto existuje tzv. logovací skript. Dovolil jsem si upravit jeden, který je napsán v jazyce ARexx. Využívá knihovnu rexxserdev.library. Proto rozbalte originální archiv a tuto knihovnu zkopírujte do svého adresáře LIBS:. Dále je ještě nutno nastavit zařízení a rychlost, kterou má používat, telefonní číslo, vaše logovací jméno a heslo. Zde ovšem nastává problém, neboť ne všechny servery se chovají stejně. Mnou upravený skript pod názvem "DIAL" používáme v redakci pro spojení na SpiNet, avšak pro jiného provozovatele Internetu jej možná bude potřeba poněkud zmodifikovat. Pokud chcete, můžete použít originální skript. Tento skript nakopírujte do adresáře AmiTCP:bin.
Při nastavování rychlosti a zařízení pozor, měly by být stejné jako jste zadali u sériového portu, jinak se vystavujete nebezpečí, že SLIP nebude chodit.
Pro naše potřeby jsem napsal malý skript pro shell jménem "Internet", který je námi distribuován společně s AmiTCP. Tento script provede zalogování a pokud se toto povede, spustí AmiTCP. Dále ještě vybere došlou poštu. Tou se však budeme zabývat až příště.
Pokud se program spojí (vypisuje do CLI, co se děje) a nastartuje se AmiTCP, provedeme další test příkazem PING a to tak, že zkusíme spojení s nejbližším počítačem - gatewayem. Napište "ping {adresa počítače)", v případě SpiNetu to je, "ping 193.86.200.1". Nyní budou časy o něco delší (200-400 milisekund). Pak můžete vyzkoušet, zda funguje převod jmen. Zadejte například "ping aci.cvut.cz".

Závěr
Nyní máte nainstalováno základní AmiTCP spolu s dial-skriptem. Mělo by fungovat automatické připojení na Internet, dále pak Telnet a FTP. U FTP se ale ještě zastavím. V AmiTCP 4.0 se jmenuje "ncftp" a mně osobně se moc nelíbí. Je v něm mimo jiné skryt i menší podraz - na začátku je totiž nastaveno tak, že vás loguje jako anonymního uživatele. Pokud si ale chcete něco přetáhnout ze svého vlastního konta, asi vás tato vlastnost příliš nepotěší. V tomto případě ho musíte zavolat s volbou "-u", pak vás nechá zadat jméno a heslo. Pošta zatím nefunguje, té se budeme věnovat příště. Pokud ale již máte konto na jiném počítači, můžete si tu svou číst přes Telnet.

PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=8 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=8 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=9 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=255 time=8 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=255 time=8 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=255 time=9 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=255 time=8 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=255 time=10 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=255 time=9 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=255 time=8 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=255 time=9 ms
64 bytes from 127.0.0.1: icmp_seq=1 1 ttl=255 time=8 ms
-- 127.0.0.1 ping statistice -
12 packets transmitted, 12 packets received, 0% packet loss
round-trip min/avg/max = 8/8/10 ms



Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing