COMPUTERWORLD
Specializovan² t²denφk o v²poΦetnφ technice
o Internetu
(CW 34/96)

Winsock 2: P°φÜtφ generace sφ¥ov²ch aplikacφ pro Windows

V nep°φliÜ dßvnΘ dob∞ byl ka₧d² v²vojß° sφ¥ov²ch aplikacφ pro Windows postaven p°ed zßva₧n² problΘm. Jedin²m standardem, kter² existoval pro sφ¥ovou komunikaci, byl Netbios, kter² pou₧φval Netbeui protokol. Pokud cht∞l n∞kdo pou₧φt odliÜn² protokol, musel se pustit do p°φmΘho programovßnφ hardwaru nebo vyu₧φt nep°φliÜ pr∙hledn²ch specifikacφ jin²ch v²robc∙.

Proto bylo v roce 1991 ustanoveno °adou v²robc∙ Winsock Forum, kterΘ pozd∞ji vytvo°ilo rozhranφ Winsock 1.1 pro obecnou sφ¥ovou komunikaci pod Windows. Toto rozhranφ je zalo₧eno na modelu socket∙ systΘmu Berkeley Unix a je urΦeno pro komunikaci aplikace-aplikace. Winsock je p°edevÜφm sadou volßnφ jßdra, pro vytvo°enφ spojenφ, p°enßÜenφ dat a uzav°enφ spojenφ. Vlastnφch volßnφ je celß °ada, vΦetn∞ n∞kolika specißlnφch pro operaΦnφ systΘm Windows. Winsock 1.1 se rychle uchytilo a nynφ je vÜeobecn∞ pou₧φvßno pro vytvß°enφ sφ¥ov²ch aplikacφ, vΦetn∞ internetov²ch.

Tento n∞kolik let star² standard ji₧ nestaΦφ souΦasn²m po₧adavk∙m a proto byla vytvo°ena novß specifikace Winsock reagujφcφ na nyn∞jÜφ pot°eby. Pou₧φvß podobn² model socket∙, ale je postaveno univerzßln∞ji a dovoluje pou₧φvat i neaplikaΦnφ propojenφ.

Novinky ve Winsock 2.0

Winsock p°inßÜφ n∞kolik zßsadnφch novinek. Zatφmco nejvyÜÜφ API je urΦeno pro transparentnφ p°φstup k sφ¥ov²m slu₧bßm bez ohledu na pou₧it² sφ¥ov² protokol pro vlastnφ aplikaci, na ni₧Üφ ·rovni m∙₧e v²vojß° vyu₧φt specifick²ch vlastnostφ urΦitΘho protokolu. Tak₧e pokud nenφ nutnΘ nap°. urychlit b∞h pou₧itφm specißlnφch rys∙ programovanß aplikace, bude v nezm∞n∞nΘ form∞ provozovatelnß na jakΘkoliv sφti.

Kontrola kvality

Modernφ aplikace, jako jsou videokonference, pot°ebujφ pro svou funkci urΦitou Üφ°ku, kvalitu p°enosovΘho pßsma. Pokud nenφ aplikace schopna zajistit tuto kvalitu, m∙₧e dojφt ke zkreslenφ p°enßÜenφ dat, nebo dokonce k znemo₧n∞nφ b∞hu aplikace.

Winsock 2 umo₧≥uje, aby aplikace trasparentn∞ po₧ßdala o urΦitou kvalitu pßsma. Pokud sφ¥ovß vrstva nenφ schopna po₧adavek zajistit nebo nepodporuje kontrolu kvality, aplikaci je doruΦena zßpornß zprßva.

Winsock 2 podporujφ t°i druhy kvality p°enosovΘho pßsma. GarantovanΘ, p°edpoklßdanΘ a nezaruΦenΘ. GarantovanΘ pßsmo je urΦeno pro aplikace, kterΘ p°esn∞ v∞dφ, jak velkΘ p°enosovΘ pßsmo pro svou funkci pot°ebujφ a nepom∙₧e jim, pokud by m∞ly k dispozici v∞tÜφ prostor.

