Vyšlo v měsíčníku Computer Echo č. 1/95, leden 1995
Vytištěno z adresy: http://www.earchiv.cz/a95/a501e300.php3

PC/TCP OnNet 1.1 & PC/TCP Network Software 3.0

aneb: (skoro) všechno od FTP Software v jednom balíku

Uživatelům, kteří se zajímají o problematiku implementace protokolů TCP/IP na počítačích PC, jistě není třeba podrobněji představovat jedno z největších jmen v tomto oboru, firmu FTP Software, Inc. Snad ale neuškodí seznámit se podrobněji s jedním z nejnovějších produktů této firmy, který obsahuje v jednom programovém balíku dnes již klasický kernel PC/TCP ve verzi TSR i v provedení pro Windows, a k tomu pak přidává i mnoho dalších doplňků.

Jedna z prvních implementací síťových protokolů TCP/IP pro osobní počítače standardu IBM PC se zrodila v polovině osmdesátých let na prestižní americké univerzitě MIT (Massachusets Institute of Technology) v rámci výzkumných projektů. Jejich bezprostředním realizačním výstupem byl produkt, nazvaný PC-IP, který MIT v roce 1985 uvolnila k volnému použití (jako tzv. freeware). Jedním ze studentů, kteří se aktivně podíleli na vývoji tohoto produktu, byl i John Romery. Ten se po skončení projektu na MIT rozhodl dotáhnout některé své myšlenky ještě dále, za hranice školního projektu, a postavit vše na komerční bázi. Proto v lednu 1986 zakládá spolu s několika dalšími přáteli firmu FTP Software, Inc. Tato firma pak již v dubnu 1986 přichází s první verzí své implementace protokolů TCP/IP, nazvanou PC/TCP.

Základem je jádro, neboli kernel

Obrázek 1.
Obr. 1.: Okno s ikonami aplikací OnNet
Podobně jako v případě akademického PC-IP, tak i v případě prvních verzí komerčního PC/TPC šlo o ucelené aplikace. Tedy o programy, které implementaci přenosových protokolů TCP/IP obsahovaly jako svou nedělitelnou součást, o kterou se již nedokázaly podělit s jinými aplikacemi. Například program pro přenos souborů, implementující protokol FTP (File Transfer Protocol), který má v rodině protokolů TCP/IP na starosti právé přenos souborů, si vedle tohoto aplikačního protokolu musel sám znovu implementovat i všechny ostatní protokoly, které jsou k fungování protokolu FTP zapotřebí - mj. TCP, IP atd. Totéž samozřejmě platilo i pro jiné ostatní aplikace, resp. implementace aplikačních protokolů - také například emulátor terminálu si přenosové protokoly TCP a IP musel implementovat zcela znovu atd.

V jednoúlohovém prostředí tehdy kralujícího MS DOSu toto nebylo něčím, co by vadilo příliš - alespoň po technické stránce. V roce 1988 ovšem firma FTP přichází s novou verzí (verzí 2.0) svého PC/TCP, která již implementaci přenosových protokolů osamostatňuje, a odděluje od implementace protokolů aplikační vrstvy (viz též obrázek 1). Jelikož ale jednoúlohové prostředí MS DOSu jinou možnost nepřipouští, dostaly osamostatnělé přenosové protokoly formu rezidentního programu (programu TSR, Terminate and Stay Resident), který se po svém spuštění nainstaluje do operační paměti a zůstává zde trvale. Je proto k dispozici i ostatním, následně spouštěným programům, kterým již stačí implementovat jen konkrétní aplikační protokoly (pro přenos či sdílení souborů, pro emulaci terminálu atd.).

Po technické stránce šlo především o osamostatnění protokolu IP, který v prostředí TCP/IP sítí zajišťuje přenos jednotlivých datových paketů (tzv. IP paketů) a pracuje na úrovni tzv. síťové vrstvy (bavíme-li se v intencích sedmivrstvého modelu ISO/OSI), a dále protokolů TCP a UDP, které pracují o vrstvu (na úrovni tzv. transportní vrstvy), rozdělují přenášená data dodatových paketů, a zajišťují jejich spolehlivý (resp. nespolehlivý) přenos prostřednictvím protokolu IP. Tyto tři protokoly, spolu s některými dalšími „služebními" protokoly na úrovni síťové vrstvy přitom tvoří v jistém smyslu základ, na kterém se pak budují jednotlivé aplikace (implementují aplikační protokoly). Nebo se na tyto protokoly a jejich implementaci můžeme dívat také jako na jádro každé síťové aplikace - což byl zřejmě pohled, který u firmy FTP zvítězil při hledání vhodného jména pro osamostatnělou část. Nazvala ji kernel, což v doslovném překladu znamená právě jádro.

