Warstwowy model architektury internetowej, cz IV




Warstwowy model architektury internetowej, cz. IV






















część I
część II
część III
część IV

Warstwowy
model architektury internetowej
Andrzej Sopala










5.
Warstwa zastosowań
Warstwę zastosowań stanowią najczęściej programy użytkownika i
programy użytkowe systemu operacyjnego. Korzystają one z warstwy
transportowej poprzez interfejs gniazdek. Programy te po obu
stronach porozumiewają się ze sobą przy pomocy protokołu warstwy
zastosowań. Istnieje wiele standardowych protokołów realizujących
różne usługi (HTTP, SMTP, FTP i wiele innych) - wszystkie
standardowe protokoły opisane są w dokumentach RFC (Request for
Comments), dostępych na większych i poważniejszych serwerach FTP,
zwłaszcza na serwerach instytucji akademickich. Programy mogą
korzystać również z niestandardowych protokołów, tworzonych do
konkretnych zastosowań i konkretnych programów. Wszystkie te
protokoły (standardowe i niestandardowe) definiują sposób
komunikacji między programami przy zastosowaniu niezawodnego
połączenia strumieniowego (TCP) lub zawodnego przesyłania
datagramów. W książce opisaliśmy
cztery popularne protokoły warstwy zastosowań (POP3, SMTP, HTTP oraz
FTP) oraz zdefiniowaliśmy na własny użytek protokół rozmów
internetowych NaszChat, który posłużył jako podstawa do
konstruowania dużej części przykładów.
Artykuł jest
fragmentem z książki Pisanie programów
internetowych publikowanym za uprzejmą zgodą autora
i Wydawnictwa MIKOM.
Księgarnia
internetowaWydawnictwa MIKOM Zamów książkę przez
Internet
Nazwy
domenowe, usługa DNS
Dla pełnego obrazu podstaw funkcjonowania Internetu pozostało nam
omówienie ważnej usługi tłumaczenia nazw hostów na adres IP. Każdemu
hostowi w Internecie przypisać można nazwę domenową (dziedzinową). Ma ona
postać oddzielonych od siebie kropkami nazw poszczególnych domen. Od
najbardziej ogólnej, umieszczonej na końcu, aż po nazwę komputera
umieszczoną na początku. Ostatni człon najczęściej określa kraj, gdzie
umieszczony jest host (nie dotyczy to USA). Przedostatni (a ostatni w USA)
najczęściej dotyczy ogólnej dziedziny życia, gospodarki, którą zajmuje się
organizacja, do której należy host (np. edu - edukacja; com - komercyjny;
org - organizacje). Kolejne od końca człony są już nazwami własnymi
organizacji. Przykładem nazw hostów są: www.yahoo.com
polbox.com
ftp.pg.gda.pl
qwerty.ds2.pg.gda.pl
www.uj.edu.pl

Szczególną nazwą hosta jest "localhost", która zawsze oznacza komputer
lokalny - podobnie jak adres IP postaci "127.0.0.1" (patrz Adresy IP).
Użytkownik Internetu najczęściej określa host przy pomocy nazwy
domenowej. Stosowanie adresów IP - choć również poprawne - nie jest
wygodne. Z kolei interfejs gniazdek może obsługiwać jedynie adresy IP.
Aplikacja internetowa staje więc przed problemem tłumaczenia nazwy
domenowej na adres IP. Korzysta przy tym z usługi DNS (Domain Name
Service) - umiejscowiona jest ona w warstwie zastosowań. Usługa DNS oparta
jest na sieci serwerów DNS, które stanowią rozproszoną bazę nazw
domenowych wszystkich hostów w Internecie. Aplikacja, która chce
przetłumaczyć nazwę hosta na jego adres IP kontaktuje się z najbliższym
serwerem DNS, wysyłając zapytanie. Ten jeśli zna odpowiedź od razu
odpowiada; jeśli nie zna - zadaje pytanie innemu serwerowi DNS, lub odsyła
do niego. Protokół i sieć serwerów DNS jest w ten sposób zaprojektowana,
że żadne pytanie nie zostanie bez odpowiedzi - system w skończonym czasie
znajdzie dany host, oczywiście jeśli dana nazwa istnieje.
Na szczęście programista nie musi znać szczegółów usługi DNS.
Interfejs gniazdek udostępnia funkcje, dzięki którym zamiana nazwy hosta
na adres IP i odwrotnie jest trywialna. Służą do tego funkcje
gethostbyname (zamiana nazwy na adres) i gethostbyaddr (odwrotnie). Więcej
o tych funkcjach napiszemy przy omawianiu konkretnych interfejsów
gniazdek.
Podsumowanie
Ten krótki opis funkcjonowania Internetu i oprogramowania składającego
się na niego, powinien przygotować Czytelnika do lektury książki. Nie
wszystkim jednak się w niej zajeliśmy. Spośród opisywanych tu kwestii, w
książce zajmowaliśmy się jedynie stykiem warstwy transportowej i
zastosowań oraz samą warstwą zastosowań. W każdej części książki
poświęconej konkretnemu systemowi omówiliśmy usługi oferowane przez
warstwę transportową - gniazdka, struktury i typy danych, funkcje na nich
operujące itp. Przygotowaliśmy przykładowe programy, które z racji swych
funkcji umieścić można w warstwie zastosowań (aplikacji).














http://www.e-marketing.pl/


Justyna Szumacher (justsz@webmaster.pl)



Wyszukiwarka