Sieci komputerowe
"Komputery, choć nadal się powszechnie uważa, że ich użytkowanie jest trudne, zawi-
kłane, a wręcz deprymujące, stanowią skok kwantowy w komunikacji, podobnie jak wynalezie-
nie alfabetu lub prasy drukarskiej"1.
3000 p.n.e. - liczydło
1623 - Wilhelm Schickard skonstruował maszynę liczącą, która mogła dodawać i odej-
mować, a także mnożyć i dzielić liczby sześciocyfrowe zapisane w układzie dziesiętnym
1642 - Blaise Pascal zbudował Pascaline - mechaniczną maszynę do liczenia, która po-
trafiła dodawać i odejmować liczby ośmiocyfrowe.
ok. 1674 - Gottfried Wilhelm von Leibniz opisał matematyczne podstawy budowy ma-
szyny liczącej w systemie dwójkowym, która potrafiła wykonywać cztery podstawowe działania
arytmetyczne, czyli dodawanie, odejmowanie, mnożenie i dzielenie
1694 - Leibniz stworzył kalkulator, który oprócz opisanych działań potrafił także wycią-
gać pierwiastki
1833 - Charles Babbage ukończył projekt maszyny analitycznej (często zwanej młynem
arytmetycznym), która miała wykonywać podstawowe działania matematyczne, a także zapamię-
tywać dane wejściowe i pośrednie oraz wyniki obliczeń końcowych
1843 - Augusta Ada Byron, Lady Lovelace przedstawiła projekt wykorzystania maszyny
Babagge a do komponowania złożonej muzyki, tworzenia grafiki i innych celów zarówno na-
ukowych, jak i ściśle praktycznych
1979 - w Departamencie Obrony USA opracowano język programowania, nazwany
ADA na cześć córki Lorda Byrona.
1946 - pierwszy komputer elektroniczny ENIAC (Electronic Numerical Indicator And
Calculator), który mógł wykonać 5 tysięcy operacji dodawania lub 300 operacji mnożenia na
sekundę oraz pomieścić w pamięci 20 liczb dziesięciocyfrowych
1946 - John von Neuman określił obowiązujące do dzisiaj zasady konstrukcji kompute-
rów. Architekturę komputera, w której instrukcje i dane są reprezentowane w maszynie w iden-
tyczny sposób, zaś program i dane mieszczą się w tej samej wewnętrznej pamięci komputera
(pamięci operacyjnej), nazwano sterowaną programem. W oparciu o te zasady, na przełomie
1949 i 1950 roku, pod kierunkiem von Neumanna skonstruowano komputer EDVAC (Electronic
Discrete Variable Automatic Computer) - pierwszą maszynę wewnętrznie programowalną.
Pierwszy komputer, który nie był wykorzystywany wyłącznie do celów wojskowych,
zwany UNIVAC I (Universal Automatic Computer) powstał w 1951 roku. Rok pózniej pojawił
się pierwszy komputer produkowany seryjnie - IBM 701, w 1953 roku do masowej sprzedaży
wprowadzono IBM 650. Niespełna trzydzieści lat pózniej na rynku pojawi się komputer IBM
PC, którego standard wyznaczył nowe kierunki rozwoju cywilizacji.
4 pazdziernika 1957 roku o godzinie 19.28 z kosmodromu Bajkonur wystrzelono pierw-
szego w historii sztucznego satelitę Sputnik 1.
ZSRR rozpoczął podbój kosmosu& i erę Internetu.
1
Wallace Wang, Internet, Hakerzy, Wirusy& , Wydawnictwo RM, Warszawa 2001, s.XVIII.
Sieci komputerowe
W 1958 roku, między innymi jako reakcję na wystrzelenie przez ZSRR sztucznego sate-
lity, prezydent USA Dwight Eisenhower powołał rządową agencję ARPA (Advanced Research
Project Agency), której zadaniem było wspieranie naukowych badań akademickich, które miały
szczególne znaczenie dla obronności Stanów Zjednoczonych.
Jednocześnie na zlecenie amerykańskich sił zbrojnych RAND Corporation rozpoczęła
prace nad projektem sieci transmisji danych, która w razie wojny byłaby odporna na ataki wroga.
Wszystkie istniejące do tej pory sieci były tworzone w technologii mainframe, tj. zarządzane
były przez jeden główny komputer. Jego awaria uniemożliwiała pracę całej sieci, stąd istotne
stało się opracowanie technologii, która nawet po wyłaczeniu jednostki centralnej byłaby w sta-
nie zapewnić łączność w sieci. W 1960 roku amerykański inżynier, urodzony w 1926 roku w
Polsce Paweł Baran przedstawił, a dwa lata pózniej opublikował projekt pierwszej w historii
sieci rozproszonej. Jego pomysł uznano za za fantastykę.
Minęło kilka lat. W 1967 roku odbyła się konferencja naukowa ARPA na temat tech-
nicznych możliwości budowy rozległych sieci komputerowych o rozproszonym zarządzaniu, tj.
takich, które nie posiadają central, lecz umożliwiają automatyczne wyszukiwanie połączeń mię-
dzy dowództwem i oddziałami polowymi nawet przy dużym stopniu zniszczenia infrastruktury
telekomunikacyjnej kraju.
Najciekawsze rozwiązanie zaproponował Alex MacKenzie z Uniwersytetu Stanforda,
który zaproponował ideę pakietu informacji z przypisanym do niej adresem, który by automa-
tycznie krążył po sieci "szukając" swojego odbiorcy tak, jak to się dzieje z listami pocztowymi.
ARPA zdecydowała się wesprzeć ten projekt.
29 września 1969 roku na Uniwerystecie Kalifornijskim w Los Angeles (UCLA), a póz-
niej na Uniwersytecie Stanforda i Uniwersytecie Utah zainstalowano w ramach eksperymentu
finansowanego przez ARPA (Advanced Research Project Agency), pierwsze węzły sieci zwanej
ARPANET. Zespół Alexa MacKenzie stworzył zręby protokołu TCP i w 1968 wykonał pokaz
automatycznego trasowania połączeń w sieci liczącej kilkanaście serwerów rozproszonych na
tych trzech uniwersytetach.
W 1971 roku odtajniono protokół TCP/IP, a lokalne sieci akademickie uzyskały zgodę
na przyłączanie się do ARAPANET.
W 1980 roku ARPA rozdzieliła ARPANET na niezależne od siebie sieci: wojskową i
akademicką oficjalnie nazwaną Internetem.
Kiedy w latach czterdziestych pojawiły się eksperymentalne komputery nikt nie przy-
puszczał, że w przeciągu kilkudziesięciu zaledwie lat ich mali następcy zawędrują pod strzechy,
a życie bez systemów komputerowych będzie praktycznie niewyobrażalne. Ray Tomlinson z
firmy Bolt Beranek and Newman, który w 1971 roku wysłał pierwszy na świecie e-mail, także
prawdopodobnie nie przypuszczał, że dwadzieścia lat pózniej będzie to podstawowy sposób ko-
munikowania się między ludzmi.
W sieciach komputerowych dane nie są przesyłane jako strumień bitów, lecz łączone w
grupy i wysyłane jako pakiet. Stąd też współczesne sieci komputerowe często nazywane są sie-
ciami pakietowymi lub inaczej sieciami z przełączaniem pakietów. Dzięki takiemu przesyłaniu
Sieci komputerowe
danych, z tego samego zasobu może prawie równolegle korzystać kilka komputerów. Sieć po-
zwala jednemu z komputerów na przesłanie pakietu, pózniej umożliwia wysłanie danych innemu
komputerowi i tak dalej. Taki podział czasu blokowania zasobów umożliwia przyspieszenie dzia-
łania sieci. Pakietem jest mały blok danych, którego format jest uzależniony od rodzaju sieci.
Ramka definiuje format pakietu w określonej sieci. W trakcie przesyłania danych w sieci mogą
nastąpić zakłócenia (np. spięcia) elektromagnetyczne, które zmieniają przesyłane sygnały. Za-
kłócenia takie mogą spowodować błędną interpretację fragmentu wiadomości, ale mogą też cał-
kowicie zniszczyć sygnał. Problemy związane z tego typu zakłóceniami noszą nazwę błędów
transmisji. Każda sieć zapewnia swoim użytkownikom pewne mechanizmy wykrywania i po-
prawiania błędów transmisji. Zazwyczaj sprzęt i oprogramowanie sieciowe wraz z danymi wysy-
łają niewielką dodatkową porcję informacji, którą
nadawca wylicza na podstawie da- nych, które prze-
syła, zaś odbiorca powtarzając te obliczenia dla
otrzymanych danych, sprawdza, czy pakiet został
przesłany bez błędu2. Przykładem takiej kontroli
błędów transmisji może być np. kontrola parzystości, metoda sum kontrolnych czy wyliczenie
CRC.
Ze względu na rozmiar sieci komputerowej możemy wyróżnić:
1. LAN (Local Area Network) sieć lokalna, obejmuje zwykle użytkowników na niewielkim
obszarze (jeden do kilku budynków), wykonana w jednej technologii np. Ethernet
2. MAN (Metropolitan Area Network) sieć miejska (tzw. średnia), łącząca oddzielne sieci
lokalne na obszarze jednego miasta np. sieci Warman
3. WAN (Wide Area Network) sieć rozległa, łącząca ze sobą sieci MAN i LAN na terenie
większym od jednego miasta
1. Sieci lokalne
Początkowo sieci budowano według schematu point-to point, tzn. kanał komunikacyjny
łączy dokładnie dwa komputery i jest dostępny wyłącznie dla nich. Liczba połączeń rośnie wraz
ze wzrostem liczby maszyn przyłączanych do sieci i dla N komputerów wynosi N(N-1)/2.
Dla trzech komputerów schemat połączeń wygląda następująco:
zaś już dla pięciu komputerów :
2
Douglas E. Comer Sieci komputerowe i intersieci, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.
Sieci komputerowe
Każda sieć lokalna składa się z jednego wspólnego ośrodka, do którego podłączonych
jest wiele komputerów, kolejno korzystających z tego ośrodka i za jego pośrednictwem przesyła-
jących swoje zasoby.
Cechą charakterystyczną sieci lokalnych jest tzw. lokalność odwołań:
1. fizyczna (przestrzenna) lokalność odwołań - najczęściej komunikują się ze sobą komputery,
które fizycznie znajdują się niedaleko siebie
2. czasowa lokalność odwołań - komputery, które już komunikowały się ze sobą, prawdopo-
dobnie w przyszłości będą komunikować się ponownie (czasowa lokalność odwołań).
Zbiór reguł łączenia i komunikacji w danej sieci nosi nazwę topologii sieci. W zależno-
ści od wybranej topologii sieci istnieją konkretne zalecenia dotyczące kabli, złączy i sposobów
komunikacji komputerów między sobą. Topologia fizyczna sieci jest to sposób jej okablowania,
tj. łączenia komputerów (hostów) z medium transmisyjnym. Topologia logiczna3 opisuje reguły
komunikacji, z jakich korzystają komputery (stacje robocze) przy komunikowaniu się w sieci.
W sieci o topologii pierścieniowej (ring topology)
komputery są połączone w zamkniętą pętlę, a każdy komputer
jest bezpośrednio połączony z dwoma innymi. Najczęściej w
sieciach tego typu stosowany jest mechanizm dostępu z prze-
kazywaniem nośnika (pierścień ze znacznikiem, token ring).
W sieci ze znacznikiem, komputer, który ma przesłać
dane,
nadawca wysyła ramkę
czeka na
nadawca odbiera ramkę
pozwolenie skorzystania z sieci. Po jego
odbiorca tworzy kopię uzyskaniu żadna inna transmisja nie nastą-
i przekazuje ramkę dalej
pi, dopóki wysłana przez nadawcę ramka
komputer bez znacznika
do niego nie wróci. Po rozpoczęciu trans-
przekazuje ramkę dalej
misji przez nadawcę wszystkie inne stacje
przekazują bity ramki dookoła pierścienia.
Odbiorca, tj. komputer, do którego ramka jest
adresowana, tworzy jej kopię dla siebie i przesyła ramkę dalej. W celu sprawdzenia poprawności
transmisji nadawca porównuje dane odbierane z wysyłanymi. W sieci pierścieniowej sprzęt sie-
ciowy koordynuje podłączone komputery, umożliwiając każdemu z komputerów transmisję da-
3
Topologie logiczne definiowane są przez IEEE (Institute of Electrical and Electronic Engineers)
Sieci komputerowe
nych. Do koordynacji służy specjalny komunikat (zarezerwowany wzór bitowy, różny od ramek
typowych dla danej sieci), zwany znacznikiem lub żetonem (token). Żeton jest pozwoleniem na
transmisję danych. W każdej chwili w pierścieniu istnieje tylko jeden znacznik. Komputer, który
otrzymuje żeton, zatrzymuje go, a następnie rozpoczyna przesyłanie danych. Kiedy wysłana
ramka wróci do nadawcy, żeton zostaje przesłany do następnego w kolejności komputera, zezwa-
lając na przesyłanie jego zasobów. Po otrzymaniu znacznika komputer może wysłać tylko jedną
ramkę, pózniej musi przesłać znacznik dalej. Najpopularniejszą siecią zbudowaną w topologii
pierścienia ze znacznikiem jest sieć IBM TokenRing.
Wadą pierścienia ze znacznikiem jest podatność na awarie. Uszkodzenie jednego z pod-
łączonych komputerów praktycznie unieruchamia całą sieć. Techniką umożliwiającą działanie
sieci w takiej sytuacji jest np. FDDI (Fiber Distributed Data Interconnect).
Sieć FDDI ma dwa
zamknięcie pętli
przeciwbieżne pierścienie, z
których normalnie wykorzy-
stywany jest tylko jeden. W
uszkodzona stacja
razie wystąpienia awarii powo-
pierścień awaryjny
dującej rozerwanie pierścienia
sieć rekonfiguruje się automa-
tycznie, wykorzystując do tego
pierścien do transmisji danych zamknięcie pętli
drugi, zwykle nieużywany,
pierścień.
Sieć o topologii szynowej (inaczej topologii magistrali) składa się z kabla, do którego
podłączone są komputery. W sieci tego
typu nadawca wysyła informację, która
płynie wzdłuż całego kabla (w kierun-
kach obu jego końców). Każdy komputer
przed wysłaniem danych otrzymuje prawo wyłącznego dostępu do szyny, które po wysłaniu
ramki przekazywane jest innemu komputerowi. W sieciach o topologii magistrali nie ma ośrod-
ka, który przydzielałby prawo transmisji kolejnym komputerom. Przydzielanie tego prawa od-
bywa się metodą CSMA (wykrywanie fali nośnej przy wielodostępie, Carrier Sense with Multi-
ple Access), polegającą na wykrywaniu istnienia sygnału elektrycznego w kablu. Jeżeli żadna z
maszyn niczego nie wysyła, wtedy w magistrali nie ma sygnałów elektrycznych. Sygnały elek-
tryczne (używane do kodowania wysyłanych bitów) pojawiające się w sieci podczas transmisji
noszą nazwę fali nośnej. Sprawdzanie obecności takiej fali w kablu, to wykrywanie fali nośnej,
zaś wykorzystywanie wykrywania fali nośnej do określenia możliwości transmisji nosi nazwę
wykrywania fali nośnej przy wielodostępie.
Jeżeli dwa komputery jednocześnie rozpoczną transmisję w wolnym kablu, wówczas do-
chodzi do kolizji. Stąd też stosuje się mechanizmy umożliwiające wykrywanie kolizji. Jednym z
nich jest monitorowanie kabla, zaś mechanizm dostępu do sieci nosi nazwę wielodostępu z wy-
krywaniem fali nośnej i wykrywaniem kolizji (CSMA/CD, Carrier Sense Multiple Access with
Sieci komputerowe
Collision Detect). Innym sposobem zapobieżenia kolizjom jest stosowanie mechanizmu wykry-
wania fali nośnej z równoczesnym dostępem i unikaniem kolizji (CSMA/CA, Carrier Sense
Multiple Access with Collision Avoidance).
W sieciach CSMA/CD, terminale monitorują kabel, aby ustalić czy jest zajęty. Terminal,
zamierzający wysłać dane czeka, aż eter będzie wolny. Nadawca podczas transmisji nieprzerwa-
nie monitoruje magistralę. Gdy wystąpi kolizja oba terminale przerywają transmisję ramek i
transmitują sygnał informujący inne terminale o zaistniałej kolizji. Po takim sygnale każdy z
terminali przed ponownym podjęciem transmisji odczekuje losowo ustalony czas. Kolejne koli-
zje powodują, że każda stacja podwaja swoje opóznienie. Przykładem sieci CSMA/CD jest za-
projektowany przez Xerox Corporation's Palo Alto Center, Ethernet.
W sieciach CSMA/CA nadawca przed rozpoczęciem transmisji wysyła komunikat kon-
trolny, na który odbiorca wysyła odpowiedz. Wymiana tych komunikatów informuje wszystkie
komputery w zasięgu odbiorcy o planowanym przesyłaniu danych. Po takim sygnale każdy z
terminali wstrzymuje swoje nadawanie na czas planowanej transmisji. Przykładami sieci
CSMA/CA są, stworzona przez Apple Computer Corporation, sieć LocalTalk oraz liczne sieci
bezprzewodowe.
Sieć ma topologię gwiazdy (star to-
pology), gdy wszystkie komputery są pod-
łączone do jednego miejsca, zwanego kon-
koncentrator
centratorem. Koncentrator (hub) jest urzą-
dzeniem, które przyjmuje dane z komputera
nadawcy i dostarcza je do komputera od-
komputer w sieci
biorcy. Przykładem sieci o takiej topologii
są sieci telefoniczne typu ATM (tryb prze-
syłania asynchronicznego, Asynchronous
Transfer Mode).
W opisanych rodzajach sieci informacja wysyłana przez nadawcę jest odbierana przez
wszystkie komputery przyłączone do sieci. Aby uniknąć takiej sytuacji wprowadzono adresowa-
nie, umożliwiając tym samym bezpośrednie porozumiewanie się dwóch komputerów w sieci.
Każde urządzenie w sieci ma własny i unikalny, nadany przez producenta, adres fizyczny MAC
(media access address)4. Każda ramka przesyłana w sieci rozpoczyna się stałej długości nagłów-
kiem, w którym znajdują się pola, przeznaczone na adres odbiorcy (adres docelowy) i adres
nadawcy (adres zródłowy). Wśród adresów zródłowych można wyróżnić:
1. adres rozgłaszania (broadcast) - programy sieciowe korzystają z tzw. rozgłaszania (broadca-
sting); mechanizm adresowania ramek w sieci umożliwia podanie zarezerwowanego adresu
rozgłaszania, rozpoznawanego przez wszystkie interfejsy sieciowe, a co za tym idzie wiado-
4
Adresy MAC sa przyznawane przez IEEE. Mac najczęściej ma postać sześciu dwucyfrowych liczb zapisanych w systemie szesnast-
kowym, oddzielonych od siebie dwukropkami lub myślnikami. Pierwsze trzy bajty identyfikują producenta, pozostałe są numerem
urządzenia. Dzięki adresowi zródłowemu MAC, zawartemu w uszkodzonej ramce, można znalezć uszkodzoną stację.
Sieci komputerowe
mość opatrzona adresem rozgłaszania dociera do wszystkich komputerów przyłączonych do
danej sieci;
2. adres grupowy (multicast) - ograniczoną formą rozgłaszania jest rozsyłanie grupowe (multi-
cast), wymagające wprowadzenia tzw. adresów grupowych; ramki są wysyłane do grupy
komputerów, których interfejsy sieciowe identyfikują takie adresy (np.: komputer podłączo-
ny do sieci prosi o umożliwienie mu skorzystania z drukarki i używając rozsyłania grupowe-
go wysyła pytanie o drukarkę tylko do tych stacji, do których jest podłączona drukarka);
3. adres pojedynczy (unicast).
Nadawca wysyłając informacje wskazuje odbiorcę, podając jego adres w sieci.
połączenie z siecią interfejs sieciowy procesor i pamięć komputer w sieci
Procesor produkuje dane do wysłania i przetwarza odebrane. Interfejs sieciowy obsługu-
je wysyłanie i odbieranie ramek, sprawdza zgodność ze standardem ramek przychodzących, po-
prawność transmisji i integralność ramek5. Interfejsy sieciowe poszczególnych komputerów po-
równują adres swej stacji z adresem zawartym w ramce i ignorują ramki, jeśli adresy nie są
zgodne. Ze względu na sposób przydzielania wyróżnia się:
1. adresy statyczne interfejsom sieciowym unikatowe adresy przydziela producent; taki adres
zmienia się wraz ze zmianą sprzętu (i tylko wtedy);
2. adresy konfigurowalne użytkownik sprzętu sieciowego może zmienić adres;
3. adresy dynamiczne przydzielaniem adresów zarządza mechanizm automatycznego przy-
dzielania adresu fizycznego w czasie uruchamiania stacji6.
Adresowanie MAC identyfikuje odbiorcę, nie określając rodzaju przesyłanej in-
formacji. Aby wskazać odbiorcy rodzaj przesyłanych danych, ramka zawiera dodatkowe
informacje określające jej zawartość. Wyróżniamy dwa typy ramek:
1. jawny projektant sprzętu określa sposób zapisywania informacji o rodzaju ramki i
przydziela numery używane do identyfikacji jej zawartości; pole typu ramki zawiera
ciąg bitów reprezentujący zawartość ramki (tzw. ramka samoidentyfikująca)
Na przykład w każdej
Adres Adres Typ
ramce ethernetowej pierwszym
Preambuła Dane CRC
docelowy zródłowy ramki
jej polem jest 64-bitowa pream-
nagłówek
buła (8 oktetów 8-bitowych, 1 i 0
ustawione naprzemiennie), która informuje o nadchodzącej ramce i zapewnia odbiorcy synchronizację sprzętu z odbieranym
5
To wszystko jest wykonywane poza procesorem komputera, do którego dany interfejs jest przyłączony.
6
Mechanizm taki najczęściej działa następująco:
a. losuje numer do chwili trafienia na taki, który nie jest aktualnie używany;
b. po wygenerowaniu propozycji adresu stacja wysyła komunikat do odbiorcy o takim adresie;
c. jeśli adres jest używany, wówczas komputer, który go używa nadeśle odpowiedz, zaś jeśli odpowiedz nie nadejdzie, nadawca
przyjmie adres jako własny.
Sieci komputerowe
sygnałem. Nagłówek zawiera dwa pola po 6 oktetów każde, przeznaczone na adresy fizyczne odbiorcy i nadawcy. Następne
16-bitowe pole zawiera typ ramki, np.: wartość 0800 w polu "typ ramki" oznacza Internet IP v. 4.0, 818D jest zastrzeżony dla
Motorola Corporation, 8137-8138 określa protokół IPX Novell Corporation.
2. niejawny sprzęt sieciowy nie ustawia pola typu ramki; informacja o typie przesyła-
nych danych jest umieszczana w polu danych i musi być zrozumiała zarówno dla
nadawcy, jak i dla odbiorcy.
Ogólna konstrukcja ramki
Nagłówek ramki Typ informacji Pole danych ramki
o typie niejawnym.
W celu zapewnienia jednolitej interpretacji typów ramek organizacje normalizacyjne określiły w swoich standardach
znaczenie wartości, które mogą występować w poszczególnych polach przesyłanej ramki. Normy ustalone przez różne organi-
zacje mogą jednak powodować konflikty np.:
LLC SNAP
przez przypisanie tym samym wartościom
AA AA 03 00 00 00 08 00
innego znaczenia. Powstawaniu takich pro-
pole
OUI
blemów zapobiegać ma norma definiująca
typu
budowę ramki. Powszechnie używana norma
(IEEE 802.2) przewiduje pole identyfikujące organizację standaryzacyjną oraz pole informujące o typie ramki w interpretacji
wskazanej organizacji. Nagłówek tak zdefiniowanej ramki nosi nazwę LLC (Logical Link Control) SNAP (SubNetwork Access
Point). W nagłówku LLC/SNAP złożonym z ośmiu oktetów trzy pierwsze oktety pola SNAP to pole jednoznacznego identyfi-
katora organizacji (OUI, Organizationally Unique Identifier). Oktety czwarty i piąty pola SNAP zawierają typ definiowany
przez organizację określoną w OUI. W opisywanym przykładzie pole OUI zawiera zera, tj. mamy do czynienia z organizacją
przydzielającą normy. Zatem wartość 0800 w polu typu oznacza typ w standardzie Ethernet.
Działanie sieci można w różny sposób kontrolować, np.: przez sprawdzanie liczby wy-
krytych kolizji lub czas krążenia żetonu w sieci. Do tego typu działań służą urządzenia zwane
monitorami sieci (analizatorami sieci). Najogólniej rzecz ujmując analizatory sieci służą do wy-
krywania i analizy błędów w pracy sieci.
2. Sieci WLAN
Sieci WLAN, czyli sieci bezprzewodowe, najczęściej są uzupełnieniem istniejących sieci
LAN. Najprostszą siecią WLAN są dwa komputery, które łączą się używając bezprzewodowych
kart sieciowych. Struktura taka nosi nazwę IBSS (Independent Basic
Service Set). Sieć taka ma stosunkowo niewielki zasięg, wynikający z
tego, że każda ze stacji musi pokrywać swoim zasięgiem pozostałe.
Zasięg można znacząco zwiększyć stosując
BSS Ad Hoc
punkt dostępowy AP (Access Point), będą-
AP
cy odpowiednikiem kon-
ESS
centratora w sieci Ethernet..
BSS1
AP
Dzięki zastosowaniu AP
rozpiętość sieci ulega podwojeniu, a struktura nosi
nazwę BSS (Basic Service Set).
AP
BSS2
Sieci komputerowe
Sieć WLAN najczęściej jest uzupełnieniem sieci LAN. Stosując kilka urządzeń dostę-
powych umożliwiających połączenie WLAN i LAN, możemy objąć zasięgiem sieci duże obsza-
ry. Taka instalacja nosi nazwę ESS (Extended Service Set), a połączone sieci tworzą system dys-
trybucyjny.
W sieciach WLAN stosowany jest mechanizmu wykrywania fali nośnej z równoczesnym
dostępem i unikaniemkolizji CSMA/CA (Carrier Sense Multiple Access with Collision Avoidan-
ce). Nadawca przed rozpoczęciem transmisji wysyła komunikat kontrolny, na który odbiorca
wysyła odpowiedz. Wymiana tych komunikatów informuje wszystkie komputery w zasięgu od-
biorcy o planowanym przesyłaniu danych. Po takim sygnale każdy z terminali wstrzymuje swoje
nadawanie na czas planowanej transmisji.
W celu zabezpieczenia transmisji bezprzewodowych w sieciach WLAN powstał proto-
kół WEP (Wired Equivalency Privacy), wykorzystujący algorytm strumieniowy RC4 z kluczem
o długości 40 lub 104 bitów. Dość szybko WEP okazał się protokołem niewystarczającym do
zapewnienia bezpieczeństwa. Obecnie najczęściej stosuje się protokoły WPA (WiFi Protected
Access), WPA2, WPA3 czy EAP (Extensible Autentication Protocol).
3. Sieci rozległe
Sieci rozległe (WAN, Wide Area Network), czyli sieci zapewniające połączenia na du-
żych obszarach, mogą łączyć różne miasta, kraje, a nawet kontynenty. Podstawowym elementem
łączenie z innymi przełącznik łączenie z
przełącznikami pakietów pakietów komputerami
sieci WAN jest przełącznik pakietów, czyli urządzenie, które przenosi pakiety między połącze-
niami. Dodanie kolejnych przełączników zwiększa pojemność sieci. Przełączniki do których
przyłączone są komputery noszą nazwę przełączników zewnętrznych (exterior switches), zaś te,
do których komputery nie są bezpośrednio dołączone - przełączników wewnętrznych (interior
switches). Sieci WAN wykorzystują technikę "zapisz i przekaż" przychodzące pakiety tworzą
kolejkę czekających na doręczenie, a przełącznik kolejno je przekazuje rozładowując kolejkę
pakietów przychodzących. W sieciach rozległych zwykle używa się hierarchicznego schematu
adresowania, w którym adres jest dzielony na kilka części. W najprostszym schemacie adres ma
dwie części. Pierwsza z nich określa przełącznik pakietów, druga komputer dołączony do tego
przełącznika. Sieci WAN oparte na technice wymiany pakietów są stosunkowo młode, pierwszą
z nich był ARPANET.
Sieci komputerowe
3.1. Struktura warstwowa sieci model ISO/OSI
Sieci komputerowe służą przede wszystkim udostępnianiu zasobów między połączonymi
ze sobą komputerami, a więc szeroko pojętej komunikacji między użytkownikami danej sieci.
Wszystkie strony biorące udział w takiej komunikacji muszą stosować zasady, jednolite i zrozu-
miałe dla wszystkich komunikujących się ze sobą w sieci stron. Prawidłowej komunikacji w sieci
komputerowej nie zapewni jedynie sprzęt, potrzebne jest również oprogramowanie zarządzające
pracą takiej sieci. Na poziomie sprzętowym komunikacja polega na przesyłaniu między kompu-
terami ciągów bitów zer i jedynek. Taki model komunikowania się ze sobą byłby jednak dla
użytkowników komputerów uciążliwy. Dlatego też komputery przyłączone do sieci wyposażone
są w oprogramowanie, które zapewnia przepływ danych między użytkownikami oraz zawiaduje
sprzętem służącym tej komunikacji. Zbiór reguł, które określają format wymienianych komuni-
katów, oraz zasad postępowania dla określonego komunikatu nosi nazwę protokołu sieciowego
(network protocol) lub komunikacyjnego (communication protocol). Protokoły mogą być różne,
w zależności od różnych form komunikacji. Podział oprogramowania komunikacyjnego na pod-
protokoły musi być dokonany w taki sposób, aby w ramach pewnego zbioru mogły one ze sobą
współpracować. Jednym z najważniejszych narzędzi do planowania takich zestawów, które w
całości tworzą określony protokół komunikacyjny, jest model podziału na warstwy. Model ten
opisuje podział zadania komunikacji na warstwy, tak aby protokoły odpowiadające poszczegól-
nym warstwom, w całości tworzyły zestaw współpracujących ze sobą protokołów.
Pod koniec lat siedemdziesiątych Międzynarodowa Organizacja Normalizacyjna (ISO,
International Standard Organization) opracowała siedmiowarstwowy model wzorcowy (model
łączenia systemów otwartych, Open System Interconnection). Proces komunikacji został podzie-
lony na 7 etapów (zwanych warstwami) ze względu na sposób przechodzenia pomiędzy nimi
informacji. Protokoły opracowane zgodnie z warstwowym modelem sieci, wymuszają na opro-
gramowaniu również warstwową organizację. Poszczególnym warstwom odpowiadają części
(moduły) oprogramowania. Podział na warstwy determinuje współdziałanie tych modułów. Pod-
czas transmisji każdy z nich komunikuje się wyłącznie z bezpośrednio wyższą lub niższą war-
stwą sieci. Dane przychodzące przechodzą przez wszystkie warstwy sieci w górę, zaś wychodzą-
ce w dół. Kolejne warstwy muszą jedynie znać format danych niezbędny do komunikacji przez
warstwę niższą, zwany protokołem wymiany
stacja nadawcza stacja odbiorcza
danych. Każda stacja zawiera oprogramowanie
warstwa aplikacji warstwa aplikacji
dla całego zestawu protokołów. Struktura two-
warstwa prezentacji warstwa prezentacji rzona przez warstwy OSI często jest nazywana
stosem protokołów wymiany danych.
warstwa sesji warstwa sesji
Część oprogramowania odpowiadająca
warstwa transportowa warstwa transportowa
warstwie N jednego stosu komunikuje się z rów-
warstwa sieciowa warstwa sieciowa
równorzędnym oprogramowaniem warstwy N
warstwa łącza danych warstwa łącza danych
drugiego stosu. Komunikacja ta jest prowadzona
warstwa fizyczna warstwa fizyczna
sieć
Sieci komputerowe
przy użyciu usług transmisji danych oferowanych przez warstwy niższe. Każda warstwa modelu
jest opisana przez protokół wymiany informacji między modułami oprogramowania danej war-
stwy oraz zbiór usług komunikacyjnych pełnionych dla warstwy znajdującej się bezpośrednio
nad nią. Mimo zmian sposobów projektowania protokołów komunikacyjnych model ISO wciąż
pozostaje wzorcem terminologii i metod komunikacji wewnątrzsieciowej.
Warstwy modelu ISO/OSI
warstwa aplikacji
udostępnia środowisko OSI aplikacjom; określa sposób korzystania pro-
VII (program użytkowy)
gramu użytkowego z sieci; świadczy usługi końcowe dla aplikacji np.:
application layer
udostępnia drukarki.
umożliwia reprezentowanie informacji, którą się posługują stacje podczas
warstwa prezentacji
VI
komunikacji; zapewnia tłumaczenie danych, definiowanie ich formatu i
presentation layer
odpowiednią składnię; odpowiada za kompresję i szyfrowanie danych.
umożliwia wymianę danych między aplikacjami; m.in.: steruje wymianą
warstwa sesji
V
danych, umożliwia odzyskanie utraconych danych; definiuje elementy
session layer
związane z bezpieczeństwem sieci.
zapewnia przezroczysty transfer danych między stacjami i usługi połącze-
warstwa transportowa
niowe; dba o kolejność pakietów otrzymywanych przez odbiorcę; spraw-
IV
transport layer
dza poprawność przesyłanych pakietów i zapewnia ich retransmisję w
przypadku uszkodzenia lub zaginięcia.
zapewnia środki do ustanawiania, utrzymania i rozłączania połączeń sie-
warstwa sieciowa
ciowych; odpowiada za obsługę błędów komunikacji i wyznaczanie
III
network layer
optymalnej (ze względu na liczbę połączeń) drogi przesyłania pakietu
przez sieć (routing).
zapewnia niezawodne łącze pomiędzy sąsiednimi węzłami; określa sposób
warstwa łącza danych
kontroli błędów transmisji (CRC); należą do niej sterowniki urządzeń sie-
II
data link layer
ciowych.
zapewnia transmisję danych pomiędzy węzłami sieci; opisuje m.in.: spo-
warstwa fizyczna
I
sób fizycznego łączenia sieci oraz inne kwestie związane z transmisją bi-
physical layer
tów; określa topologię sieci; należą do niej np.: karty sieciowe i modemy.
Wysyłając dane do warstwy niższej każda warstwa umieszcza w nagłówku ramki dodat-
kowe informacje dla swojego odpowiednika w innym komputerze. W ten sposób kolejne war-
stwy nie ingerują w dane otrzymane z warstwy poprzedniej.
Ramka podróżująca przez sieć może wyglądać następująco:
nagłówek nagłówek nagłówek nagłówek nagłówek nagłówek
przesyłane dane
warstwy II warstwy III warstwy IV warstwy V warstwy VI warstwy VII
Sieci komputerowe
Przy odbieraniu danych z warstwy niższej, wyższa interpretuje dane umieszczone w na-
główku otrzymanej ramki przez odpowiadającą sobie warstwę stosu nadawcy. Przesyłając dane
do kolejnej, wyższej warstwy, usuwa z nagłówka swoje dane i przekazuje ramkę dalej. W mode-
lu warstwowym ISO pierwszy jest nagłówek protokołu warstwy łącza danych.
4. Intersieci
W miarę rozwoju sieci komputerowych pojawiały się problemy komunikacyjne. Jednym
z poważniejszych był fakt, że komputer przyłączony do sieci może komunikować się tylko z
komputerami przyłączonymi do tej samej sieci. Próba łączenia się z inną siecią była możliwa, ale
kłopotliwa. Problem rozwiązano przez wprowadzenie tzw. mechanizmu jednolitych usług.
System komunikacyjny zapewniający jednolite usługi umożliwia komunikację między
dowolną parą komputerów, zapewniając łączność między sieciami używającymi różnych technik
i korzystających z różnych mechanizmów adresowania i różnych formatów ramek.
Systemy sieciowe tworzone w oparciu o mechanizm jednolitych usług noszą nazwę in-
tersieci. Rozmiar intersieci nie jest w żaden sposób ograniczony, mogą one łączyć zarówno kilka,
jak i wiele tysięcy sieci.
Do łączenia sieci heterogenicznych służy ruter (router), specjalny komputer wyposażony
we własny procesor i pa-
mięć oraz osobny interfejs intersieć
sieciowy dla każdej z sieci,
sieć fizyczna III
do których jest podłączo-
sieć fizyczna IV
ny. Budowa intersieci
sieć fizyczna II
umożliwia swobodny wy-
bór liczby i rodzajów sieci,
sieć fizyczna I
sieć fizyczna V
liczby ruterów używanych
do łączenia sieci i topolo-
gii połączeń międzysie-
ciowych 7.
Bardzo istotnym czynnikiem obsługi komunikacji w intersieci jest wprowadzenie sposo-
bu adresowania jednolitego dla wszystkich węzłów intersieci. Jest to możliwe dzięki zastosowa-
niu abstrakcyjnego schematu adresowania, który każdej maszynie przyznaje unikalny adres, tak
że komputery mogą porozumiewać się nie używając swoich adresów fizycznych.
7
Douglas E. Comer Sieci komputerowe i intersieci, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.
Sieci komputerowe
Najsłynniejszą intersiecią jest Internet8, a najbardziej powszechnym protokołem sie-
ciowym - TCP/IP (zestaw protokołów intersieci TCP/IP, Tranmission Control Protocol/Internet
Protocol), stworzony w ARPA.
ISO / OSI TCP / IP
Protokół TCP/IP można opi-
sać używając modelu ISO/OSI. Funk-
warstwa aplikacji
cje i właściwości protokołu TCP/IP
warstwa prezentacji warstwa aplikacji
lepiej jednak przedstawić używając
warstwa sesji
modelu czterowarstwowego. Model
warstwa transportowa warstwa transportowa
ten nie został opracowany w wyniku
warstwa sieciowa warstwa Internetu
prac komitetów standaryzacji, ale
warstwa łącza danych
dzięki badaniom, które doprowadziły warstwa dostępu do sieci
warstwa fizyczna
do powstania nowego zestawu proto-
kołów. Można rozpatrywać model
TCP/IP w modelu ISO/OSI, ale wymaga to połączenia bądz rozdzielenia niektórych warstw mo-
delu ISO/OSI.
Model TCP/IP
określa w jaki sposób program użytkowy korzysta z sieci;
warstwa aplikacji
zapewnia dwie metody komunikacji realizowane przez war-
IV
application layer
stwę transportu: ciąg pojedynczych komunikatów albo cią-
gły strumień bajtów.
umożliwia komunikację między aplikacjami; dba o kolej-
warstwa transportu
ność pakietów otrzymywanych przez odbiorcę; sprawdza
III
transport layer
poprawność przesyłanych pakietów i zapewnia ich retrans-
misję w przypadku uszkodzenia lub zaginięcia.
zapewnia obsługę komunikacji; odpowiada za przekształca-
nie pakietu w datagram IP, wypełnienie nagłówka; sprawdza
warstwa sieciowa
II
dokąd przesłać datagram i wybiera trasę przesyłania pakietu
network layer
(routing); odpowiada za obsługę przychodzących datagra-
mów; zapewnia obsługę błędów transmisji (protokół ICMP).
definiuje sprzęt i jego sterowniki; odpowiada za przyjmo-
warstwa interfejsu sieciowego
I
wanie datagramów IP i przesyłanie ich przez sieć w postaci
link layer
ramek.
Zestaw protokołów TCP/IP wprowadza pojęcie węzła (host). Węzeł jest to dowolny
komputer przyłączony do sieci i wykonujący jakiekolwiek programy użytkowe.
Najważniejszą częścią warstwy sieciowej jest protokół intersieci IP (Internet Protocol).
Definiuje format pakietu, schemat adresowania, odpowiada za przesyłanie pakietów do odle-
8
Internet pisany dużą literą oznacza światową intersieć o tej nazwie, podczas gdy internet pisany małą literą jest synonimem intersie-
ci.
Sieci komputerowe
głych węzłów oraz dokonuje fragmentacji i składania pakietów. Jest protokołem bezpołączenio-
wym (nie ustanawia połączenia i nie sprawdza gotowości komputera do odbioru danych) i nie-
pewnym (nie zapewnia detekcji i korekcji błędów transmisji). Kontrola poprawności połączenia i
błędów transmisji należy do protokołów innych warstw.
Protokół IP przypisuje każdemu węzłowi unikalny 32-bitowy numer zwany adresem ho-
sta w protokole intersieci (adres internetowy, adres IP). Adres internetowy składa się z czterech
liczb dziesiętnych z zakresu 0-255 przedzielonych kropkami. Można go zapisać jako jeden ciąg
32 bitów lub też cztery ciągi po osiem bitów każdy, przedzielone kropkami9.
W skład każdego adresu wchodzi m.in.:
1. prefiks adresu, identyfikujący sieć, do której jest podłączony dany komputer (każdej sieci
jest przyporządkowany jej numer);
2. sufiks adresu, identyfikujący komputer w sieci, wskazanej w prefiksie (każdy komputer w
danej sieci ma przypisany sufiks adresu).
Hierarchia adresów IP ma dwie ważne cechy:
1. każdy komputer ma przyznany jednoznaczny adres,
2. przypisania adresów sieci muszą być koordynowane globalnie, zaś sufiksy są przyznawane
lokalnie bez uzgadniania z każdą z sieci.
Ze względu na różne techniki sieciowe, które mogą być reprezentowane w intersieci,
przestrzeń adresowa została podzielona na klasy adresów IP. Ponieważ sieci tworzące intersieć
mogą mieć różne rozmiary, stad też każda klasa adresów IP ma inny rozmiar prefiksu i sufiksu.
bity 0 1 2 3 8 16 24 31
Klasa A 1 prefiks sufiks
Klasa B 1 0 prefiks sufiks
Klasa C 1 1 0 prefiks sufiks
Klasa D 1 1 1 0 adres rozsyłania grupowego
Klasa E 1 1 1 1 zarezerwowane na przyszłość
Pierwsze cztery bity adresu określają klasę adresu i sposób podziału reszty adresu na
prefiks i sufiks. Klasy A, B, C są to klasy pierwotne, przeznaczone na adresy komputerów.
Na podstawie liczby n będącej wartością pierwszego bajtu (8 bitów) adresu IP możemy zdefiniować do jakiej klasy dany
adres należy, np.: klasa A: 0 d" n d" 127 klasa B: 128 d" n d" 191 klasa C: 192 d" n d" 223
klasa D: 224 d" n d" 239 klasa E: 240 d" n d" 255
Obecnie coraz częściej używa się tzw. bezklasowego rutingu międzydomenowego
(CIDR, Classless Inter-Domain Routing). Pierwsze k bitów adresu reprezentuje sieć, a pozostałe
(32-k) bitów węzły w obrębie tej sieci. Do wyodrębnienia z adresu IP tej jego części, która iden-
tyfikuje sieć i tej, która identyfikuje komputer, służy 32-bitowa maska sieci. Adres sieci tworzy
9
Adres zapisany jako 32-bitowa liczba binarna może wyglądać następująco: 10000001 00110100 00000110 00100101, zaś ten sam
adres zapisany w notacji dziesiętnej z kropkami wygląda następująco: 129.52.6.37.
Sieci komputerowe
się przez przepisanie tych bitów adresu IP, dla których odpowiednie bity maski mają wartość
jeden. Pozostałe bity uzupełnia się zerami. Adres rozgłaszania dopełniamy jedynkami.
adres IP 212.51.219.50 11010100 00110011 11011011 00110010
maska sieci 255.255.255.192 11111111 11111111 11111111 11000000
adres sieci 212.51.219.0 11010100 00110011 11011011 00111111
adres rozgłaszania 212.51.219.63 11010100 00110011 11011011 00111111
Adres 212.51.219.50 z maską 255.255.255.192 można zapisać jako 212.51.219.50 / 26,
gdzie 26 oznacza liczbę jedynek w masce.
Nie wszystkie adresy10 można przydzielać. Do adresów zastrzeżonych należą:
Prefiks Sufiks Typ adresu Funkcja
zera zera adres komputera bieżącego używany przy rozruchu
sieciowy zera adres sieci identyfikator sieci
sieciowy jedynki adres rozgłaszania ukierunkowanego rozgłaszanie w określonej sieci
jedynki jedynki adres rozgłaszania ograniczonego rozgłaszanie w sieci lokalnej
adres pętli zwrotnej
127 jakikolwiek testowanie
loop-back address
Adresy protokołowe są pojęciem abstrakcyjnym. Zanim sprzęt sieciowy będzie mógł
zlokalizować komputer na podstawie jego adresu IP, adres ten musi zostać przetłumaczony na
adres fizyczny komputera. Proces ten nosi nazwę odwzorowywania adresu (address resolution) i
jest procesem lokalnym dla danej sieci. Węzeł (lub ruter) może odwzorować adres tylko wtedy,
gdy pakiet jest przesyłany w tej samej sieci fizycznej.
Algorytmy odwzorowywania adresów można podzielić następująco:
1. algorytmy tablicowe wiązania są przechowywane w tablicy, którą oprogramowanie może
w każdej chwili przeszukać
2. algorytmy obliczeniowe adres protokołowy jest przekształcany w fizyczny za pomocą cią-
gu operacji arytmetycznych i logicznych;
3. algorytmy sieciowe odwzorowanie dokonywane drogą komunikatów przesyłanych między
komputerami.
Protokół TCP/IP zawiera protokół odwzorowywania adresów (ARP, Address Resolution
Protocol). Standard ARP określa sposób przesyłania komunikatów w sieci, m.in.: określa, że
10
niektóre adresy, tzw. nierutowalne, zostały zarezerwowane dla intranetu (lokalna sieć IP, pakiety nie przechodzą przez rutery).
Sieci komputerowe
pakiet z pytaniem ARP jest umieszczany w ramce sieci fizycznej (kapsułkowanie, encapsulation)
i wysyłany na adres rozgłaszania w danej sieci. Format komunikatów ARP jest skonstruowany
tak, aby z jego pomocą dało się odwzorować dowolne adresy protokołowe na dowolne adresy
fizyczne (zwykle odwzorowuje 32-bitowe adresy IP na 48-bitowe adresy sieci Ethernet). W
przypadku kapsułkowania komunikatu ARP, pole typu ramki zawiera wartość wskazująca na
przesyłanie komunikatu ARP (w przypadku sieci Ethernet jest to wartość 0x806).
Oprogramowanie protokołów intesieciowych określa format pakietów niezależny od
sprzętu sieciowego. Definiuje uniwersalny pakiet wirtualny, który jest przesyłany bez dokony-
wania żadnych zmian w jego formacie. Pakiety są tworzone i obsługiwane wyłącznie przez
oprogramowanie. W odniesieniu do pakietów internetowych protokoły TCP/IP używają nazwy
datagramy IP.
Format datagramu IP jest zgodny z formatem ramki sprzętowej. Rozmiar datagramu IP,
rozpoczynającego się od nagłówka, po którym następuje pole danych, jest zmienny i określany
przez program użytkowy. W obecnej wersji Internetu (IPv4) datagram może zawierać do 64 K
oktetów (wraz z nagłówkiem).
Adresy zródłowy i docelowy, umieszczane w nagłówku datagramu IP, są adresami IP.
Datagramy przechodzą przez intersieć od pierwszego nadawcy do końcowego odbiorcy. Każdy
ruter wzdłuż drogi datagramu pobiera z jego nagłówka adres odbiorcy i na jego podstawie okre-
śla następne miejsce, do którego ma go przesłać. Rutery trzymają informacje dotyczące wyboru
etapów drogi datagramów w tzw. tablicy tras. Tablica tras jest inicjowana przy starcie rutera i
uaktualniana w razie zmiany topologii lub awarii sieci. Każdy odbiorca w tablicy tras odpowiada
sieci, zatem liczba pozycji w tej tablicy jest proporcjonalna do liczby sieci w intesieci. Wyzna-
czanie trasy datagramu nazywane jest często rutowaniem lub inaczej trasowaniem.
Proces enkapsulacji danych dane
nagłówek dane
warstwa aplikacji
nagłówek nagłówek dane
warstwa transportowa
nagłówek nagłówek nagłówek dane
warstwa Internetu
warstwa dostępu do sieci nagłówek nagłówek nagłówek nagłówek dane
Każdy datagram przed wysłaniem umieszcza się w całości (kapsułkuje) w polu danych
ramki sieciowej. Adres docelowy w nagłówku takiej ramki jest adresem następnego etapu, pod
który należy przesłać datagram. Każdy datagram jest kapsułkowany osobno. Nadawca umieszcza
datagram w ramce sieci fizyczne, odbiorca odczytuje datagram i porzuca ramkę (wraz z nagłów-
kiem), w której datagram był przysłany. Jeżeli datagram jest przekazywany do innej sieci fizycz-
nej, to jest dla siego tworzona nowa ramka, zgodna z formatem tej sieci. W różnych rodzajach
Sieci komputerowe
sieci jest określona różna ilość danych, jaką można przesłać w ramce. Jest to maksymalna wiel-
kość jednostki transmisyjnej (MTU, Maximum Transmission Unit). Przy przesyłaniu datagra-
mów większych niż MTU, rutery korzystają z możliwości fragmentacji pakietu. Datagram jest
dzielony na mniejsze części, z których każda jest osobno przesyłana. Pole flagi w nagłówku da-
tagramu wskazuje czy pakiet uległ fragmentacji czy też jest przesyłany w całości. Każdy z prze-
syłanych fragmentów jest poprzedzony kopią pierwotnego nagłówka, z wprowadzonymi zmia-
nami określającymi np.: czy dany fragment jest ostatnim.
Proces odtwarzania datagramu z fragmentów nosi nazwę składania. Składanie datagra-
mów odbywa się u końcowego odbiorcy. Po otrzymaniu pierwszego fragmentu odbiorca uru-
chamia zegar. Jeśli po upłynięciu czasu określonego w protokole IP datagramu nie uda się złożyć
wówczas odbiorca porzuca wszystkie otrzymane fragmenty i uznaje, że nie otrzymał przesyłki.
Protokół TCP jest w zestawie TCP/IP głównym protokołem transportowym. Zapewnia
niezawodność przesyłania i odbierania danych. Protokół TCP charakteryzuje się następującymi
cechami11:
1. zorientowanie na połączenie program użytkowy prosi o połączenie do odbiorcy i do prze-
syłania danych używa tego właśnie połączenia;
2. komunikacja point-to-point każde połączenie TCP ma dokładnie dwa końce;
3. pełna niezawodność przesyłane dane będą dostarczone w kolejności i bez żadnych braków;
4. komunikacja dwukierunkowa dane mogą przepływać w każdym kierunku, aplikacja może
wysyłać dane w dowolnym momencie;
5. interfejs strumieniowy aplikacje wysyłają połączeniem ciągłą sekwencję oktetów;
6. niezawodne tworzenie połączenia dwa programy ustanawiające połączenie muszą się na to
połączenie zgodzić; pakiety używane w poprzednich połączeniach w żaden sposób nie za-
kłócają nowego;
7. łagodne kończenie połączenia aplikacja otwiera połączenie, wysyła dane w dowolnym
momencie prosi o zamknięcie połączenia; dane zostaną prawidłowo dostarczone przed za-
mknięciem połączenia.
Jednym z najważniejszych mechanizmów, dzięki którym protokół TCP zapewnia nieza-
wodność przesyłania i odbierania danych jest retransmisja. Protokół TCP odbierając dane wysyła
do ich nadawcy potwierdzenia, jednocześnie włączając zegar. Jeżeli ustalony czas zostanie prze-
kroczony przed przybyciem potwierdzenia, wówczas nadawca rozpoczyna retransmisję danych.
Opóznienie potrzebne do tego, aby dane dotarły do odbiorcy, zaś potwierdzenie ich odebrania do
nadawcy, zależy to od natężenia ruchu w intersieci oraz odległości od odbiorcy. Retransmisja
datagramów w protokole TCP jest tzw. retransmisją z adaptacją, protokół TCP dla każdego połą-
czenia śledzi aktualne opóznienie i zmienia czas retransmisji tak, aby jak najlepiej dostosować
się do aktualnej sytuacji w sieci.
11
Douglas E. Comer Sieci komputerowe i intersieci, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.
Sieci komputerowe
Do kontroli przepływu danych protokół TCP wykorzystuje tzw. mechanizm propozycji
okien. W chwili ustanowienia połączenia odbiorca rezerwuje miejsce (bufor) do przechowywa-
nia przychodzących danych, i przesyła nadawcy informację o rozmiarze tego bufora. Ilość miej-
sca dostępnego w buforze nosi nazwę okna, zaś zawiadomienie o tej ilości miejsca propozycji
okna. Propozycja okna jest wysyłana do nadawcy wraz z każdym potwierdzeniem odbioru da-
nych. Oferta zerowego okna (odbiorca nie ma miejsca w buforze na nowe dane) oznacza, ze
nadawca musi wstrzymać transmisję do chwili otrzymania nowej propozycji okna (niezerowe-
go).
Niezawodne ustanawianie i kończenie połączeń jest
węzeł I węzeł II
w protokole TCP zapewnione przez trójetapową wymianę
wysłanie FIN+SYN
komunikatów (3-way handshake). Komunikaty służące do
odebranie FIN+SYN
tworzenia połączenia noszą nazwę segmentów SYN (synchroni-
wysłanie FIN+SYN
zacyjnych), zaś komunikaty służące do zamknięcia połączenia
odebranie FIN+SYN
segmentów FIN (zamykających). Przebieg trójetapowej wymia-
wysłanie SYN odebranie SYN
ny komunikatów z potwierdzeniem, służącej do zamknięcia
połączenia ilustruje rysunek.
Trójetapowa wymiana komunikatów gwarantuje, że TCP nie otworzy ani nie zamknie połączenia bez zgody obu jego
końców. Podczas wymiany komunikatów każdy koniec połączenia do pakietu przenoszącego SYN dołącza propozycję okna.
W protokole TCP komunikaty przenoszące dane, potwierdzenia oraz informacje związa-
ne z trójetapową wymianą komunikatów przy ustanawianiu i zamykaniu połączenia mają jeden
format.
W protokole TCP wszystkie komunikaty są określane mianem segmentów.
W skład zestawu protokołów TCP/IP wchodzi również protokół komunikatów sterują-
cych intersieci (ICMP, Internet Control Message Protocol), służący do przekazywania informa-
cji o błędach w dostarczaniu datagramów przy użyciu protokołu IP. Protokół ICMP m.in.: steruje
przepływem danych (np. wysyła komunikat z prośbą o czasowe wstrzymanie transmisji w sytu-
acji nadmiernego tłoku w komputerze docelowym), sprawdza osiągalność miejsca przeznaczenia
(np. sprawdza czy istnieje komputer docelowy), przekierowuje ścieżki, usuwa datagramy o prze-
kroczonym czasie życia. Protokół ICMP obsługuje on większość sytuacji awaryjnych w sieci i
informuje o nich odpowiednie węzły.
Programy sieciowe współpracują ze sobą w pewien określony sposób. Jeden program,
zwany serwerem, czeka na żądania komunikacji, które są wysyłane przez inne programy, zwane
klientami. Mechanizm tej współpracy otrzymał nazwę modelu klient-serwer. Serwer jest to pro-
gram, który oczekuje na połączenia, sam ich nie inicjując (nazwa ta jest potocznie stosowana
również do komputera, który obsługuje serwery, choć poprawnie należałoby mówić komputer
klasy serwera), zaś klient jest to program, który inicjuje połączenia w sposób aktywny, wysyłając
żądania do serwera. Informacje między klientem i serwerem mogą płynąć w dowolną stronę.
Typowym przykładem działania mechanizmu klient-serwer jest oprogramowanie prze-
kształcające nazwy komputerów w ich adresy IP. Każdy komputer w sieci ma swój adres IP, ale
ma również przypisaną pewną nazwę symboliczną. Program, który tłumaczy nazwę staje się
Sieci komputerowe
automatycznie klientem systemu nazw. Klient wysyła do serwera pytanie, serwer zaś albo znaj-
duje odpowiedni adres i wysyła odpowiedz, albo zadaje pytanie następnemu serwerowi stając się
jego klientem etc.
Oprogramowanie, które zapewnia automatyczne przekształcanie nazw komputerów na
adresy IP, nosi nazwę systemu nazw dziedzin (DNS, Domain Name System) i jest jedną z naj-
ważniejszych usług warstwy aplikacji.
Nazwa komputera jest zestawem znaków alfanumerycznych, zgrupowanych w segmenty
oddzielone od siebie kropkami. Nazwy te mają strukturę hierarchiczną, zaś segmenty tej nazwy
odpowiadają poziomom w hierarchii. Najbardziej znacząca część nazwy znajduje się po jej pra-
wej stronie. Lewy skrajny segment nazwy jest nazwą konkretnego komputera.
System nazw dziedzin określa wartości dla segmentu najbardziej znaczącego w nazwie.
Segment ten jest nazywany głów-
nym poziomem DNS. Dziedziny
organizacyjne geograficzne
(domeny) głównego poziomu
com komercyjne pl Polska
dzielą się na organizacyjne, uza-
edu edukacyjne se Szwecja
leżnione od rodzaju prowadzonej
gov rządowe uk Wielka Brytania
działalności, i geograficzne, przy-
mil wojskowe eu Europa
znawane poszczególnym krajom.
Jednej nazwie węzła może być przypisanych kilka adresów IP, a jeden adres IP może
mieć kilka różnych węzłów. Każda nazwa węzła zawiera nazwę maszyny i nazwę domeny, np.
alpha.mini.pw.edu.pl, oznacza maszynę o nazwie alpha i domenę mini.pw.edu.pl (domena Wy-
działu Matematyki i Nauk Informacyjnych, która należy do domeny Politechniki Warszawskiej,
a ta do domeny związanej z instytucjami edukacyjnymi w Polsce).
Działanie DNS w przypadku przytoczonej wyżej dziedziny wygląda następująco: podajemy nazwę alpha.mini.pw.edu.pl;
najpierw komputer pyta o adres serwera dziedziny głównej pl, pózniej wysyła pytanie do znalezionego serwera o adres serwera
dziedziny edu itd.
Innym przykładem zastosowania mechanizmu klient - serwer jest poczta elektroniczna.
Osoba, odbierająca pocztę elektroniczną musi posiadać elektroniczną skrzynkę pocztową, wraz z
miejscem do przechowywania danych. Każda taka skrzynka pocztowa posiada jednoznaczny
adres poczty elektronicznej (e-mail address). Pełny adres pocztowy postaci odbiorca@maszyna,
składa się z dwóch członów oddzielonych znakiem @, gdzie odbiorca jest nazwą skrzynki pocz-
towej, zaś maszyna identyfikuje komputer, na którym znajduje się wskazana skrzynka. Użyt-
kownik przy pisaniu i przy czytaniu listów korzysta z klienta pocztowego, zaś listy są przekazy-
wane przez system pocztowy przy użyciu programu transportowego (mail transfer agent), peł-
niącego funkcje serwera.. Program transportowy używa protokołu SMTP (Simple Mail Transfer
Protocol), który umożliwia identyfikację nadawcy, wskazanie adresata i przesłanie listu. Często
oprogramowanie pocztowe instaluje się na komputerach przeznaczonych wyłącznie do tego celu.
Komputery takie noszą nazwę bram pocztowych lub przekazników poczty (e-mail relay). Proto-
dziedziny
Sieci komputerowe
kół TCP/IP oferuje możliwość zdalnego dostępu do skrzynek pocztowych za pomocą protokołu
POP (Post Office Protocol).
Do bardzo popularnych protokołów sieciowych należą m.in.: Telnet, protokoły FTP,
HTTP, NTP, SNMP. Telnet (Network Terminal Protocol) jest protokołem terminala sieciowego,
służącym do uzyskania dostępu do sieci (login) i zdalnej pracy na odległym komputerze z wyko-
rzystaniem konsoli tekstowej. Protokół przesyłania plików (FTP, File Transfer Protocol) umoż-
liwia przesyłanie plików w sieci, pozwala na wyświetlenie zawartości katalogów oraz zapewnia
autoryzację. Oprócz protokołu FTP protokoły TCP/IP udostępniają również protokół TFTP
(Trivial File Transfer Protocol), który jednak zapewnia wyłącznie możliwość przesyłania pli-
ków. Do korzystania ze stron WWW (World Wide Web), niezbędny jest protokół przesyłania
dokumentów hipertekstowych (HTTP, Hyper Text Transfer Protocol). Dzięki protokołowi HTTP
przeglądarka może żądać od serwera przesłania wskazanego dokumentu, zaś serwer w odpowie-
dzi na żądanie przesyła odpowiedni dokument.
Każda sieć ma administratora, który nią zarządza. Jest on odpowiedzialny m.in.: za kon-
trolowanie sprzętu oraz oprogramowania stanowiącego intersieć; wykrywanie i naprawianie
błędów, które utrudniają lub uniemożliwiają komunikację; zabezpieczenie sieci i eliminowanie
potencjalnych zagrożeń dla bezpieczeństwa sieci. Standardowym protokołem używanym do za-
rządzania siecią jest SNMP (Simple Network Management Protocol). W przypadku oprogramo-
wania zarządzającego siecią część oprogramowania odpowiadająca klientowi nosi nazwę zarząd-
cy, zaś serwerowi agenta. Protokół SNMP definiuje format i znaczenie komunikatów wymie-
nianych między zarządcą i agentem.
Firewalle:
1. filtrujące "przeglądają" zawartość przesyłanych pakietów w celu zablokowania tych, które
zawierają treści zastrzeżone
2. połączeniowe (proxy) pośredniczą w łączności "podszywając" się pod komunikujących się
użytkowników; pośredniczą w wymianie informacji "w imieniu" użytkownika
Wyszukiwarka
Podobne podstrony:
Sieci komputerowe podstawysieci komputerowe podstawy,sieci komputerowe,Podstawy routingu i działanie podsieciwyklad3 Wykłady z przedmiotu Sieci komputerowe – podstawySieci komputerowe – podstawySieci Komputerowe PodstawyPODSTAWY SIECI KOMPUTEROWYCH (2)Sieci komputerowe od podstaw003 podstawy sieci komputerowychSieci komputerowe wyklady dr Furtak4 Sieci komputerowe 04 11 05 2013 [tryb zgodności]Sieci komputerowe cw 1Sieci komputeroweABC sieci komputerowychwięcej podobnych podstron