Jádro se prodává samostatně

Osamostatnění jádra (kernelu) TC/TCP však nebylo zdaleka jen rozumným technickým řešením. Umožnilo totiž firmě FTP Software provést zajímavý marketingový tah - začít nabízet své jádro (kernel) samostatně, jako samostatný softwarový produkt. Komu se to ale mohlo hodit?

Obrázek 3.
Obr. 3.: Telnet v prostředí Windows nabízí menu předdefinovaných spojení
Především celému zástupu malých a menších producentů aplikačního SW, kterým se nevyplatí vlastní vývoj přenosových prostředků na bázi protokolů TCP/IP (neboli vlastní implementace protokolů IP, UDP, TCP atd.). Například začínající firma, která chce uvést na trh vlastní program pro emulaci terminálu, tak může učinit bez toho, že by k němu musela dodat i nezbytnou přenosovu část - může své zákazníky odkázat na to, aby si pořídili potřebné jádro od jiné, již dobře zavedené firmy (pokud jej ještě nemají). Po ekonomické, marketingové, a konec konců i po technické stránce takovéto řešení může být výhodné pro všechny zúčastněné strany.

Firma FTP Software byla jednou z prvních, ne-li úplně první firmou, která začala prodávat své jádro i jako samostatný produkt. Díky tomu se na příslušném segmentu softwarového trhu patřičným způsobem prosadila, a současně s tím i podnítila vznik celé řady nadstavbových aplikací - které dnes již většinou dokáží pracovat i s jinými jádry, resp. jim odpovídajícími přenosovými prostředky jiných výrobců, ale PC/TCP jádro je jejich „mateřským" řešením. Z úspěšných tuzemských produktů není možné nevzpomenout v této souvislosti emulátor terminálu ArcTel brněnské firmy FBL. .. prosím ověřit, nemám po ruce přesný odkaz na Blanařovu firmu ....

Na scénu vstupují MS Windows

Technické řešení samostatného jádra, ve formě rezidentního programu (programu TSR) je univerzálním a obecně použitelným řešením. Doplácí ale na neduhy „starého a špatného" MS DOSu, především na způsob jeho hospodaření s pamětí a známé problémy s nedostatečným objemem konvenční paměti. Jádro PC/TCP přeci jen má určitou velikost (závislou i na jeho konkrétním nastavení, obecně v řádu desítek KB), a je-li instalováno jako rezidentní, zabírá paměť, která může jinde chybět.

Obrázek 4.
Obr. 4.: Telnet s emulací terminálů 3270
V prostředí holého MS DOSu není v zásadě žádná jiná možnost (pomineme-li použití různých správců paměti typu QEMM apod.). Tu však přináší MS Windows, jako grafická a především víceúlohová nadstavba nad jednoúlohovým MS DOSem. V prostředí MS Windows je v principu možné realizovat jádro takovým způsobem, aby nezabíralo žádnou konvenční paměť (ale na druhé straně zase bylo k dispozici jen aplikacím, spouštěným pod MS Windows, a nikoli aplikacím běžícím jen pod MS DOSem).

Samozřejmě ani firma FTP Software se neubránila všeobecnému trendu přechodu z prostředí MS DOSu pod MS Windows. V polovině roku 1991 přichází s prvním ovladačem (VxD, Virtual Device Driver) pro rozšířený mód MS Windows, který umožňuje využívat služeb rezidentního jádra i z víceúlohového prostředí MS Windows. Později pak FTP Software přichází i s plně „windowsovskou" implementací svého jádra (jen ve formě ovladače VxD), nyní i plně 32-bitového.

Co je PC/TCP OnNet a PC/TCP Network Software?

Jde o dva produkty, které jsou prodávány jako tzv. bundle (česky nejspíše: programový balík), neboli „zabalené" do jednoho celku, buď na jediném disku CD-ROM, nebo na 10 disketách.