P°edpoklßdanΘ pßsmo je urΦenΘ nap°. pro video v reßlnΘm Φase, kdy systΘm zaruΦuje urΦitΘ minimßlnφ p°enosovΘ pßsmo, ale v p°φpad∞, ₧e je k dispozici v∞tÜφ, dß ho k dispozici aplikaci.

Poslednφ typ nezaruΦuje tΘm∞° nic, jen poskytne aplikaci mo₧nost pracovat s tak Üirok²m pßsmem, jakΘ je zrovna k dispozici.

DalÜφ funkce

Winsock 2 zajiÜ¥uje takΘ protokolov∞ nezßvislΘ vysφlßnφ paket∙ na vφce mφst (multicast), kdy m∙₧e b²t implementace provedena pomocφ p°irozen²ch prost°edk∙ sφ¥ovΘho protokolu (nap°. IP mutlicast) nebo vyÜÜφmi funkcemi v knihovn∞ Winsock 2.0.

Na rozdφl od p°edchozφ verze Winsock nynφ umo₧≥ujφ pracovat s vφce buffery, p°i posφlßnφ i p°ijφmßnφ dat, kdy lze dosßhnout vyÜÜφ rychlosti prßce sφ¥ov²ch aplikacφ.

Winsock 2 jsou zatφm implementovßny pouze ve Windows NT 4.0. A₧ dojde k upgradu Windows 95, m∞l by se tento protokol takΘ objevit v tomto operaΦnφm systΘmu. U₧ivatelΘ by m∞li poznat zv²Üenou rychlost a stabilitu p°i sφ¥ovΘ komunikaci, z°ejm∞ se objevφ celß sada nov²ch aplikacφ, kterΘ budou vyu₧φvat nov²ch mo₧nostφ Winsock 2.


Winsock 2.0

Novinky:

- Transparentnφ p°φstup k sφ¥ov²m protokol∙m

- Mo₧nost vyu₧φvat specißlnφ funkce a mo₧nosti jednotliv²ch sφ¥ov²ch protokol∙

- Aplikace si m∙₧e vy₧ßdat urΦitou kvalitu a velikost p°enosovΘho pßsma

- Transparentnφ p°φstup k adresß°ov²m slu₧bßm

- Mo₧nost p°idßvat dodateΦnΘ moduly, jako je podpora SSL apod.

- Protokolov∞ nezßvislΘ vysφlßnφ paket∙ na vφce mφst


Funkce Winsock 2

Winsock 2 fungujφ uvnit° pon∞kud odliÜn²m zp∙sobem ne₧ jejich p°edch∙dce. Jsou samoz°ejm∞ zp∞tn∞ kombatibilnφ, tak₧e existujφcφ aplikace k nim mohou p°istupovat jako u Winsock 1.1.

Kostru novΘ specifikace tvo°φ t°i zßkladnφ p°φstupy: Winsock 2 API, kterΘ slou₧φ jako vstupnφ bod pro aplikaΦnφ propojenφ podobn∞ jako u p°edchozφ verze. Tyto vstupnφ body jsou ulo₧eny v dynamickΘ knihovn∞ - WS2-32.DLL. Tato knihovna dßle komunikuje s dalÜφ vrstvou, nazvanou poskytovatel slu₧eb (SP). To nenφ jeÜt∞ vlastnφ implementace protokolu, ale abstraktnφ vrstva, kterß odd∞luje Winsock API od konktrΘtnφch protokol∙.

Tato vrstva komunikuje s vlastnφm protokolov²m zßsobnφkem. Aby bylo mo₧nΘ zajistit mo₧nost volßnφ specifick²ch funkcφ jednotliv²ch protokol∙, definuje WinSock 2 dalÜφ vrstvu PSA (Protokol Specific Annex).

Pokud v²vojß° po₧aduje volßnφ specißlnφ slu₧by p°φsluÜnΘ urΦitΘmu protokolu, pak je toto volßnφ provßd∞no p°es p°φsluÜnΘ PSA. Jestli₧e vÜak vy₧aduje obecnou slu₧bu Winsock, pak je volßnφ provedeno p°es SPI (Service Provider Interface). Takto je zajiÜt∞na pot°ebnß transparentnost a zßrove≥ mo₧nost pro volßnφ rychl²ch a v²konn²ch funkcφ urΦit²ch protokol∙.

(pes)


| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage |