Aby zrozumieć czym jest i jak funkcjonuje rodzina protokołów TCP/IP w pierwszym rzędzie omówimy
podstawowe pojęcia związane z funkcjonowaniem sieci komputerowych.
Sieć komputerowa jest systemem komunikacyjnym słuŜącym przesyłaniu danych, łączącym dwa lub więcej
komputerów i urządzenia peryferyjne. Składa się z zasobów obliczeniowych i informacyjnych, mediów
transmisyjnych i urządzeń sieciowych.
Do łączenia komputerów w sieci stosuje się zwykle tzw. sieci z wymianą pakietów (ang . packet-switched).
Oznacza to, Ŝe dane które trzeba przesłać w sieci dzieli się na małe porcje zwane pakietami i przesyła za
pośrednictwem multipleksowanych szybkich łączy między komputerami. Aby taki pakiet dotarł do właściwego
odbiorcy musi posiadać informację identyfikacyjną, dzięki której sprzęt sieciowy wie, jak dostarczyć dany
pakiet pod wskazany adres. DuŜy plik musi być podzielony na wiele pakietów, które są pojedynczo przesyłane
przez sieć. U odbiorcy pakiety ponownie składa się w jeden plik. Największą zaletą takiego sposobu
przesyłania danych jest moŜliwość równoczesnej obsługi wielu połączeń między komputerami, podczas
których łącza są współdzielone pomiędzy porozumiewającymi się komputerami, wadą zaś moŜliwość
przeciąŜenia łącza, w sytuacji gdy zbyt wiele maszyn nawiązuje łączność. Pomimo tej wady sieci z wymianą
pakietów zyskały ogromną popularność. W dalszej części pracy uŜywając słowa sieć będziemy mieli na myśli
sieci z wymianą pakietów.
Poszczególne urządzenia wchodzące w skład sieci mogą być rozmieszczone w jednym pomieszczeniu, w
jednym budynku, lub być rozproszone na duŜej przestrzeni. Zazwyczaj jeśli poszczególne urządzenia
umieszczone są "w jednym miejscu", np. w tym samym budynku - sieć nazywana jest siecią lokalną LAN
(ang . Local Area Network). W takim przypadku urządzenia sieciowe są zwykle połączone jednym rodzajem
kabla transmisyjnego. JeŜeli rozproszenie urządzeń sieciowych jest znaczne - to wtedy sieć taka jest
zorganizowana jako połączenie ze sobą kilku sieci lokalnych i nazywana rozległą siecią komputerową WAN
(ang . Wide Area Network).
Zapewnienie współdziałania elementów składowych sieci jest złoŜonym problemem technicznym. W
związku z tym stosuje się model warstwowy,
w którym kaŜda warstwa świadczy określony poziom usług: jedna zajmuje się transferem danych, inna
pakowaniem/rozpakowaniem komunikatów, jeszcze inna świadczy usługi na rzecz aplikacji końcowej itd.
NaleŜy tu podkreślić, Ŝe chociaŜ warstwy sieci stanowią niezaleŜne całości, to jednak nie mogą wykonywać
Ŝadnych widocznych zadań w odosobnieniu od pozostałych poziomów.
Komunikacja pomiędzy komputerami odbywa się zawsze na poziomie odpowiadających sobie warstw.
Warstwy komunikują się ze sobą zgodnie z określonymi zasadami nazywanymi protokołem. Rozwiązanie
takie ułatwia analizę procesów zachodzących w sieci i w efekcie upraszcza ich projektowanie.
Protokoły
Protokołem w sieci komputerowej nazywamy zbiór zasad syntaktycznych i semantycznych sposobu
komunikowania się jej elementów funkcjonalnych. Tylko dzięki nim urządzenia tworzące sieć mogą się
porozumiewać.
Podstawowym zadaniem protokołu jest identyfikacja procesu, z którym chce się komunikować proces bazowy.
Z uwagi na to, Ŝe zwykle w sieci pracuje wiele komputerów, konieczne jest podanie sposobu określania
właściwego adresata, sposobu rozpoczynania i kończenia transmisji, a takŜe sposobu przesyłania danych.
Przesyłana informacja moŜe być porcjowana - protokół musi umieć odtworzyć informację w postaci
pierwotnej. Ponadto informacja moŜe z róŜnych powodów być przesłana niepoprawnie - protokół musi
wykrywać i usuwać powstałe w ten sposób błędy, prosząc nadawcę o ponowną transmisję danej informacji.
RóŜnorodność urządzeń pracujących w sieci moŜe być przyczyną niedopasowania szybkości pracy nadawcy i
odbiorcy informacji - protokół powinien zapewniać synchronizację przesyłania danych poprzez zrealizowanie
sprzęŜenia zwrotnego pomiędzy urządzeniami biorącymi udział w transmisji. Ponadto z uwagi na moŜliwość
realizacji połączenia między komputerami na róŜne sposoby, protokół powinien zapewniać wybór optymalnej -
z punktu widzenia transmisji - drogi.
Model warstwowy w którym kaŜda warstwa posługuje się własnym protokołem znacznie upraszcza
projektowanie niezwykle skomplikowanego procesu komunikacji sieciowej. Muszą jednak jasno zostać
zdefiniowane zasady współpracy tych protokołów. Warstwowy model OSI stanowi przykład opisu takich
zasad, będąc w istocie “protokołem komunikacji między protokołami”.
Adresy IP
Do rozróŜniania komputerów TCP/IP uŜywa 32 bitowej liczby całkowitej, nazywanej adresem IP.
Pomysłowość tego systemu adresowania polega na tym, Ŝe umoŜliwia on efektywne wyznaczanie tras
pakietów. Jest to moŜliwe dzięki temu, Ŝe adres IP zawiera informację o tym do jakiej sieci jest włączony dany
komputer oraz jednoznaczny adres komputera w tej sieci. Adres IP jest uŜywany przy wszystkich operacjach
związanych z wymianą informacji z daną maszyną.
Ogólnie przyjętym sposobem zapisu adresu IP w sposób czytelny dla uŜytkownika jest format bajtowo-
dziesiętny - adres zapisywany jest w postaci czterech liczb dziesiętnych, które oddzielone są kropkami, przy
czym kaŜda liczba dziesiętna odpowiada 8 bitom adresu IP. Taki zapis nosi nazwę “notacji dziesiętnej z
kropkami” ( ang. dotted quad notation). Zapis taki jest z pewnością o wiele bardziej czytelny dla człowieka niŜ
zapis bitowy.
Np. 32 bitowy adres:
10000000
00001010
00000010
00011110
jest zapisany jako:
128.
10.
2.
30
Istnieją cztery klasy adresów IP, róŜniące się podziałem poszczególnych bitów pomiędzy identyfikację samej
sieci i identyfikację urządzeń w tej sieci.
Obserwując najstarsze bity adresu moŜemy stwierdzić do jakiej klasy naleŜy dany adres, w efekcie moŜemy
stwierdzić ile bitów będzie adresowało sieć, ile zaś sam komputer. Zwróćmy uwagę, Ŝe aby określić
przynaleŜność do jednej z trzech zasadniczych klas (A, B, C) wystarczą dwa pierwsze bity.
Łatwo zauwaŜyć, Ŝe adresów klasy A wykorzystywanych przez duŜe sieci jest niewiele (na adres sieci
przeznaczone jest 7 bitów, więc sieci takich jest 27=127) ale w kaŜdej z sieci tej klasy moŜe być ponad 16
milionów komputerów (na adres maszyny przeznaczone jest 24 bity więc otrzymujemy 224 maszyn).
Klasa B przeznaczona jest dla sieci średniej wielkości mających od 28 (tj. 256) do 216 maszyn - 14 bitów
określa sieć, zaś 16 bitów komputer. W efekcie otrzymujemy 16384 sieci, które mogą mieć do 65535
komputerów kaŜda.
W klasie C sieć adresowana jest za pomocą 21 bitów - daje to 221 sieci (ponad 2 miliony) ale w kaŜdej z nich
moŜe być co najwyŜej 28=256 maszyn.
Adres klasy D (ang . multicast address) ma specjalne znaczenie - jest uŜywany w sytuacji gdy ma miejsce
jednoczesna transmisja do większej liczby urządzeń.
Postać adresu IP umoŜliwia szybkie określenie zawartego w nim adresu sieci i adresu maszyny.
Wykorzystują to routery, które wymagają moŜliwości sprawnego wyróŜnienia tego adresu w celu szybkiej
pracy.
Jak wspomnieliśmy, adresy zamiast w postaci bitowej, zwykle zapisuje się w postaci czterech liczb
dziesiętnych. Wówczas podział na klasy wygląda następująco:
Klasa
NajniŜszy adres
NajwyŜszy adres
A
0.1.0.0
126.0.0.0
B
128.0.0.0
191.255.0.0
C
192.0.1.0
223.255.255.0
D
224.0.0.0
239.255.255.255
E
240.0.0.0
247.255.255.255
Adres IP kaŜdego urządzenia, które moŜe być połączone z intersiecią musi być unikalny w skali światowej.
W celu zapewnienia jednoznaczności identyfikatorów sieci, wszystkie adresy przydzielane są przez jedną
organizację. Zajmuje się tym Internet Network Information Center (INTERNIC). Przydziela ona adresy sieci,
zaś adresy maszyn w ramach sieci administrator moŜe przydzielać bez potrzeby kontaktowania się z
organizacją. Organizacja ta przydziela adresy tym instytucjom, które są lub będą przyłączone do
ogólnoświatowej sieci INTERNET.
KaŜda instytucja moŜe sama wziąć odpowiedzialność za ustalenie adresu IP, jeśli nie jest połączona ze
światem zewnętrznym. Nie jest to jednak dobre rozwiązanie, gdyŜ w przyszłości moŜe uniemoŜliwić
współpracę między sieciami i sprawiać trudności przy wymianie oprogramowania z innymi ośrodkami.