PC/TCP OnNet má číslo verze 1.1, a obsahuje 32-bitovou verzi jádra PC/TCP ve formě ovladače VxD pro MS Windows, klientskou část implementace protokolu NFS (známou jako InterDrive), a implementaci protokolu NetBIOS. PC/TCP Network Software má číslo verze 3.0, a obsahuje to samé, ale ve verzi rezidentních (TSR) programů. K tomu jsou pak přibaleny některé aplikace, jak pro prostředí MS DOS, tak i pro prostředí MS Windows. Konkrétně jde o aplikace, utility, resp. prostředky pro:

    Obrázek 5.
    Obr. 5.: Utilita TRACEROUTE v provedení pro Windows
  • emulaci terminálu (telnet), vzdálené přihlašování (rlogin, remote shell)
  • přenos souborů (FTP)
  • práci s elektronickou poštou
  • tisk v síti
  • on-line komunikaci (typu chat, talk)
  • zálohování
  • konfiguraci vlastních (klientských aplikací i konfiguraci serverů
  • zjišťování dosažitelnosti uzlů v síti (PING)
  • zjišťování různých statistik o provozu sítě
  • dotazy na přihlášené uživatele (FINGER),
  • vyhledávání adres uživatelů (WHOIS)
  • zjišťování jmen počítačů (HOST)

Obrázek 6.
Obr. 6.: Grafické uživatelské rozhraní utility FTP
Vše je přitom integrováno takovým způsobem, že pro uživatele se prakticky ztrácí rozdíl mezi tím, co je PC/TCP OnNet, a co PC/TCP Network Software. Jasno v tom ostatně neměli ani tvůrci dokumentace, kteří hned na první stránce jedné z příruček uvádí, že kromě VxD jádra obsahuje OnNet znovu ještě to samé, co obsahuje Network Software. Uživateli to ale může být vcelku jedno - pro něj je podstatné spíše to, že podle svého vlastního uvážení si může nechat nainstalovat buď jen jádro ve formě VxD ovladače pro prostředí MS Windows, nebo naopak jen rezidentní jádro (nebo i oboje současně, pokud to dokáže využít - např. pro případ variantních konfigurací, mezi kterými si uživatel vybírá již při spouštění počítače).

Dokumentace - něco na papíře, něco on-line

Pokud jde o dokumentaci, ta je rozdělena na dvě části - základní (basic Document Set) a doplňkovou (Supplemental Document Set). Základní dokumentaci tvoří následujících pět titulů, které uživatel dostane v tištěné podobě:

    Obrázek 7.
    Obr. 7.: Multimediální prohlížeč on-line dokumentace
  • Release Notes (s popisem změn, odlišností a rozšíření oproti předchozím verzím)
  • Getting Started (stručný návod k instalaci, konfiguraci a prvnímu spuštění)
  • Using PC/TCP in Windows („řádná" uživatelská dokumentace pro ty části produktu, které jsou určeny pro prostředí MS Windows)
  • Command Quick Reference (stručný přehled příkazů)
  • Master Index, Glossary, Bibliography (hlavní rejstřík, glosář, bibliografie).

Rozšířenou dokumentaci pak tvoří tři tituly:

  • Managing PC/TCP (podrobnější pokyny pro instalaci a správu)
  • Using PC/TCP in DOS („řádná" uživatelská dokumentace pro ty části produktu, které jsou určeny pro prostředí MS DOS)
  • Command Reference (seznam příkazů)

Obrázek 8.
Obr. 8.: Vyhledávání v on-line dokumentaci
Tyto tři tituly již ale nejsou standardně dodávány v tištěné podobě. Zájemce o jejich tištěnou verzi si je musí přiobjednat (a tudíž si za ně i něco připlatit). V ceně a jako standardní součást produktu jsou však on-line verze všech titulů (kromě Command Quick Reference a Master Index).

Pro práci s touto on-line dokumentací je pak k produktu přibalena i multimediální aplikace Reference Desk, schopná pracovat s elektronickým textem jako s hypertextem. Jednou ze zajímavých vlastností této aplikace, kterou lze chápat jako nadstavbu na tradičními prostředky pro nápovědu v rámci MS Windows, je její vazba na prostředky pro přenos souborů, umožňující přístup k dalším elektronckým dokumentům, nacházejícím se na anonymních FTP archivech v rámci Internetu.

Co je nového - na jádře?

Nové jádro, které obsahuje PC/TCP OnNet, je novým, plně 32-bitovým jádrem ve formě VxD ovladače, tvořené jediným souborem(VXDPCTCP.386). Podoruje stejné typy sítí jako jeho rezidentní protějšek, s výjimkou možnosti koexistence s protokoly BANYAN VINES nad ovladači VINES (tj. s výjimkou ekvivalentu kernelů, označovaných jako ebanyan.exe a ibanyan.exe), a možnosti koexistence s protokoly DEC Pathworks na d ovladači DLL (depca.exe).

Obrázek 9.
Obr. 9.: Nastavování konfigurace jádra v prostředí Windows
Na druhé straně dokáže nové VxD jádro používat i nové NDIS ovladače verze 3, pracující plně v tzv. chráněném režimu procesorů Intel 80x86. Vedle toho dokáže pracovat i s ovladači ODI, a samozřejmě i s tzv. paketovými ovladači, jejichž specifikace pochází právě od firmy FTP Software.

Také rezidentní jádro pro prostředí MS DOSu bylo zdokonaleno, je asi o 10KB menší než v předchozí verzi PC/TCP Network Software (verzi 2.3), je schopné podporovat až 64 současných spojení na úrovni protokolu TCP, a je také schopné pracovat s ovladači NDIS verze 3.

Součástí jádra je nyní také nový SNMP agent pro prostředí Windows, schopný pracovat s databázemi MIB-II (zatímco obdobný SNMP agent na úrovni DOSu podporuje stále jen MIB-I). Podporován je i nově zaváděný protokol DHCP (Dynamic Host Configuration protocol), který by měl postupně nahradit používání stávajícího protokolu bootp.

Plně VxD řešení i pro NFS

Obrázek 10.
Obr. 10.: Grafické uživatelské rozhraní NFS klienta (InterDrive) pro Windows
Snad nejzajímavější je na celém balíku i to, že obsahuje novou, plně 32-bitovou klientskou složkuprotokolu NFS, umožňující plně transparentní sdílení souborů - tedy obdobu programu pro prostředí MS DOS, který je v provedení od firmy FTP Software nazýván Interdrive, nyní ale ve verzi pro prostředí MS Windows. Díky existenci 32-bitového VxD jádra a možnosti použít NDIS ovladače verze 3 pak může tento nový NFS klient zajistit velmi výkonné a rychlé transparentní sdílení souborů zcela na úrovni MS Windows, bez podpory na úrovni MS DOS (a hlavně bez spotřeby konvenční paměti). Rychlost tohoto řešení je dále zvýšena schopností pracovat až s bloky velikosti 8 KB na úrovni protokolu UDP.

Doplňkem je grafické uživatelské rozhraní, které umožňuje logické připojování (mapování, tzv. mount) vzdálených disků a diskových svazků) jednoduchou a intuitivní technikou drag&drop i další konfigurování NFS klienta, viz obrázek. Nové grafické uživatelské rozhraní s obdobnou funkcí (a s názvem IDNET) dostal ostatně i DOSový Interdrive

Něco pod Windows, něco stále jen pod DOS

Do prostředí MS Windows se nastěhovaly i některé další aplikace, dodávané jako součást balíku OnNet & Network Software - nikoli ovšem všechny, které jsou dostupné na úrovni DOSu.

Dosti nepříjemné je to v případě elektronické pošty - součástí balíku sice jsou utility, umožňující přenos elektronické pošty z/na vzdálené poštovní servery prostřednictvím protokolů POP2, POP3, Pcmail i SMTP (a také přenos síťových news prostřednictvím protokolu NNTP). Jsou to ovšem jen utility pro prostředí DOSu, navíc fungující jen dávkově. Pro vlastní sestavování, čtení a další zpracování zpráv (a příspěvků síťových news) jsou pak k dispozici hned dva programy - jeden, který je klasickým Unixovským programem mail, pouze přeneseným do prostředí DOSu, a druhý (s názvem vmail) jen snad jen o něco málo komfortnější. Uživatelé si ale nemohou vybrat, poštu přenášenou protokolem SMTP mohou zpracovávat pouze programem mail, a ostatní poštu zase pouze programem vmail. „Komfort" obou těchto programů, prostých jakýchkoli menu, okének či sebemenšího náznaku uživatelské přítulnosti, by snad bylo možné považovat za standardní na neinteligentních znakových terminálech Unixových počítačů. Uživatelům dnešních počítačů PC, zvyklým na zcela jiný komfort a pracovní prostředí, musí oba tyto programy připadat jako mrtvolný pach, vanoucí odněkud z dávno vyhynulého světa počítačové prehistorie. Pro práci s elektronickou poštou v prostředí MS Windows žádné prostředky k dispozici nejsou.

Z prostředí MS Windows naopak lze používat emulaci terminálu, pro potřeby vzdáleného přihlašování protokolem Telnet. K dispozici je emulace VT52, VT100, VT220, IBM PC a samostatný emulátor pro terminálů IBM 3270. Dále je v prostředí MS Windows k dispozici i klient FTP pro přenos souborů (stejně tak jako FTP server), program pro vedení diskusí v reálném čase (prostřednictvím protokolu Talk), program pro zjišťování statistik o stavu a zatížení jádra a sítě jako takové, program pro zjišťování dostupnosti uzlů (protokolem ping), program pro zjišťování informací o přihlášených uživatelích (ping), o jménech počítačů (host) a o adresách uživatelů (whois). Všechny tyto programy přitom mají vcelku standardní uživatelské rozhraní, jaké je dnes typické pro prostředí MS Windows, a nabízí tomu odpovídající komfort. Další zajímavostí je i Unixový příkaz TAR (Tape Archiver), který se kromě své DOS-ové podoby dočkal i verze pro Windows, a stal se tak užitečným zálohovacím programem, který dokáže zálohovat soubory z počítačů PC na disky či pásková zařízení, připojené ke vzdáleným Unixovským počítačům.

Podpora Windows Sockets

Zajímavých doplňkem 32-bitového VxD jádra PC/TCP je i jeho podpora dnes již standardního rozhraní Windows Sockets. Jádro PC/TCP totiž lze „překrýt" další vrstvičkou, které z něj navenek činí 16-bitové rozhraní Windows Sockets, které pak mohou využívat i jiné aplikace pro Windows, vyžadující právě toto rozhraní (a které pochází od jiných výrobců - například emulátory terminálů, klienti služby Gopher, programy pro práci s elektronickou poštou atd.). Jak jsem si empiricky vyzkoušel (protože dokumentace v tomto ohledu mlčí jako hrob), platí právě uvedené tvrzení i naopak - některé z aplikací od firmy FTP Software, obsažené v balíku OnNet & Network Software, dokáží vystačit bez svého jádra a fungovat i nad rozhraním Winsock, které realizují produkty jiných výrobců (zkoušel jsem konkrétně Trumpet Winsock a Winsock od firmy Microsoft).

Nebylo to ovšem vždy bez problémů. Například když jsem zkoušel archivovat pomocí zálohovací utility pro prostředí Windows (která je ve skutečnosti jen starým dobrým příkazem TAR, „zabaleným" do lákavějšího obalu s grafickým uživatelským rozhraním), byl výsledek velmi závislý na tom, co bylo „pod" tímto programem. Bylo-li pod ním rozhraní Windows Sockets, implementované volně šiřitelným programem Trumpet Winsock, pak pokus o zálohování končil pravidelně chybou poté, co se odzálohovalo kolem 1200 souborů (načež rozhraní Winsock ohlásilo chybu, ze které se již nedokázalo vzpamatovat). Když jsem totéž opakoval s tím, že „vespod" bylo 32-bitové VxD jádro PC/TCP, vydrželo zálohování poněkud déle - systematicky havarovalo až po 16 000 souborech. Teprve když jsem použil zálohovací utilitu pro prostředí DOSu (tj. přímo příkaz TAR) nad klasickým rezidentním kernelem, podařilo se mi bez problémů odzálohovat celý „macatý" Novelský server, přes počítač PC, na páskovou jednotku připojenou k Unixovskému počítači.

S jinými problémy ve funkčnosti recenzovaného balíku jsem se nesetkal.

Na závěr - co chybí

Poučení, které jsem si ze svých praktických pokusů s novým balíkem odnesl, je že rezidentní jádro PC/TCP již mělo dostatek času na to, aby vyzrálo a bylo v něm vychytáno více chybiček, než kolik se jich zřejmě stihlo najít a odstranit v novém VxD jádru. Inu, v každém programu je vždy chyba - jde spíše o to, kolik jich je a zda brání úspěšnému používání vlastního produktu.

Co mi ale na novém produktu vadilo mnohem více, byla absence některých dnes již standardních aplikací - které by neměly chybět v žádném balíku, usilujícím stát se skutečně kompletním. Nejde přitom zdaleka jen o klienta pro práci s elektronickou poštou v prostředí Windows, o kterém jsem se již zmiňoval, či o program pro práci se síťovými news. V podobném balíku, jakým OnNet & Network Software je, by zřejmě neměly chybět ani klientské programy (tzv. klienti) služeb Gopher, WWW (resp. program Mosaic) a stejně tak klienti dalších služeb, které jsou dnes tak populární nejen v sítích, připojených do Internetu. Ale možná jde o marketingový tah, protože zmíněné programy by již měly být obsaženy v jiném balíku, který je uváděn na trh pod jménem „Explore OnNet". Snad se i s jeho recenzí na stránkách Computer Echo brzy setkáme.