Sieci komputerowe
•	Konspekt wykładu, część 1, 2, 3 (z ver. 2006)

© Michał Turek

Sieć komputerowa 
•	Sieć komputerowa jest zbiorem mechanizmów umożliwiających komunikowanie się komputerów bądź urządzeń komputerowych znajdujących się w różnych miejscach. Integralnym elementem owej komunikacji jest wzajemne udostępnianie sobie zasobów							Mark A. Sportack

Strumień komunikacyjny (I)
•	Komunikacja szerokopasmowa - polega na przesyłaniu przez jedno łącze fizyczne wielu kanałów logicznych, łączonych przez podział czasowy lub częstotliwościowy. Podział częstotliwościowy jest często stosowany w analogowych liniach telefonicznych; w łączach cyfrowych stosuje się jedynie podział czasowy.
•	Komunikacja wąskopasmowa - polega na przesyłaniu przez jedno łącze fizyczne tylko jednego sygnału, zajmującego cały kanał. Stosowana w telefonii analogowej, ale także w okablowaniu sieci Ethernet czy Token Ring, w których na jednym kablu przesyła się tylko jeden sygnał

Strumień komunikacyjny (II)
•	Komunikacja asynchroniczna - forma komunikacji między urządzeniami, w której dane cyfrowe są przesyłane znak po znaku (bajt po bajcie), kodowane w postaci ciągu bitów i oddzielane specjalnymi znacznikami początku i końca znaku. Nie jest przesyłana żadna informacja synchronizująca. W celu poprawnego odtwarzania znaków w odbiorniku zakłada się, że na niewielkim odcinku czasowym odpowiadającym jednemu znakowi nastąpi tak nieznaczne przesunięcie czasowe sygnałów zegara nadawczego i odbiorczego, że zawsze uda się odtworzyć znak.
•	Komunikacja synchroniczna - ma charakter ciągu bitów przesyłanych między urządzeniami. Ponieważ znaki przybywają w sposób ciągły i nie są oddzielone znakami początku i końca, to musi istnieć sposób ciągłego synchronizowania zegarów odbiorcy i nadawcy. W tym celu w przesyłanym sygnale umieszcza się informacje o zegarze oraz umieszcza w ciągu bitów wyróżnioną sekwencję bitową oznaczającą początek ciągu znaku lub ramki bitowej.

Medium transmisyjne, sieć
•	Medium transmisyjne -  nośnik umożliwiający rozchodzenie się informacji w postaci prądu elektrycznego, fali elektromagnetycznej, świetlnej, akustycznej, itd.
•	Sieć transmisyjna - system wielokierunkowej  komunikacji urządzeń poprzez medium transmisyjne z użyciem określonych protokołów komunikacyjnych

Tryby transmisji
•	Simplex – transmisja jest możliwa tylko w jedną stronę ( analogia: ulica jednokierunkowa)
•	Half-duplex – transmisja w obie strony ale w danym czasie tylko w jedną (analogia: ruch na remontowanym moście)
•	Duplex – równoczesna transmisja (ulica dwukierunkowa)

Kodowanie przesyłanej wartości
•	Klasyczne: stan wysoki: 1; stan niski: 0
•	Manchester – zmiana stanu w środku sygnału. Zmiana ze stanu L -> H oznacza 1; zmiana z H -> L oznacza 0. Kod posiada własność samosynchronizacji.
•	Manchester różnicowy – zawsze zmiana wartości w środku kodowanego bitu, przy czym za to, jaki bit kodujemy odpowiada zmiana (bądź jej brak) na początku kodowanego bitu. Jeżeli następuje zmiana sygnału, to oznacza, iż kodowanym bitem jest zero, natomiast brak zmiany oznacza jedynkę.

Szerokość pasma transmisji
•	Szerokość pasma (bandwidth) – wyraża maksymalną teoretyczną przepustowość sieci. Podstawowa jednostka bit/s
•	Bit – informacja jaka jest zawarta w wiadomości, że spośród dwóch jednakowo prawdopodobnych informacji zaszło jedno.
•	Bod (baud) – jeden sygnał elektryczny na sekundę

Przepustowość łącza
•	Przepustowość (throughput) wyraża aktualne możliwości sieci w zakresie przesyłania danych w sieci jest mniejsza lub równa teoretycznej
•	Jednostka: bit/s
•	Zależy od:
•	·	Wydajności sieci – zarówno komputerów końcowych, jak i elementów pośrednich
•	·	Obciążenia sieci – a więc od aktywności innych urządzeń
•	·	Typu danych – (przede wszystkim narzut na pola kontrolne)

Transmisja równoległa
 i szeregowa
•	Serial i pararell
•	Parametry transmisji szeregowej i równoległej
•	Najprostszy przykład urządzeń (PC): RS232 i LPT

Organizacje normujące rozwój sieci (I)

•	ANSI (The American National Standards Institute) – prywatna organizacja niekomercyjna. Jej misją jest ułatwianie rozwoju, koordynacja oraz publikowanie nieobligatoryjnych standardów. Uczestniczy w pracach organizacji ustanawiających standardy globalne, tj. ISO, IEC...

•	IEEE (The Institute of Electrical and Electronic Engineers) – instytut odpowiedzialny za definiowanie i publikowanie standardów telekomunikacyjnych oraz przesyłania danych. IEEE zdefiniowało standardy sieci LAN oraz MAN w obrębie zbioru norm technicznych określanych mianem serii standardów 802
•	ISO (International Organization for Standarization) – organizacja utworzona w 1946 roku, w Szwajcarii. Zakres jej działania obejmuje praktycznie wszystkie dziedziny wiedzy ludzkiej poza elektryką i elektroniką. Jednym z najważniejszych standardów ustanowionych przez ISO jest Model Referencyjny Połączonych Systemów Otwartych (Open Systems Interconnection Reference Model)
•	IEC (International Electrotechnical Commission) – komisja założona w 1909 roku. Jej głównym zadaniem jest ustanawianie międzynarodowych standardów dotyczących wszelkich zagadnień elektrycznych i elektronicznych
•	FCC - Federal Communications Commission - rządowa organizacja standaryzująca głównie urządzenia techniczne
•	IAB (The Internet Architecture Board) – komisja znana uprzednio jako IAB (Internet Activities Board), zarządza techniczną stroną rozwoju sieci Internet. Składa się z dwóch komisji roboczych:
•	Grupa Robocza ds. Technicznych Internetu IETF (Internet Engineering Task Force). Bada nowe technologie, które mogą okazać się wartościowe lub mieć wpływ na rozwój Internetu.
•	Grupa Robocza ds. Naukowych Internetu IRTF (Internet Research Task Force). Jest odbiorcą badań IETF odpowiada za ustanawianie standardów technicznych dla Internetu, jak również za określanie nowych standardów dla technologii internetowych.

Model OSI
•	OSI - (Open Systems Interconnection)
•	Opisuje sposób przepływu informacji pomiędzy aplikacjami software’owymi stacji sieciowych.
•	Opracowany został przez ISO (International Organization for Standardization) w 1984 roku.
•	Składa się z 7 niezależnych warstw.

Warstwy modelu OSI (I)
•	WARSTWA 7	APLIKACJI	
•	WARSTWA 6	PREZENTACJI	
•	WARSTWA 5	SESJI	

•	WARSTWA 4	TRANSPORTOWA
•	WARSTWA 3	SIECIOWA	
•	WARSTWA 2	ŁĄCZA DANYCH
•	WARSTWA 1	FIZYCZNA	

Warstwa fizyczna OSI 
•	Numer warstwy: 1
•	Definiuje elektryczne właściwości łącza (poziomy sygnału, okablowanie, właściwości mechaniczne elementów itp.). W tej warstwie zdefiniowano właściwości fizyczne łącz, na których zbudowano sieci Ethernet, Token Ring czy FDDI. 

Warstwa
 łącza danych OSI 
•	Numer warstwy: 2
•	Określa sposoby kontroli elementów fizycznych łącza sieciowego, wykrywania i korekcji błędów, rozstrzygania o kolejności dostępu do łącza itp. W warstwie łącza danych działają sterowniki kart sieciowych.
•	Pojęciem z warstwy łącza danych jest topologia sieci i ramka.
•	Protokołami tej warstwy są np.: Ethernet, Token Ring itp.

Warstwa sieciowa OSI 
•	Numer warstwy: 3
•	Określa i utrzymuje drogi komunikacji między różnymi sieciami. Korzystając z adresu sieciowego umieszczonego w pakiecie, może skierować pakiet na właściwą drogę w sieci lokalnej lub rozległej. W tej warstwie działają protokoły bezpołączeniowe (IP z TCP/IP, X.25, Novell IPX)
•	Trasowanie pakietów poprzez routery

Warstwa
 transportowa OSI 
•	Numer warstwy: 4
•	Realizuje podstawowe funkcje kontrolne w sieci: kontrolę błędów, rozpoznaje kolejność pakietów, żąda przesłania brakujących pakietów i usuwa duplikaty pakietów, dopisuje do pakietu informacje pozwalające odbiorcy na wykonanie tych samych czynności kontrolnych. 
•	Z warstwie transportowej ustala się logiczne połączenie typu nadawca/odbiorca. 
•	Typowe transportowe protokoły połączeniowe: TCP z TCP/IP, Novell SPX, Microsoft NetBIOS/NetBEUI.

Warstwa
 sesji OSI 
•	Numer warstwy: 5
•	Służy do określania parametrów sesji połączeniowej między nadawcą a odbiorcą. 
•	Obsługa przypadków utraty połączenia
•	Implementowana jest przez system operacyjny
•	Odpowiada m.in. za synchronizację danych między komputerami 
•	Funkcje ochrony prowadzące do określenia czy stacje mają uprawnienia do komunikacji przez sieć

Warstwa prezentacji OSI 
•	Numer warstwy: 6
•	Implementowana przez system operacyjny. 
•	Zajmuje się przykładowo konwersją pomiędzy różnymi standardami kodowania znaków, różnymi sposobami reprezentacji liczb.

Warstwa aplikacji OSI
•	Numer warstwy: 7
•	Definiuje aplikacje korzystające z pozostałych warstw, np. W celu przesyłania plików korzystania z poczty elektronicznej czy emulacji terminala
•	Usytuowana najbliżej użytkownika

Zalety modelu warstwowego 
•	umożliwia niezależny rozwój warstw
•	zmniejsza złożoność systemu
•	standaryzuje interfejs
•	zapewnia współpracę pomiędzy urządzeniami pochodzącymi od różnych producentów 
•	przyspiesza rozwój

Pakiet
•	Pakiet to najmniejsza jednostka informacji przesyłana za pośrednictwem sieci przechodząc od aplikacji przez kolejne warstwy modelu sieciowego OSI. Powiększa się o dodatkowe informacje, które służą między innymi do określenia jego miejsca przeznaczenia, pozwalają zidentyfikować odbiorcę, nadać mu priorytet itp. 
•	Nagłówek (header) - przekaz na początku pakietu danych który przenosi specjalne informacje używane przez sieć do zidentyfikowania stacji docelowej. Jest podobny znaczeniowo do trailera, który kończy pakiet. 

Topologia sieci
•	Struktura rozplanowania i połączenia interfejsów sieciowych
i urządzeń pośredniczących w transmisji danych
•	Popularne topologie sieci:
•	Magistrala
•	Gwiazda
•	Hierarchiczna - gwiazda (drzewo)
•	Pierścień
•	Podwójny pierścień

Topologia magistrali (I)
•	Wszystkie stacje są w identyczny sposób podłączone do medium transmisyjnego i są równoprawne
•	Istnieje standardowy sposób dołączenia stacji do medium
•	Każdy słyszy wszystko (każdego)
•	Zjawiska w medium mają charakter falowy
•	Tanie medium 
•	Standardowe złącza, sterowniki i medium
•	Identyczne sterowniki w stacjach roboczych

Topologia magistrali (II)
•	Tania realizacja sprzętowa
•	Duża podatność złącz na mechaniczne i elektryczne uszkodzenia
•	Awaria jednego ze złącz dzieli sieć na dwie niezależne podsieci lub powoduje awarię sieci
•	Współdzielenie medium wymaga jednoczesnego nadawania i nasłuchu sygnału w medium - wykrywanie kolizji
•	Skomplikowane algorytmy komunikacji implementowane w sterownikach
•	Technologia nakłada ograniczenia na maksymalną rozpiętość jednego segmentu medium
Topologia gwiazdy(I)
•	Jeden punkt centralny, w którym mieści się większość sprzętu i oprogramowania
•	Uproszczone centralne zarządzanie
•	Każda stacja posiada dokładnie zdefiniowany i jedyny styk z centrum
•	Awaria pojedynczej stacji nie wpływa na pracę pozostałych stacji
•	Awaria centrum powoduje wyłączenie całej sieci
•	Drogi sprzęt centrum
•	Brak możliwości podziału sieci na kawałki o różnym stopniu zaawansowania technologicznego

Hierarchiczna topologia gwiazdy (topologia drzewa)
•	Możliwość realizacji sieci bez ograniczeń technologicznych, geometrycznych
•	Możliwość realizacji każdego poziomu hierarchii w innej technologii
•	Możliwość “statycznej” agregacji ruchu
•	Względnie niższa cena
•	Możliwość stosowania urządzeń o względnie niższej liczbie portów
•	Rozproszone zarządzanie
•	Różnorodność sprzętu powoduje konieczność utrzymywania dużego zapasu części

Topologia pierścienia
•	Wspólne medium
•	Potencjalna możliwość dojścia do każdej stacji z dwóch kierunków
•	Równoprawność stacji
•	Możliwość realizacji połączeń wieloprzewodowych
•	Istnienie zamkniętej pętli pozwala na realizację połączenia zapasowego w przypadku przerwania medium
•	Istnieje centralne następstwo stacji
•	Możliwość zorganizowania komunikacji między stacjami w trybie przekazywania tokenu
•	Skomplikowany mechanizm obsługi tokenu
•	Średnio skomplikowany sprzęt

Topologia podwójnego pierścienia (I)
•	Istnienie dwóch niezależnych dróg transmisji
•	Pracują oba pierścienie, lecz w przeciwnych kierunkach
•	Pracuje tylko jeden pierścień – drugi stanowi gotową rezerwę
•	Sieć odporna na uszkodzenia medium
•	Przejęcie funkcji przez pierścień rezerwowy
•	Realizacja bypass’u
•	Realizacja rekonfiguracji

Tryby dostępu do medium transmisji
•	Tryb deterministyczny - ustalony czas oczekiwania na dostęp i czas użytkowania do medium 
•	Tryb rywalizacyjny - brak ustalonych odgórnie czasów - przeważnie medium przydziela arbiter, np. poprzez przepytywanie (polling) stacji przed przydzieleniem im łącza do transmisji. Inna metoda - przesyłanie żetonu zezwalającego jego posiadaczowi na transmisję.

Typy sieci według rodzaju komutacji
•	Sieci z komutacja łączy (circuit switching)
•	POTS (Plan Old Telephone Service)
•	N-ISDN (Narrowband Integrated Services Digital Network) 
•	Sieci z komutacją pakietów (packet switching)
•	IP
•	X.25
•	Sieci z komutacją komórek (cell switching)
•	ATM (Asynchronous Transfer Mode)

Ewolucja technologii sieciowych
•	Arcnet - Attached Resource Computer Network – pierwszy standard sieci lokalnych, umożliwiał transport z prędkością 2,5 Mbps. Sieć budowana była w oparciu o magistralę przy wykorzystaniu kabla koncentrycznego.
•	Ethernet - standard sieci lokalnych opracowany w 1976 przez Xerox, Dec i Intel, określający techniczne zasady transmisji danych do 10 Mbps.
•	FastEthernet - standard umożliwiający transmisję z prędkością do 100 Mbps, 
•	GigaBitEthernet - kontynuacja FastEthernet - 1 Gbps,
•	TokenRing - prędkość 4-16 Mbps budowana w topologii pierścień. 
•	FDDI - transmisja do 100 Mbps, topologia podwójnego pierścienia, światłowód.
•	ATM - Asynchronous Transfer Mode, transmisja do 622 Mbps.

Fizyczne środki transmisji danych (wybrane)
•	10Base-2	10 Mb/s, kabel koncentryczny (RG-58),
•	10Base-5	10 Mb/s, kabel koncentryczny (RG-8),
•	10Base-T	10 Mb/s, skrętka (dwie pary, Cat-3 lub wyższa),
•	100Base-T	100 Mb/s, skrętka (cztery pary, Cat-5), nazywany także 100Base-T4 w celu zaznaczenia czterech par przewodów,
•	100Base-TX	100 Mb/s, skrętka (dwie pary, Cat-5 lub wyższa),
•	1000Base-T	1 Gb/s, skrętka (cztery pary, Cat-5)
•	100Base-FX	100Mb/s, kabel światłowodowy,
•	1000Base-FX	 1Gb/s, światłowód,
•	10GBase-SR, 10GBase-LR, 10GBase-ER 10Gb/s, światłowód.

Wybór rodzaju nośnika 
dla sieci
•	Na rodzaj wybranego nośnika powinny mieć wpływ:
•	Topologia sieci,
•	Wymagania użytkownika i co do szerokości pasma aplikacji,
•	Perspektywy rozwoju sieci,
•	Odległość pomiędzy systemami komputerowymi,
•	Wymagania tolerancji błędu czyli zdolności sieci do funkcjonowania pomimo poważnej awarii, jest to najczęściej funkcją topologii sieci,
•	Środowisko – kabel, transmisja radiowa, satelitarna,
•	Środowisko – rodzaj i moc zakłóceń generowanych przez otoczenie,
•	Cena

Rodzaje mediów komunikacyjnych
•	Przewodowe - kable:

•	Bezprzewodowe: 
•	Fale radiowe
•	Podczerwień rozproszona
•	Podczerwień  - wiązka laserowa

10Base-2 - charakterystyka techniczna (I)
•	Źródło transmisji - elektryczne,
•	Używany w topologii - 10 Mb Ethernet (głównie magistrala),
•	Maksymalna długość segmentu - 185 m,
•	Minimalna długość kabla pomiędzy węzłami - 0,5 m,
•	Maksymalna liczba stacji/węzłów - 30 na jeden segment kabla,
•	Maksymalna liczba segmentów - 5 powtórzonych segmentów, z których tylko 3 są wypełnione

10Base-2 - charakterystyka techniczna (II)
•	Maksymalna całkowita długość sieci - 925 m,
•	Ze względu na posiadaną ekranizację mało wrażliwy na zakłócenia i szumy,
•	Jest tańszy niż ekranowany kabel skręcany,
•	Posiada twardą osłonę, dzięki czemu jest bardziej odporny na uszkodzenia fizyczne, 
•	Ograniczenie szybkości do 10 Mb/s,

10Base-2 - charakterystyka techniczna (III)
•	Niewygodny sposób instalacji (duże złącza, terminatory i trójniki BNC, duża grubość i niewielka elastyczność kabla),
•	Słaba skalowalność (problemy z dołączeniem nowego komputera),
•	Niska odporność na poważne awarie (przerwanie kabla powoduje unieruchomienie dużej części sieci),
•	Trudności przy lokalizowaniu usterki.

10Base-5 - charakterystyka techniczna
•	Tzw “gruby koncentryk” lub kabel żółty (yellow)
•	Podłączenie stacji poprzez tzw. tap (nieintruzyjne), transceiver i kabel dystansowy (drop cable) w ściśle ustalonych miejscach kabla (dokładnie co 2,5 m.)
•	Obecnie medium wychodzące z użytkowania

10Base-T - charakterystyka techniczna (I)
•	Wymaga czterech przewodów (dwie skręcone pary w osłonie); może to być zarówno skrętka nieekranowana (UTP), jak i ekranowana (STP),
•	Może być zbudowane przy użyciu kabla Cat-3 lub Cat-5 (kabel kategorii 5 posiada osiem żył – cztery skręcone pary – i może dzięki temu uzyskać przyłączenie dwóch węzłów sieciowych za pomocą jednego kabla),
•	Maksymalna długość połączenia węzłów sieciowych wynosi 100 metrów,
•	Liczba węzłów sieciowych w jednym segmencie logicznym nie jest ograniczona,
•	Dla wszystkich połączeń używa się złącza RJ-45,

100Base-T
- charakterystyka techniczna
•	Wymaga ośmiu żył (cztery skręcone pary w jednej osłonie),
•	Musi być zbudowana przy użyciu kabla kategorii 5 lub lepszego,
•	Maksymalna długość połączenia węzłów sieciowych wynosi 100 metrów,
•	Liczba węzłów sieciowych w jednym segmencie logicznym nie jest ograniczona,
•	Dla wszystkich połączeń używa się złącza RJ-45.

1000Base-T
- charakterystyka techniczna
•	Tzw. Ethernet Gigabitowy (1000Mbps) - modyfikacja medium standardu z przejściem z medium światłowodowego na skrętkę Cat 5.
•	Ostatecznie zdefiniowany w 1999 roku przez normę 
IEEE 802.3ab
•	System jest ograniczony do jednego koncentratora. 
•	Segmenty mają długość mniejszą niż 316m. 
•	W praktyce nie spotyka się sieci half-duplex na Gigabit Ethernecie (tylko full-duplex)

“xBase-x” - porównanie przewodów
Kategorie przewodów “skrętek” miedzianych
•	kategoria 1 – tradycyjna nieekranowana skrętka telefoniczna przeznaczona do przesyłania głosu, nieprzystosowana do transmisji danych
•	kategoria 2 – nieekranowana skrętka, szybkość transmisji do 4 MHz. Kabel ma 2 pary skręcone
•	kategoria 3 – skrętka o szybkości transmisji do 10 MHz, stos. w sieciach Token Ring (4 Mb/s) oraz Ethernet 10Base-T (10 Mb/s). Kabel zawiera 4 pary skręconych przewodów
•	kategoria 4 – skrętka działająca z szybkością do 16 MHz. Kabel zbudowany jest z czterech par przewodów
•	kategoria 5 – skrętka z dopasowaniem rezystancyjnym pozwalająca na transmisję danych z szybkością 1000 MHz pod warunkiem poprawnej instalacji kabla (zgodnie z wymaganiami okablowania strukturalnego)

Typy przewodów z rdzeniami skręconymi
•	UTP - Skrętka nie opancerzona  (Unshielded Twisted Pair)
•	FTP - Skrętka foliowana,ekranowana (Foiled Twisted Pair)
•	STP – Skrętka opancerzona (Shielded Twisted Pair)
•	FFTP – każda para przewodów otoczona jest osobnym ekranem z folii, cały kabel jest również pokryty folią
•	SFTP –każda para przewodów otoczona jest osobnym ekranem z folii, cały kabel pokryty jest pancerzykiem.

Wytyczne do instalacji sieci lokalnej
•	Krzyżowanie kabli z instalacją elektryczną pod kątem 90 stopni
•	Prowadzenie kabli równolegle do korytarzy, swobodne ułożenie, podwieszanie co 1,5 m
•	Przestrzeganie warunków maksymalnego wygięcia kabli
•	Niestandardowe połączenia kabli (np lutowania) nie mogą mieć miejsca
•	Minimalizacja liczby switchy
•	Przestrzeganie warunku maksymalnej długości kabla
•	Unikanie prowadzenia kabli równolegle do energetycznych(min. dystans to 20 cm)
•	Przy spinaniu i mocowaniu kabli nie należy powodować deformacji ich przekroju
•	Kabli UTP i BNC nie należy prowadzić na zewnątrz budynków (wyładowania atmosferyczne)

xBase-T - DTE a DCE
•	DTE – Data Terminal Equipment czyli urządzenia końcowe, np. komputery, routery.

•	DCE – Data Communication Equipment czyli urządzenia pośredniczące w transmisji, np. switche, modemy, Huby

Budowa światłowodu
•	Włókno optyczne, złożone z dwóch rodzajów szkła lub tworzywa sztucznego o różnych współczynnikach załamania (Refraction Index):
•	- cześć środkowa – rdzeń (Core), najczęściej o średnicy 62,5 um (rzadziej 50um)
•	- część zewnętrzna – płaszcz zewnętrzny (Cladding), o średnicy 125 um
•	Zewnętrzna warstwa akrylowa 
•	Tuba – izolacja o średnicy 900 um.
•	Oplot kewlarowy.
•	Izolacja zewnętrzna.

Światłowody- zasada działania
•	Promień światła wędruje w rdzeniu światłowodu i odbija się od płaszcza pod zadanym kątem.
•	Powyżej pewnego kąta zachodzi zjawisko całkowitego odbicia wewnętrznego i światło padające zostaje odbite bez strat
•	Światłowód wielomodowy - charakteryzuje się tym, że promień światła może być wprowadzony do niego pod różnymi kątami - modami

Światłowody - niekorzystne zjawiska
•	Tłumienność - parametr charakteryzujący utratę siły impulsu świetlnego w kablu, ustalaną w funkcji częstotliwości fali 
•	Dyspersje - związane z rozproszeniem czasowym lub geometrycznym sygnałow:
•	modowa - wynikająca z różnicy w czasie przebywania różnej długości dróg w modach
•	materiałowa

Światłowody- charakterystyka (I)
•	Maksymalna długość kabla: 2 km,
•	Topologie: 10 Mb, 100 Mb i 1 Gb Ethernet, FDDI, ATM,
•	Maksymalna liczba powtarzanych segmentów :
•	10 Mb Ethernet - pięć segmentów, z których trzy są wypełnione
•	100Tx, 100T4 - dwa segmenty
•	100VG-ANYLAN - pięć segmentów, wszystkie wypełnione
•	FDDI - GigabitEthernet - dwa segmenty
•	Maksymalna całkowita długość segmentu :
•	10 Mb Ethernet i 100V-ANYLAN – 925 m
•	100Tx i 100T4 – 100 m.
•	GigabitEthernet - 1 km

Światłowody- charakterystyka (II)
•	Nie powodują interferencji elektrycznej w innych kablach, ani też nie są na nią podatne,
•	Impulsy świetlne mogą docierać znacznie dalej niż w przypadku sygnału w kablu miedzianym,
•	Światłowody mogą przenosić więcej informacji niż za pomocą sygnałów elektrycznych,
•	Sygnał przemieszcza się z jednej stacji do drugiej poprzez pojedyncze włókno

Światłowody- charakterystyka (III)
•	Przy instalowaniu światłowodów konieczny jest specjalny sprzęt do ich łączenia, 
•	Gdy włókno zostanie złamane wewnątrz plastikowej osłony, znalezienie miejsca zaistniałego problemu jest trudne bez specjalistycznego sprzętu,
•	Naprawa złamanego włókna jest trudna ze względu na konieczność użycia specjalnego sprzętu.

Złącza światłowodowe (I)
•	Najbardziej popularne złącze - simplex/duplex-SC. Starsze złącza simplex-ST nie zapewniają tak dobrych parametrów połączenia jak SC (poprawna polaryzacja, stabilność mechaniczna łącza), jednak w sieciach Ethernet są nadal stosowane. Obecnie popularyzuje się także złącze MT-RJ (tylko duplex).

Panele światłowodowe
•	Służą do budowy przełącznic światłowodowych
•	Fizyczna konfiguracja połączeń pomiędzy budynkami 
•	Przełącznica przystosowana jest do konkretnego rodzaju wtyków (na zdjęciu - ST)
•	Montaż w szafach krosowniczych 19’’

Nazewnictwo technologii światłowodowych
•	Terminologia w opisach
•	MMF (multi-mode optical fibers) - dwa wielomodowe kable światłowodowe
•	SMF (two single mode optical fibers) - dwa jednomodowe kable światłowodowe
•	62,5/125 - 62,5 mm rdzeń i 125 mm płaszcz,
•	50/125 - 50 mm rdzeń i 125 mm płaszcz,
•	H-D - half-duplex
•	F-D - full-duplex

Porównanie parametrów technologii światłowodowych
Media bezprzewodowe (I)
•	IrDA - diody podczerwieni:
•	Szerokie pasmo transmisyjne,
•	Modulowanie fali,
•	Transmisja wzdłuż linii widoczności, 
•	Podatność na zakłócenia silnym światłem pochodzącym z innych źródeł, zwłaszcza o zbliżonej częstotliwości,
•	Typowa szybkość transmisji to 10Mbit/s,
•	Opcja rozproszonej podczerwieni (diffused infrared) - nie trzeba zapewnić widoczności.
Media bezprzewodowe (II)
•	LIT - laser na podczerwień 
•	(Laser Infrareded Technology)
•	Połączenia na większe odległości (między budynkami)
•	Zastosowanie do budowy mostów w sieci lokalnej - w połączeniu z transceiverami
•	Łatwość montażu w terenie
•	Podatność na zakłócenia pogodowe
•	Duży koszt urządzeń

Media bezprzewodowe (III)
•	Sieci radiowe Wireless LAN
•	Radiowe karty sieciowe, stacje access point
•	Anteny:
•	Kierunkowe - działające w zakresie ok 15-30o poziomo i pionowo. Stosowane zazwyczaj przy połączeniach punkt-punkt (np. 2 sieci łączone za pomocą HUB'ów AP pełniących rolę mostu) 
•	Dookolne - działające w zakresie ok 360o poziomo i ok. 15o poziomo.
•	Szczelinowe - pracują jak dookolne lecz przy mniejszych kątach pionowych. Charakteryzują się o wiele lepsza jakością łącza. Poziomy kąt działania ok. 2x120o. 
•	Paraboliczne - będące pewną odmianą anten kierunkowych lecz przystosowane do współpracy z talerzem. Kąt promieniowania do 10o. Zastosowanie przy dużych odległościach przekraczających 1 kilometr w połączeniach punkt-punkt 
•	Kalkulacja zasięgu na podstawie typu anten, długości kabli anten.
Media bezprzewodowe (IV)
•	Radio wąskopasmowe
•	Transmisja wąskopasmowa (narrow band radio lub single frequency radio)
•	Pojedyncza częstotliwość - konieczność precyzyjnego strojenia
•	Pasmo pracy: około 19GHz
•	Możliwość wystąpienia zakłóceń transmisji, spowodowanych odbiciami sygnału (ghosting)

Media bezprzewodowe (V)
•	Radio szerokopasmowe
•	Transmisja szerokopasmowa (spread spectrum radio)
•	Zmienna w czasie częstotliwość pracy
•	Chwilowy rozkład częstotliwości określany jest za pomocą kodu wspólnego dla nadajnika i odbiornika
•	Wykorzystywany przedział częstotliwości może pokryć się z częstotliwościami stosowanymi przez inne służby oraz innymi sygnałami spread-spectrum

Media bezprzewodowe (VI)
•	Transmisja mikrofalowa
•	2 anteny skierowane na siebie wysyłające fale radiowe i fale ogniskujące odbieraną wiązkę fal, 
•	Musi być zapewniona wzajemna widoczność ante,
•	Zasięg do 45km,
•	Z każdą anteną współpracuje transiver,
•	Zakres pracy 1.5GHz - 50GHz,
•	Na zamontowane potrzebne jest zezwolenie państwowego urzędu.

Urządzenia pomocnicze (I)
•	Wzmacniak (repeater):
•	Element aktywny sieci służący jedynie do wzmocnienia sygnału w kablu sieciowym
•	Urządzenie mające za zadanie utrzymanie fizycznej komunikacji między stacjami.

Urządzenia pomocnicze (II)
•	Bridge (most):
•	Urządzenie które filtruje pakiety pomiędzy sieciami decydując o tym czy przekazać dalej pakiet czy nie (zgodnie z przeznaczeniem pakietu). Pakiety pochodzą ze wszystkich sieci do których mostek jest podłączony. Praca na poziomie łącza danych.

Urządzenia pomocnicze (III)
•	Koncentrator (hub):
•	Elementarny węzeł komunikacyjny w sieci LAN umożliwiający łączenie i rozgałęzianie dróg komunikacyjnych. 
•	Hub pasywny - tworzy konfigurację gwiazdową z segmentu sieci i nie wzmacnia sygnału. 
•	Hub aktywny - zawiera obwody elektroniczne wzmacniające sygnał, co pozwala na zwiększenie długości przewodów między stacjami

Urządzenia pomocnicze (IV)
•	Switch 
•	Urządzenie które łączy oddzielne sieci LAN oraz zapewnia filtrowanie pakietów między nimi. 
•	Większe opóźnienia transmisji
•	Switch LAN jest urządzeniem z pewną liczbą portów, z których każdy może współpracować z siecią Ethernet lub czasem także z Token Ring.
•	Cache - techniki fast forward i store&forward

Przykład - switch
Urządzenia pomocnicze (V)
•	Router
•	Urządzenie do kierowania pakietów w sieci zgodnie z informacją adresową, zawartą w warstwie sieciowej pakietu. 
•	Służy do tworzenia sieci rozległych, zapewniając filtrację pakietów i kontrolę ruchu między sieciami LAN. Sprawdza informację po odebraniu kompletnego pakietu o drodze jego przebiegu, zawartą w samym pakiecie danych i przesyła go do innej sieci tylko wtedy, gdy adres przeznaczenia wskazuje tę inną sieć, dzięki temu routery nie przesyłają poza sieć lokalną informacji rozgłoszeniowych. 
•	W celu określenia dróg przesyłania pakietów przechowuje tablice adresowe innych routerów w sieci. 
•	Komunikacja w sieci o dowolnej topologii: pakiet jest przesyłany po najlepszej drodze. Definicja najlepszej drogi zależy od stosowanego protokołu kierowania pakietów. 

Urządzenia pomocnicze (VI)
•	Router - wygląd zewnętrzny
Urządzenia pomocnicze (VII)
•	Terminal routera
Urządzenia pomocnicze (VIII)
•	Transceiver - medium pośredniczące pomiędzy interfejsem sieciowym a faktyczną siecią. 
•	Podłączane bezpośrednio do sieci, a do interfejsu za pośrednictwem kabla AUI (Attachment Unit Interface)

Karty sieciowe (I)
•	Czasem określana jest mianem NIC (Network Interface Card). Jest to urządzenie łączące komputer z siecią komputerową zawierające dwa interfejsy - jeden, do połączenia z siecią (RJ45, BNC, swiatłowód, radio), drugi - z komputerem (ISA, PCI, USB, PCMCIA)	

Karty sieciowe (II)
•	Złącze RJ45 - podłączenie przewodu UTP
•	Złącze BNC - podłączenie przewodu koncentrycznego

Szafy krosownicze (II)
•	System klimatyzacji
•	Dostęp do urządzeń, montaż w standardzie 10 lub 19 cali
•	Centralny system stabilizacji zasilania
•	Patchpanele
•	Terminale konfiguracyjne
•	Zabezpieczenie urządzeń przed ingerencją osób nieupoważnionych

Komputer w sieci
•	Serwery 
•	Dedykowane - umożliwiające użytkownikom dostęp do swoich usług, nie można na nich uruchamiac programów,
•	Niededykowane - umożliwiające dostęp do aplikacji, plików, drukarek, 
•	Specjalizowane - przeznaczone do realizacji specjalnych usług, takich jak obsługa poczty elektronicznej. 
•	Stacje robocze
Sieci typu 
LAN, MAN, WAN
•	Rozróżniane są przez:
•	Szybkość transmisji (ilość danych możliwych do przesłania w jednostce czasu),
•	Opóźnienia propagacyjne,
•	Efektywność wykorzystania łączy,
•	Maksymalny zasięg. 

LAN
•	LAN Local Area Network 

•	Umożliwiają wymianę zbiorów informacji, 
wspólne użytkowanie zasobów oraz
	komunikatów między użytkownikami
	znajdującymi się na niewielkim obszarze
	geograficznym (zwykle laboratorium, biuro).
 
•	Szybkość transmisji: 1 Mb/s - 1 Gb/s

MAN
•	Metropolitan Area Network 

•	Umożliwiają wymianę zbiorów informacji, 
wspólne użytkowanie zasobów oraz
	komunikatów między użytkownikami
	znajdującymi się na obszarze geograficznym
	o średnicy do około 50 km.
•	Z reguły  oparta na pętli światłowodowej i ATM
•	Szybkość transmisji: kilka Mb/s - setki Mb/s
WAN
•	WAN - Wide Area Network
 
•	Sieci rozległe łączą ze sobą oddzielne sieci 
	LAN, MAN

•	Używają różnorodnych rodzajów mediów transportowych: zwykłych sieci telefonicznych, łącz satelitarnych, magistral światłowodowych innych. 

Sieć WAN w Polsce
•	X.25 - powszechnie sieci z komutacją pakietów, rozwijane na bazie kanałów telefonicznych, do których dostęp realizowany był za pośrednictwem modemu, 4000 kanałów wirtualnych, ośrodki akademickie, POLPAK, TELBANK
•	FrameRelay - pomost do ATM, sieć funkcjonująca w trybie połączeniowym, łącza satelitarne i kable podmorskie, prędkość 2Mb/s, 34Mb/s i 45Mb/s.
•	ATM:
•	PKP: sieć połączeń biegnących równolegle do linii kolejowych
•	TPSA: linie 2,4Gb/s, system gwiazdy z centralą w Warszawie
•	TEL-ENERGO PSE: wykorzystanie sieci połączeń energetycznych “podwieszając” kabel komunikacyjny pod przewód szczytowy linii energetycznej

Łączność satelitarna
 a sieci rozległe
•	Obsługa obszarów o niskim zaludnieniu i bez infrastruktury
•	Szybkie podłączenie użytkownika do systemu i globalny zasięg usług
•	Możliwość stosowania broadcastu do multimediów (DVB - Digital Video Braoadcasting), Broadband Interactive (BBI) System
•	Klient dostaje współrzędne kierunkowe satelity z którym się łączy
•	Dwa typy satelitów: LEO - low orbit, GEO - geostacjonary
•	Propagacja sygnału na drodze host-satelita-host - około 0,5 sekundy

Internetowe systemy satelitarne
•	Początki - system Irydium (Motorola) złożony z 66 niskoorbitalnych satelitów okołoziemskich - bezprzewodowa łączność - telefaksy, pagery, transmisja danych, transmisja dźwięku. Prędkość transmisji z urządzenia zoptymalizowana dla przesyłu głosu (około 3,2 Kbps). Rozpoczął funkcjonowanie około 1998 r,
•	Obecnie istnieje kilka ogólnoświatowych systemów dostarczających usługi przesyłowe poprzez przekaźnik satelitarny,
•	Popularne zastosowania: łącze wychodzące od klienta (upload) to linia naziemna, łącze przychodzące (download) - sygnał satelitarny.

Łączność satelitarna - TELEDESIC
•	Szerokopasmowy satelitarny system transmisji danych
•	Wykorzystujący układ satelitów na orbitach LEO - 288 satelitów (plus 36 zapasowych) na 12 orbitach, wysokość orbit to 1440 km
•	Jakość transmisji jak w sieciach światłowodowych
•	Globalny zasięg 
•	Szerokopasmowa transmisja danych 19-29 GHz
•	Zakładany minimalny kąt elewacji terminala na satelitę 40 stopni
•	Satelity posiadają łącza optyczne lub mikrofalowe i komunikują się pomiędzy sobą (routing z przetwarzaniem ścieżek)
•	Gateway’e na ziemi pośredniczą w konwersji protokołów naziemnych (IP/TCP, ATM)
•	System posiada globalne naziemne centrum kontroli (NOCC - Network Operations Control Center)

Łączność satelitarna - TELEDESIC - terminale
•	Terminale są tutaj zarówno stacjonarne jak i przenośne,
•	Tryb transmisji: MFTDMA (multi-frequency time division access) w łączu w dół i ATDMA (asynchronous TDMA) w łączu w górę,
•	Przesył: łącze w dół -  do 64 Mbs, łącze w górę - do 2 Mbps (na żądanie, gdyż standardowo 16 kbps),
•	Anteny: płaskie sterowane lub paraboliczne o średnicy 30 cm,
•	Regulacja mocy nadawanej w zale no ci od warunków propagacyjnych (np. pogoda),
•	Konieczność precyzyjnego repozycjonowania anteny.

Łączność satelitarna - SKYBRIDGE
•	Szerokopasmowa satelitarna sieć dostępowa - wykorzystanie satelitów na orbitach LEO - 80 satelitów LEO na wysokości 1469 km
•	Oparta na transmisji pakietów ATM
•	Pasmo częstotliwości 10 - 18 GHz 
•	Satelity nie posiadają łączy międzysatelitarnych
•	Szerokopasmowa transmisja danych od 16kb/s do 2 Mb/s
•	(łącze w górę) i 20 Mb/s (łącze w dół)
•	pokrycie obszarów do 68 stopni szerokości geograficznej (przy
•	Minimalnym kącie elewacji anteny terminala 30 stopni)
•	Satelity bez przetwarzania sygnałów (tylko zwykłe przekaźniki)
•	System ciągle jeszcze rozbudowywany

Łączność satelitarna - SKYBRIDGE - terminale
•	Transmisja pakietowa oparta na ATM
•	Dwa tryby:
•	Terminal indywidualny: łącze w górę - do 2 Mbs, łącze w dół - do 20 Mbs
•	Terminal zbiorowy: łącze w górę - do 10 Mbs, łącze w dół - do 100 Mbs
•	Możliwość śledzenia dwóch satelitów jednocześnie
•	Anteny: paraboliczne, bardzo małe

Łączność satelitarna - EUROSKYWAY
•	Europejska satelitarna sieć szerokopasmowej transmisji
•	Przepustowość do 32 Mb/s
•	Pięć satelitów geostacjonarnych pokrywających Europę, Płn. Aftykę, bliski Wschód
•	Łącza pomiędzy satelitami
•	Pasmo 20/30 GHz dla łącza satelita-ziemia i 56/64 GHz pomiędzy satelitami
•	anteny paraboliczne
•	MFTDMA
•	Przetwarzanie danych na satelicie

ISDN
•	ISDN - (Integrated Services Digital Network)
•	Sieć cyfrowych połączeń lokalnych dla indywidualnych użytkowników
•	Integracja wielu usług na bazie jednej technologii
•	System kanałów, z wyróżnionym kanałem sygnalizacyjnym stosowanym do zestawiania połączeń na pozostałych
•	Standardy:
•	ISDN BRI (Basic Rate Interface) - trzy kanały dwa po 64 kbps, jeden 16 kbps (sygnalizacyjny)
•	ISDN PRI (Primary Rate Interface) - 23 kanały do transmisji głosu i danych po 64 kbps każdy, jeden sygnalizacyjny 64 kbps
Techniki DSL (I)
•	DSL - (Digital Subscriber Line)
•	Zasięg modemów około 6 km
•	Wykorzystanie wielu częstotliwości przekazu - dolne pasmo to analogowy przekaz dźwięku, górne - danych cyfrowych
•	Rodzaje:
•	DSL - pasmo duplex, do 160 kbps
•	HSDL (High), SDSL (Single) - pasmo duplex, do  2048 kbps
•	ADSL (Asymmetric)- do 9 Mbps downstream, do 640 kbps upstream
•	VDSL (Very high)- do 53 Mbps downstream, do 13 Mbps upstream

Techniki DSL (II)
•	Zasięg modemów: 3 - 6 km
•	Transmisja danych szerokopasmowa, w pasmach 0-120 kHz (DSL, współdzielenie pasma z telefonem), 80-240 kHz dla SDSL, HDSL, 30 -1104 kHz dla ADSL, VDSL
•	W przypadku ADSL, VDSL stało się możliwe także wsparcie protokołu ATM (obok IP). Tutaj też zestawiane są trzy kanały logiczne ( upstream, downstream, telefon)

Techniki DSL (III)
•	Kanały DSL w zakresach swoich częstotliwości (przykład ADSL)

Standardy sieci IEEE 802
•	Dotyczą protokołów warstwy drugiej w sieciach lokalnych
•	802.3 Ethernet
•	802.4 Token Bus
•	802.5 Token Ring
•	802.11 Wireless Lan (łączność bezprzewodowa)
•	802.11a – 54 Mb/s
•	802.11b – 11Mb/s
•	802.11g - 54 Mb/s
•	802.11 Super g - 108 Mb/s
•	802.11h - 100 Mb/s lub 250 Mb/s 
•	802.15 PAN (Bluetooth)

Token Ring (I)
•	Skonstruowana przez IBM in the 1970s
•	Stacje połączone są w fizyczny pierścień: każda stacja posiada połączenie z bezpośrednio poprzednią i następną
•	Fizycznym interfejsem jest TCU (Trunk Coupling Unit)
•	Gdy stacja jest włączona przetwarza token i przekazuje dalej
•	Gdy stacja jest wyłączona token przekazywany jest z jej pominięciem
•	Transmisje posiadają priorytety, stacje mogą zamawiać token gdy zachodzi potrzeba transmisji
•	Stacje robocze przyłącza się do koncentratorów nazywanych jednostkami MAU (Multistation Access Unit)
Token Ring (II)
•	Łączenie jednostek MAU:
•	Każda jednostka MAU dysponuje gniazdkami typu RingIn i RingOut, służącymi do łączenia jej z innymi jednostkami MAU
•	Można ze sobą połączyć ze sobą do 12 jednostek MAU
•	Dzięki zwielokrotnieniu połączeń pomiędzy MAU - automatyczna obsługa przypadku przerwania kabla

FDDI
•	(Fiber Distributed Data Interface)
•	Protokół oparty na przekazywaniu tokenu
•	Postać ramki podobne do Token Ring
•	Standard opracowany z założeniem użycia światłowodu jako medium transmisji
•	Szybkość 100 MB/s
•	Typowa sieć miejska
•	Często wykonywana jako sieć szkieletowa
•	Duża niezawodność
•	Max stacji 500
•	Dwa przeciwbieżne pierścienie
•	W przypadku awarii (przerwanie pierścieni) stacje realizują transmisję zwrotną

ATM (I)
•	ATM - Asynchronous Transfer Mode
•	Jednostka komunikacyjna: celka ATM
•	Celka nadchodzące do przełącznika kierowane są na właściwą drogę (do kolejnego przełącznika) na podstawie zawartych w nagłówku informacji adresowych (przy czym przełączanie pakietów następuje sprzętowo) 
•	Pomiędzy stacjami źródłową a docelową zestawiane jest logiczne połączenie, zwane kanałem wirtualnym VCC (Virtual Channel Connection)
•	Zestaw kanałów o wspólnym węźle docelowym tworzy tzw. wirtualną ścieżkę VPC (Virtual Path Connection)

ATM (II)
•	Celka ATM:
•	Długość stała: 53 bajty, dzięki temu znaczne uproszczenie formatu i budowy przełącznic ATM. 5 bajtów to nagłówek, 48 - ładunek
•	W skład celki ATM wchodzą identyfikatory między innymi VPI (8 bitów), VCI (16 bitów), pole priorytetu, flaga celki technicznej (PT - payload type) oraz dane.
•	Spory narzut na nagłówki (5 bajtów nagłówka, czyli 10% wielkości celki)
•	Celka nie posiada w sobie adresu docelowego dla danych, jedynie identyfikatory połączeń VCC i VPC
•	Dzięki VPC celki nie mogą się wyprzedzać

ATM (III)
•	Adresacja ATM:
•	20 bajtowy adres, struktura hierarchiczna, w niej między innymi numer telefonu adresata, id kraju, ID jednostki administrującej itp.
•	Połączenia ATM:
•	PVC (Permament Virtual Connection) - połączenie trwałe, zestawiane ręcznie w przełącznicy ATM
•	SVC (Switched Virtual Connection) - połączenie zestawiane automatycznie na podstawie protokołu rutingu, podobnie do IP. 

ATM (IV)
•	W wyróżnia się dwa rodzaje interfejsów sieciowych ATM:
•	UNI - interfejs do urządzenia końcowego (stacji kończącej wirtualną ścieżkę) 
•	NNI - interfejs do innej przełącznicy ATM (pomiędzy przełącznicami)
•	Zadania przełącznicy ATM to:
•	przekazywanie celek
•	mapowanie VPI/VCI na porty fizyczne

Bluetooth (I)
•	Prosty sposób łączenia urządzeń teleinformatycznych powszechnego użytku 
•	Pasmo radiowe o częstotliwości w okolicy 2,4 GHz
•	Struktura hierarchiczna - najmniejsze jednostki (tzw. pikosieci) składać się mogą z maksymalnie 8 urządzeń
•	Komunikacja w trybie master-slave
•	Zasięg ograniczony do około 10 metrów (100 po wzmocnieniu)
•	Ciągle zmieniana częstotliwość nadawania utrudnia przechwycenie informacji

Bluetooth (II)
•	Zaprojektowany został przez firmę Ericsson (1994)
•	Występuje jako moduł zintegrowany lub przystawka do urządzeń takich jak komputery, drukarki, telefony komórkowe

Modem - budowa i zasada działania
•	Modem  - nazwa pochodzi od słów modulation-demodulation
•	Transmisja danych z komputera do komputera poprzez sieć telefoniczną
•	Główny moduł - tzw. Data Pump - układ służący do modulacji i demodulacji sygnałów analogowych, zawiera procesor sygnałowy (DSP) bazujący na zakodowanych programowo procedurach modulacji
•	Podłączenie do linii telefonicznej za pomocą tzw. układu styku, odpowiadającego za izolację modemu od linii i impulsowe wybieranie numerów

Ethernet - rys historyczny
•	Początki Ethernetu - rok 1965, sieć radiowa ALOHANET
•	1970 - Robert Metcalfe i David Boggs opracowują standard na kablu koncentrycznym
•	1976 - standard rozszerzony o trasowanie pakietów
•	Publikacja w 1980 przez firmy DEC – Intel – Xerox (DIX)
•	Opracowanie przez IEEE pod nazwą 802.3

Ethernet - założenia standardu (I)
•	Wszystkie stacje prowadzą ciągły nasłuch stanu łącza i sprawdzają czy łącze jest wolne, zajęte czy też jest w stanie IFG 
•	Odstęp międzyramkowy (IFG, interframe gap) odcinkiem czasu po ustaniu stanu zajętości łącza. Wynika ona z maksymalnej odległości pomiędzy skrajnymi hostami i czasu propagacji sygnału w danym medium. Dla 10Mbit równa 9,6us (czas transmisji 96 bitów). 
•	Komputery mogą nadawać jedynie, gdy łącze jest wolne. W przypadku zajętości kanału, muszą odczekać do końca transmisji i dodatkowo przeczekać czas odstępu międzyramkowego.
•	Jeżeli podczas nadawania stacja wykryje kolizję, nadaje jeszcze przez czas wymuszenia kolizji dla 10Mbit równy 3,2us (czas transmisji 32 bitów). Jeśli kolizja wystąpi podczas nadawania preambuły, to stacja kontynuuje nadawanie preambuły, po czym nadaje jeszcze 32 bity takiego samego sygnału. Po wykryciu kolizji stacja dobiera długość odcinka czasu Ti, przez który nie będzie podejmowała prób nadawania. 

Ethernet - założenia standardu (II)
•	Dla Ti, liczba i jest numerem podejmowanej próby. Możliwe jest maksymalnie 16 prób, po których karta sieciowa zwraca błąd. Czas Ti wyznaczany jest ze wzoru:
•	Ti = Ri S
•	S - szerokość szczeliny czasowej, 
Ri - liczba losowa z przedziału <0, 2n-1>, przy czym n = min( i,10 ).
•	Czas Ti wzrasta wraz z ilością podjętych prób nadawania. Czas ten musi być liczbą losową, by nie nastąpił tzw. backoff (sprzężenie kolizji)
•	Szczelina czasowa S (slot time) jest czasem transmisji 512 bitów dla sieci Ethernet 10 i 100Mb/s oraz 4096 bitów dla sieci 1Gb/s. Wynika on z dwóch elementów:
•	czasu potrzebnego na dotarcie sygnału z jednego końca sieci o maksymalnym rozmiarze na drugi koniec i jego powrót, 
•	maksymalnego czasu potrzebnego na rozwiązanie problemu wynikającego z wystąpienia kolizji (wykrycie kolizji i wysłanie sygnału przez czas wymuszania kolizji) 

Ethernet - założenia standardu (III)
•	Długość 512 bitów szczeliny czasowej wyznacza najmniejszy rozmiar ramki Ethernetowej na 64 bajty. Wszystkie ramki mniejsze niż 64B są uznawane za fragmenty kolizji (collision fragment) lub tzw. słabą ramkę (runt frame) i są automatycznie odrzucane przez stacje odbiorcze.
•	Szczelina czasowa zapewnia, że jeśli nastąpi kolizja to zostanie ona wykryta w ciągu transmisji pierwszych 512 bitów ramki (dla sieci 10/100Mbit)

Ethernet - założenia standardu (IV)
•	Norma IEEE 802.3 definiuje następujące wartości czasów i wielkości ramek:

Ethernet - 
protokół CSMA/CD 
•	CSMA/CD – Carrier Sense Multiple Access with Collision Detection
•	Carrier Sense – (wykrywanie fail nośnej) gdy medium zajęte, nie nadajemy. gdy się zwolni odczekujemy czas IFG (dla Ethernetu 10Mb 0,96 us) i rozpoczynamy transmisję

•	Multiple Access (dostęp wielokrotny) - przy wolnym medium dwie stacje mogą się zdecydować na rozpoczęcie nadawania w tym samym momencie. Wtedy następuje kolizja.

•	Collision Detection (wykrywanie kolizji) -	przy nałożeniu się dwu sygnałów zwiększa się częstotliwość i możliwe jest wykrycie kolizji

Budowa pakietu IEEE 802.3
(I)

•	Pakiet Ethernetowy składa się z ramki, która jest poprzedzona preambułą i bajtem zwanym znacznikiem początku ramki (SFD). Minimalna długość ramki wynosi 64 bajty (po 8 bitów), preambuła składa się z 56 bitów, a SFD z 8 bitów. 

Budowa pakietu IEEE 802.3
(II) - pola ramki
•	Preambuła – naprzemienny ciąg bitów 1 i 0, informujący o nadchodzącej ramce. Najczęściej nie jest on włączany do wielkości ramki. Uznawany jest za część procesu komunikacji.
•	SFD – (Start of Frame Delimiter )– bajt kończący preambułę o postaci: '10101011' (standard 802.3), zawsze jest zakończony dwoma bitami 1. 
•	Adresy – są to liczby 6 bajtowe, będące adresami sprzętowymi komunikujących się interfejsów sieciowych (MAC). 

Budowa pakietu IEEE 802.3
(III) - pola ramki
•	Długość – określa w bajtach ilość danych, które nastąpią po tym polu – nie może być więcej niż 1500. 
•	Dane – jeśli ilość danych jest mniejsza od 46 bajtów, wprowadzane jest tzw. uzupełnienie PAD (padding) i dane są dopełniane jedynkami, tak aby ramka nie była mniejsza niż 512 bitów (slot time) dla 10Mbit.
•	FCS – Frame Check Sequence – zawiera 4 bajty kontrolne (cyclic redundancy check - CRC) wygenerowane przez interfejs nadający i sprawdzane przez odbierający. Określają one czy dane nie zostały uszkodzone.

Adresy w ramce IEEE 802.3
 i rozgłaszanie
•	Każde urządzenie sieciowe ma nadawany przez producenta niepowtarzalny numer odróżniający dany egzemplarz od innych. Numery te noszą nazwę MAC (Media Access Control) i są przyznawane przez IEEE. Pierwsze trzy bajty adresu identyfikują producenta karty, pozostałe są numerem kolejnym egzemplarza.
•	Adres docelowy może być adresem pojedynczym (unicast) lub rozgłoszeniowym (broadcast).
•	Adres rozgłoszeniowy składa się z samych bitów o wartości 1. Każdy host jest adresatem takiej ramki

ARP i RARP
•	ARP - Protokół odwzorowania adresów 
(Address Resolution Protocol)
•	RARP - Protokół odwrotnego odwzorowania adresów
(Reverse Address Resolution Protocol)

ARP - stosowanie
•	Każdy komputer ma przypisany 32-bitowy adres jednoznacznie identyfikujący go w sieci
•	Dwie maszyny mogą się komunikować tylko wtedy kiedy znają nawzajem swoje adresy fizyczne
•	Potrzeba przekształcenia adresu IP na adres fizyczny tak aby informacja mogła być poprawnie przesyłana
•	Adres fizyczny nie jest przypisany na stale do IP
•	Nie ma sposobu na zakodowanie 48-bitowego adresu ethernetowego w 32-bitowym adresie IP

ARP - wady i zalety
•	Brak konieczności przechowywania tablicy przekształcania adresowego
•	Przy rozgłaszaniu każda maszyna w sieci musi przetworzyć pakiet ARP- duży koszt
•	Opóźnienia w konfiguracji sieci po zmianach w interfejsach komunikacyjnych

ARP - zasada działania (I)
•	Przypadek gdy host docelowy nie znajduje się w podsieci. Wobec braku odpowiedzi ARP, host pytający ponawia zapytanie wysyłając pakiet na adres gateway’a
•	Przypadek proxy-arp - router symuluje urządzenie którego dotyczy zapytanie, korzystając ze swojej tablicy routingu
•	Protokół ARP może być wykorzystywany w celu uniknięcia nadania dwóch takich samych adresów IP w jednej sieci lokalnej. W momencie inicjacji systemu komputer wysyła ramkę ARP z zapytaniem o adres IP, który aktualnie został mu przydzielony

Format pakietu ARP
•	Nagłówek pakietu sieci Ethernet
•	28 znaków zapytania ARP, z polami częściowo niewypełnionymi 
•	Przetwarzanie zapytania polega na wypełnieniu pustych pól i odesłaniu pakietu

ARP - Odwzorowanie adresów 
i pamięć podręczna
•	Pamięć podręczna stosowana jest z uwagi na zbyt duży koszt ciągłego przesyłania ARP
•	W pamięci podręcznej przechowywane są ostatnio uzyskane powiązania adresu IP z adresem fizycznym
•	Komputer A wysyłając prośbę o adres fizyczny komputera C od razu dowiązuje informację o swoim adresie fizycznym
•	Jeśli w komputerze zostanie zmieniony adres fizyczny (np. w wyniku zmiany karty sieciowej), to może on bez zapytania o jego adres fizyczny rozgłosić go do innych komputerów, tak aby uaktualniły informacje w swoich pamięciach podręcznych

RARP - stosownie
•	Adres IP jest zwykle przechowywany w pamięci zewnętrznej komputera, skąd jest pobierany w trakcie ładowania systemu operacyjnego. Czasem jednak adresy IP przydzielane są odgórnie przez urządzenie zarządzające siecią.

•	RARP umożliwia uzyskiwanie adresu IP na podstawie znajomości własnego adresu fizycznego (pobranego z interfejsu sieciowego).

BOOTP (I)
•	BOOTstrap Protocol 
•	Protokół datagramowy, dwa komunikaty: BOOTREQUEST i BOOTREPLY
•	Podobny do RARP ,ale pozwalający na przeniesienie znacznie większej ilości informacji.
•	Jest prekursorem powszechnie dziś stosowanego DHCP.
•	Możliwość konfigurowania:
•	Adres klienta
•	Adres bramy
•	Adres DNS
•	maska sieci
•	Dane specjalne

Model protokołu TCP/IP
•	Protokół tworzący Internet
•	Operuje w warstwie sieciowej (IP) i transportowej
•	Istnieje dzięki enkapsulacji danych, czyli dołączaniu nagłówków kolejnych warstw modelu OSI:

Protokół IP
•	Protokół IP zawiera trzy definicje:
•	Definicję podstawowej jednostki przesyłanych danych, używanej w sieciach TCP/IP. Określa ona dokładny format wszystkich danych przesyłanych przez sieć. 
•	Definicję operacji trasowania, wykonywanej przez oprogramowanie IP, polegającej na wybieraniu trasy, którą będą przesyłane dane. 
•	Zawiera zbiór reguł, które służą do realizacji zawodnego przenoszenia pakietów. Reguły te opisują, w jaki sposób węzły i routery powinny przetwarzać pakiety, jak i kiedy powinny być generowane komunikaty o błędach oraz kiedy pakiety mogą być porzucane. 

Zadania protokołu IP
•	Definiowanie datagramu
•	Definiowanie schematu adresowania używanego w całym Internecie,
•	Trasowanie (rutowanie) datagramów skierowanych do odległych hostów,
•	Dokonywanie fragmentacji i ponownej defragmentacji datagramów.

Cechy protokołu IP
•	IP protokołem bezpołączeniowym, tzn. nie ustanawia w żaden sposób połączenia i nie sprawdza gotowości odległego komputera do odebrania przesyłanych danych.
•	IP jest protokołem niepewnym, tzn. nie zapewnia korekcji i wykrywania błędów transmisji.

Datagram IP
•	Podstawowa jednostka przesyłanych danych nazywana jest datagramem.
•	Datagram podzielony jest na nagłówek i dane.
•	Nagłówek datagramu zawiera adres nadawcy i odbiorcy oraz pole typu, które identyfikuje zawartość datagramu.
•	Datagram przypomina ramkę sieci fizycznej. Różnica polega na tym, że nagłówek ramki zawiera adresy fizyczne, zaś nagłówek datagramu adresy IP (omówione wcześniej).
•	Ponieważ przetwarzaniem datagramów zajmują się programy, zawartość i format datagramów nie są uwarunkowane sprzętowo.

Budowa datagramu IP (I)

Budowa datagramu IP (II)
•	Wersja – [4 bity] – numer wersji protokołu IP. Najpopularniejsza to wersja 4 (standard) oraz nowa wersja 6. Opisana została wersja nr 4.
•	IHL – [4 bity] – (Internet Header Length) jest długością nagłówka w słowach. Minimalna wartość to 5.
•	Typ usługi – [8 bitów] – TOS (Type of Service) opisuje jakość wymaganej usługi. Zawiera flagi definiujące pierwszeństwo, niezawodność, opóźnienie krytyczne itp.
•	Długość całkowita – [16 bitów] – jest długością pakietu IP w bajtach (zawierającego nagłówek i dane).

Budowa datagramu IP (III)
•	Identyfikator – [16 bitów] – wartość identyfikacyjna przypisana nadawanemu pakietowi przed fragmentacją (jeżeli miałaby ona miejsce). W przypadku fragmentacji określa ona przynależność fragmentu do datagramu.
•	Flagi – [3 bity] – flagi sterujące: 
•	bit nr 0: - zarezerwowany, musi mieć wartość zero;
•	bit nr 1: DF - 0 – można fragmentować, 1- nie wolno fragmentować;
•	bit nr 2: MF - 0 – ostatni fragment, 1 - jest jeszcze więcej.
•	Przesunięcie fragmentacji – [13 bitów] – pole to wskazuje, do którego miejsca pakietu danych należy ten fragment. Przesunięcie fragmentu jest mierzone w jednostkach 8 bajtów (64 bitów). Pierwszy fragment ma przesunięcie równe zeru.
•	Czas życia – [8 bitów] – TTL - pole to wskazuje maksymalny czas przebywania pakietu w Internecie (Time-to-Live).

Budowa datagramu IP (IV)
•	Protokół – [8 bitów] – pole to wskazuje numer protokołu warstwy wyższej, do którego zostaną przekazane dane z tego pakietu. 
•	Suma kontrolna – [16 bitów] – suma kontrolna nagłówka. Ponieważ nagłówek ulega ciągłym zmianom (np. czas życia) jest ona obliczana i sprawdzana za każdym razem, gdy dany nagłówek jest przetwarzany.
•	Adres źródła – [32 bity] – adres IP źródła danych.
•	Adres przeznaczenia – [32 bity] – adres IP komputera docelowego.
•	Opcje – [długość pola jest zmienna] – mogą zajmować przestrzeń na końcu nagłówka IP.
•	Uzupełnienie – [długość pola jest zmienna] – jeśli pole opcji nie zajmuje pełnego słowa to zostaje uzupełnione do 32 bitów

Budowa datagramu IP (V)
•	Numery protokołu - istnieje spójny system rejestracji protokołów warstw wyższych, umożliwiający ustalenie według jakiego protokołu przysłane dane mają być dalej obrabiane. Przykładowo:

•	ip 	0 	IP # internet protocol, pseudo protocol number
•	icmp 	1 	ICMP # internet control message protocol
•	igmp 	2 	IGMP # internet group multicast protocol
•	tcp 	6 	TCP # transmission control protocol
•	udp 	17 	UDP # user datagram protocol

•	Każdy rodzaj sieci ma określony maksymalny rozmiar pakietu MTU (Maximum Transmission Unit). W trakcie przekazywania danych, może się okazać, że MTU właściwy dla jednej z sieci, jest zbyt duży dla następnej. Zachodzi wtedy zjawisko fragmentacji pakietu.

Dzielenie datagramu IP
•	Maksymalny rozmiar datagramu IP (65535 bajtów), może przekraczać maksymalny rozmiar pakietów warstwy niższej (np. Ethernet 1518 bajtów)
•	Jeżeli warstwa IP ma do wysłania datagram to pyta interfejs o jego MTU (maximum transmission unit), jeśli długość datagramu przekracza MTU to go fragmentuje
•	Datagram przechodzi przez routery pośredniczące w formie podzielonej
•	Składanie następuje TYLKO u odbiorcy – routery pośrednie nie wykonują tej czynności. Złożony datagram dociera w takim stanie do odbiorcy.

Składanie pakietów IP
•	Z każdym otwartym niezupełnym pakietem IP związany jest bufor, tablica znaczników i zegar
•	Na podstawie przesunięcia fragment wstawiany jest w odpowiednie miejsce w buforze
•	Wypełnienie trwa aż do otrzymania ostatniego fragmentu, tzn. najdalej przesunięty fragment posiada wyłączony bit MF i cały jest wypełniony

Adresowanie IP
•	Adresy wszystkich komputerów w Internecie są wyznaczane przez właściwości protokołu IP
•	Każdy adres IP składa się z czterech bajtów (oktetów)
•	Każdy taki adres można podzielić na dwie części: 
•	Część identyfikującą daną sieć w Internecie (adres podsieci)
•	Część identyfikującą konkretny komputer w tej sieci (adres hosta) 

Klasy adresów IP (I)
•	Pierwsze bity adresu określają jego dalszy podział na podsieć i hostID. Tym samym determinują klasę adresu IP:
•	klasa A  	-	0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
•	klasa B  	-	10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
•	klasa C  	-	110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
•	multicast 	-	1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
•	rezerwa 	- 	1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

Klasy adresów IP (II)
•	Przeliczając wartość binarną pierwszego bajtu możemy ustalić zakres jego wartości dla poszczególnych klas:

•	N < 128 – klasa A
•	128 <= N < 192 – klasa B
•	192 <= N < 224 – klasa C
•	224 <= N < 240 – multicast (D)
•	N >= 239 – adresy zarezerwowane

•	Adresy multicast są adresami transmisji grupowej, wykorzystywanymi przy np.: wideo-konferencjach.
Maska sieci IP
•	Maska składa się podobnie jak adres IP z 4 bajtów, używana jest do wydzielenia części adresu odpowiadającej za identyfikację i dodatkowe wydzielenie sieci
•	Adres sieci tworzymy przepisując niezmienione wszystkie bity adresu IP, dla których odpowiednie bity maski mają wartość jeden. Resztę uzupełniamy zerami.
•	Adres rozgłoszeniowy w podsieci (broadcast) jest tworzony poprzez wypełnienie jedynkami części przydzielonej na hosta.

Maska sieci - przykład
•	Adres IP: 				212.51.219.50
•	Maska sieci: 			255.255.255.192
•	Adres IP: 		11010100.00110011.11011011.00110010
•	Maska: 		11111111.11111111.11111111.11000000
•	Adres sieci:	11010100.00110011.11011011.00000000
•	Broadcast:		11010100.00110011.11011011.00111111
•	Adres sieci:			212.51.219.0
•	Broadcast:				212.51.219.63

IP - adresy specjalne
•	Adres sieci (pole hosta wypełnione zerami)
•	Adres broadcast (pole hosta wypełnione jedynkami)
•	Adres: 0.0.0.0 - “wszystkie komputery w Internecie” 
•	Adres 127.0.0.1- adres pętli (loop-back address)
•	Adresy nierutowalne - służące o budowy lokalnych intranetów:
•	Klasa A: 		255.0.0.0 : 10.0.0.0 - 10.255.255.255
•	Klasa B: 		255.255.0.0 : 172.16.0.0 - 172. 31.255.255
•	Klasa C: 		255.255.255.0 : 192.168.0.0 - 192.168.255.255 

Translacja adresów IP  - masquerade
•	Zastosowanie urządzenia tłumaczące adresy sieciowe (Network Address Translation - NAT)
•	Komputery podsieci są konfigurowane zwyczajnie, ustawiając domyślną bramę na adres komputera, który będzie robił translację adresów
•	Komputer podsieci wysyła zwyczajne pakiety zakładając, że brama przekieruje je dalej
•	Brama odbiera pakiet i zmienia nagłówek wpisując siebie jako nadawcę i zmieniając port nadawcy na swój
•	Translacja adresów pozwala na ukrycie własnej sieci, a dodatkowo angażuje tylko jeden “prawdziwy” adres internetowy
•	Wadą są trudności z działaniem połączeń odwrotnych,np. ftp

Translacja adresów IP - bloki adresów prywatnych 
•	Z reguły NAT operuje na trzech blokach adresów, przypisanych do sieci prywatnych. Zdarzają się jednak rutery, nie posiadające ograniczenia adresacji sieci prywatnej.
•	Bloki adresów:
•	Klasa A : 10.0.0.0 – 10.255.255.255 
•	Klasa B : 172.16.0.0 – 172.31.255.255 
•	Klasa C : 192.168.0.0 – 192.168.255.255 

Sieci wirtualne LAN/IP
•	Implementowane z reguły przez programowalne urządzenia typu switch
•	Programowanie za pomocą terminala podłączonego do RS232 lub portu Ethernet
•	Izolacja pakietów między sieciami
•	Kanały szybkie pomiędzy wyróżnionymi portami
•	Ograniczanie obszarów rozgłaszania (broadcast)

Rutowanie datagramów IP
•	Jeżeli adres IP przeznaczenia pakietu nie należy do tej samej sieci, komputer źródłowy przesyła pakiet na adres lokalnej bramki.
•	Bramka (gateway) - zapewniające łączność pomiędzy sieciami lokalnymi. Podłączone jest do przynajmniej dwóch różnych sieci i otrzymując pakiety z jednej z nich podejmuje decyzję, czy przesłać je do następnej. 
•	Ruter (router) - urządzenie analizujące treść datagramów IP i adresujące te datagramy na następne interfejsy sieciowe zgodnie z zadaną polityką. Ruter pośredniczy na drodze datagramów IP - pełni także funkcję bramki.

Rutowanie - tablice rutowania 
•	Tablica rutowania (routing table) - zawiera informacje o sieciach docelowych dla nadchodzących pakietów
•	Jest tworzona przez administaratora systemu (routera) lub przez protokoły rutujące
•	Każdy wpis w tablicy składa się (między innymi) z pól:
•	wzorzec dla adresu docelowego w nadchodzącym pakiecie
•	maska wzorca
•	brama (mówiąca, czy zamieniać adres nadawcy na adres routera)
•	fizyczny interfejs docelowy dla pakietu
•	flagi

Tablica rutowania - przykład
•	Kernel IP routing table:

Destination 	Gateway 		Genmask 	Flags 		Iface
212.51.219.0 	0.0.0.0 		255.255.255.192 	U 		eth0
127.0.0.0 		0.0.0.0 		255.0.0.0 		U 		lo
0.0.0.0 		212.51.219.3 	0.0.0.0 		UG 		eth0

•	Jeżeli pole gateway ma wartość 0.0.0.0, to datagram nie jest zmieniany, jeśli nie - dostaje adres routera jako nadawcy
•	Wpis postaci 0.0.0.0 oznacza wszystkie adresy IP. Znajduje się on najczęściej na końcu tablicy routingu, jeżeli poszukiwany adres nie pasował do żadnej z wcześniejszych sieci (wpisów w tablicy), to zostaje wysłany do domyślnej (default) bramki zapewniającej dostęp do sieci Internet dla danego komputera

Konfiguracja routerów (I)
•	Konfigurowanie adresów interfejsów
•	Kontrola aktywności interfejsów
•	Definiowanie nazw interfejsów
•	Zarządzanie wpisami w tablicy rutowania
•	Zapis wyników sesji w pamięci trwałej

Konfiguracja routerów (II)
•	Interfejs WWW

Klasyfikacja routerów
•	Router wewnętrzny: router który ma podłączone do siebie tylko podsieci należące do tego samego obszaru.
•	Router brzegowy: router który jest podłączony do więcej niż jednego obszaru. Pełni rolę “wyjścia na zewnątrz”.
•	Router szkieletowy: router który posiada interfejs w sieci szkieletowej. W to włączone są routery które posiadają interfejsy w więcej niż jednym obszarze (routery brzegowe). Router sieci szkieletowej nie musi być routerem brzegowym. Router który ma wszystkie interfejsy w sieci szkieletowej jest traktowany jako router zewnętrzny

Protokół ICMP
•	ICMP (Internet Control Message Protocol) 
•	Jest częścią warstwy czwartej OSI, 
•	Do swojego transportu wykorzystuje datagramy IP
•	Obsługuje większość sytuacji awaryjnych i informuje o nich zainteresowane hosty
•	Wykorzystywany do diagnostyki, między innymi przez komendy ping i traceroute

Zastosowanie ICMP (I)
•	Wykrywanie nieosiągalnych miejsc przeznaczenia – jeśli komputer docelowy nie odpowiada system, który wykrył problem wysyła do nadawcy komunikat Destination Unreachable:
•	Jeśli komunikat ten jest wysyłany przez ruter, oznacza, że ruter nie może wysyłać pakietów do danego komputera. Może to nastąpić w dwóch przypadkach: 
•	adres docelowy IP nie istnieje - Host-unreachable, 
•	ruter nie może dostarczyć datagramu do tej sieci - Network-unreachable. 
•	W momencie, gdy komunikat ten jest wysyłany przez host, może to oznaczać, że:
•	dany komputer nie posiada wsparcia dla któregoś z protokołów - Protocol-unreachable, 
•	port protokołu TCP/UDP jest nieosiągalny- Port-unreachable. 

Zastosowanie ICMP (II)
•	Sterowanie przepływem danych – w przypadku, gdy komputer docelowy transmisji IP nie nadąża za obróbką przychodzących datagramów IP, ICMP wysyła komunikat Source Quench, po którym nadawca czasowo wstrzymuje transmisję.
•	Przekierowywanie ścieżek – jeśli komputer, do którego dotarł datagram IP uzna, że właściwszą bramką będzie inny komputer z tej samej sieci, wysyła komunikat Redirect wskazujący na ten właśnie komputer (musi znajdować się w tej samej sieci). Po otrzymaniu takiego komunikatu nadawca aktualizuje swoją tablicę rutingu. 

Zastosowanie ICMP (III)
•	Sprawdzanie zdalnego hosta – odbywa się podczas wywołania komendy ping. Wysyłany jest komunikat Echo Message, po otrzymaniu którego komputer docelowy musi odpowiedzieć. Jeśli tego nie zrobi, uznawany jest za nieosiągalny.
•	Jeśli jakiś datagram, podczas przechodzenia przez ruter osiągnie zerowy limit “czasu życia” (Time-to-Live) jest usuwany. Do komputera źródłowego danego datagramu wysyłany jest komunikat ICMP Time-exceeded.

Format komunikatu zwrotnego ICMP
•	0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type 	    |	 Code       |		 Checksum 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| unused |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet Header + 64 bytes of Original Data Datagram |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
•	Type - typ (zawsze równy 3)
•	Code - omawiany kod zwrotny
•	Checksum - suma kontrolna.
•	Internet Header - nagłówek datagramu na który odpowiadamy oraz 64 bajty pola danych.

IPv6
•	Adres 128 bitowy - notacja szesnastkowa z kropkami co 16 bitów (skracanie zer)
•	6A2E:8BA1:FFFF:FFFF:0:125A:3E:290
•	6A2E:0:0:0:0:0:B6:A25E       =  6A2E::B6:A25E
•	Zmienny nagłówek - po nagłówku podstawowym (zawierającym numer wersji, dane priorytetu, adresy i czas życia) mogą następować kolejne nagłówki, każdy z nich określa swoją długość i to, czy po nim następują dane czy kolejny nagłówek. Specyfikacja takich nagłówków jest otwarta.

Adres IPv6 (I)
•	Adres IPv6 składa się z następujących części:
•	3 bity Format prefix (001)
•	13 bitów TLA ID - identyfikator dostawcy pierwszego poziomu
•	8 bitów - zarezerwowane
•	24 bity NLA ID - identyfikator dostawcy drugiego poziomu
•	16 bitów SLA ID - lokalny identyfikator sieci
•	64 bity - identyfikator interfejsu
•	Teoretyczna liczba hostów:
	340 282 366 920 938 463 463 374 607 431 768 211 456

Adres IPv6 (II)
•	TLA odpowiadają wpisom w globalnej tabeli routingu, może ich być 8192, ilość tę można w przyszłości powiększyć biorąc bity z 8 zarezerwowanych
•	NLA powinny określać routing w ramach jednego TLA, typowo jeden identyfikator może być przyznawany jednej instytucji.
•	SLA - pozwala na określenie podsieci lokalnych, może ich być 65535
•	Identyfikator interfejsu jest kojarzony z adresem Ethernetowym, ale przeznaczono na niego 64, a nie 48 bitów
•	Identyfikator 48 bitowy jest podzielony na identyfikator producenta i identyfikator karty. Pomiędzy te wartości wstawia się 16 bitów FFFE.

IPv6 a IPv4
•	Użytkowanie IPv6 jest obecnie w dużej mierze oparte na tunelach wykorzystujących poprzednią wersje protokołu (IPv4). Technika ta określana jest skrótem IPv6-in-IPv4
•	W tunelowaniu wykorzystywany jest często mechanizm 6to4 (tunelowanie automatyczne):
•	Polega na pakowaniu (tunelowaniu) datagramów  IPv6 w datagramy IPv4
•	Do oznaczenia protokołu (w datagramach IP) wykorzystywana jest wartość 41
•	Wejściem do tunelu jest standardowo adres 192.88.99.1
•	Publiczny adres IP (końce tunelu) wstawiany jest w miejsce 8 bitów zarezerwowanych i 24 bitów NLA ID (łącznie 32)
•	TLA ma wówczas wartość 2 (z góry ustaloną)
•	“Dolne” pola adresu są do wykorzystania w ramach nowej adresacji

Mobile IP
•	Przeźroczysta migracja hosta - użytkownik ruchomy wraz z maszyna przechodzi z jednej sieci do drugiej i jest to niewidoczne dla aplikacji (w warstwach wyższych)
•	Home Agent (HA) oraz Foreign Agent  (FA) współpracują ze sobą aby zapewnić jednostce Mobile Host (MH) przemieszczanie bez zmiany jego adresu IP
•	Kiedy MH jest poza macierzystą siecią HA przesyła w jego imieniu pakiety do sieci, z której pochodzi
•	FA jest pośrednikiem rejestracyjnym w obcej sieci i pośredniczy w komunikacji na linii MH - HA po rejestracji (tunelowanie z enkapsulacją pakietów w innym protokole) 

Rutowanie dynamiczne
•	Rutowanie dynamiczne zachodzi wówczas, gdy sąsiednie rutery informują się wzajemnie o tym, jakie sieci są obecnie dołączone do każdego z nich.
•	Rutery komunikują się za pośrednictwem standardowych protokołów rutowania.
•	IGP - Interior Gateway Protocol - wewnętrzny protokół rutowania, uzgodniony na dany standard i obowiązujący w tym samym systemie autonomicznym
•	EGP - Exterior Gateway Protocol - protokół zewnętrzny, który jest wykorzystywany do komunikacji pomiędzy urządzeniami trasującymi w różnych systemach autonomicznych

RIP 
•	RIP - Routing Information Protocol
•	Algorytm distance-vector
•	Routery na bazie RIP realizują następującą funkcjonalność:
•	Żądają aktualnych informacji o routingu od innych routerów i na ich podstawie aktualizują tablice routingu.
•	Odpowiadają na podobne żądanie innych routerów.
•	W ściśle określonych przedziałach czasu rozsyłają informacje o swojej obecności, informując inne routery o aktualnej konfiguracji połączeń międzysieciowych.
•	W przypadku wykrycia zmian w konfiguracji sieci rozsyłają stosowną informację.

RIP - Distance-vector
•	Distance-vector optymalizuje wybór trasy przy kryterium najmniejszej liczby skoków (hops) niezbędnych do osiągnięcia miejsca przeznaczenia (destination) lub kosztu ścieżki prowadzącej do miejsca przeznaczenia.
•	Protokół RIP wysyła komunikaty uaktualniające w określonych, stałych przedziałach czasu lub w przypadku pojawienia się zmian w topologii sieci. 
•	Router po przyjęciu uaktualnienia routingu, które dotyczy zmian jednego z wejść, uaktualnia tablicę routingu (routing table), by odzwierciedlić nową trasę. Wartość miary przypisanej danej ścieżce wzrasta o jeden i jako następny skok jest wskazany nadawca. 
•	Routery RIP utrzymują do miejsca przeznaczenia tylko najlepszą trasę, to jest trasę z najmniejszą liczbą skoków. 
•	Liczba skoków jest ograniczona do 15 (zapobieganie pętlom).

IGRP
•	IGRP - Interior Gateway Routing Protocol
•	Opracowany przez CISCO w latach 80
•	Umożliwia sterowanie ruchem na podstawie zadanych parametrów mediów, takich jak przepustowość łącza, niezawodność, długość pakietów w trybie automatycznym
•	Posiada 24 bitową metrykę odległości bazującej na zliczaniu opóźnień pakietów
•	Marszruta w przekazywaniu informacji o trasach między routerami - przekaz co 90 sekund
•	Nieodebranie przekazu przez trzy kolejne okresy (270 sekund) unieważnia daną trasę, po kolejnych 7 (630 sekund) - usuwa ją z tablicy rutowania
•	W niektórych realizacjach sprzętowych możliwa jest praca równolegle z protokołem RIP

OSPF (I)
•	OSPF - Open Shortest Path First
•	Trasowanie bazuje na algorytmie Dijkstry poszukiwania najkrótszej ścieżki w grafie, zwanym tak samo jak omawiany protokół
•	Możliwość wprowadzenia obszarów sieci (net area), pozwalająca na wprowadzenie hierarchizacji sieci w ramach domeny
•	Fazy działania:
•	Budowa tablic sąsiadów, na podstawie wysyłanych zwrotnych pakietów typu “hello”
•	Dzielenie się informacją - poprzez wzajemne rozgłaszanie broadcastowe tablic 
•	Budowa tablic rutowania - na bazie algorytmu i wartości metryk połączeń wyszukiwana jest (metoda przeszukiwania w głąb) optymalna ścieżka

OSPF (II)
•	Jest klasyfikowany jako wewnętrzny protokół międzyrouterowy (Internal Gateway Protocol IGP), więc że przesyła on dane pomiędzy routerami należącymi do tej samej sieci
•	Jeżeli istnieje kilka tras do jednego punktu przeznaczenia to OSPF rozprowadza ruch po wszystkich trasach równomiernie
•	Protokół dynamiczny - każdy z routerów w trybie ciągłym buduje drzewo najkrótszych tras ze sobą jako korzeniem drzewa
•	Wymiany protokołu OSPF są autentyfikowane - tylko autoryzowane routery uczestniczą w budowie drzewa rutowania
Protokół sterowania transmisją (TCP)
•	TCP - Transmission Control Protocol
•	Zapewnia połączeniową transmisję danych pomiędzy dwoma lub więcej hostami,
•	Może obsługiwać wiele strumieni danych,
•	Umożliwią sterowanie strumieniem danych, kontrolę błędów, 
•	Umożliwia ponowne porządkowanie pakietów, otrzymanych w niewłaściwej kolejności,
•	Wysoka niezawodność
•	Buforowanie danych w możliwością sterowania buforem (wypychanie wymuszone, np. przy telnet)

TCP - kontrola przepływu i weryfikacja pakietów
•	Suma kontrolna  CRC - kontrolowanie treści pakietu
•	Technika “potwierdzenia pozytywnego” i kolejki retransmisji - potwierdzanie przyjęcia pakietu
•	Timeout nadania i retransmisja w przypadku nieotrzymania potwierdzenia
•	32 bitowe numerowanie ramek (numery sekwencji)
•	Sterowanie przepływem (ang. flow control) - powstrzymywanie (ang. pacing) transmisji pakietów przy przeciążeniu odbiorcy

TCP - adresy 
i numery portów
•	Numery portów - 16-bitowe liczby całkowite
•	Grupa ogólnie znanych portów TCP
•	Połączenie typu klient-serwer - serwer zajmuje port TCP i czeka na połączenia
•	Efemeryczne (krótkotrwałe) numery portów nadawane procesom-klientom przez moduł TCP
•	Dedykowane numery portów - w przedziale od 1 do 255

Połączenia i asocjacje TCP
•	Połączenie - ustanawia się między dwoma procesami w celu przesyłania danych między nimi. 
•	Asocjacja - składa się z pięciu parametrów:
•	Typ protokołu TCP lub UDP;
•	Adres stacji lokalnej Internetu ( liczba 32-bitowa );
•	Numer portu lokalnego ( liczba 16-bitowa );
•	Adres stacji obcej Internetu ( liczba 32-bitowa );
•	Numer portu obcego ( liczba 16-bitowa ).
•	Przykład: ( tcp, 128.0.0.2, 1612, 128.0.0.4, 80 )

Gniazda TCP
•	Gniazdo zwane jest inaczej półasocjacją lub adresem transportowym
•	Zakładane przez serwer na danym porcie w celu odbioru połączeń przychodzących
•	Dwa stany gniazda:
•	pasywne czekanie
•	właściwe połączenie
•	Możliwość odbioru wielu równoczesnych połączeń na dane gniazdo

Nagłówek TCP

BITY (0-31)	
0	4	8	12	16	20	24	28          	
Port źródłowy	Port docelowy	
Numer sekwencji	
Numer potwierdzenia	
Wyrów-nanie	Rezerwa
	Flagi	Rozmiar okna	

Budowa nagłówka TCP (I)
•	Port źródłowy TCP: 16-bitowe pole portu źródłowego przechowuje numer portu, który inicjuje sesje komunikacyjne. Port źródłowy i adres źródłowy IP funkcjonują jako adres zwrotny pakietu.
•	Port docelowy TCP: 16-bitowe pole portu docelowego jest adresem portu, dla którego przeznaczona jest transmisja. Port ten zawiera adres interfejsu aplikacji w komputerze odbiorcy, do której przesyłany jest pakiet danych.
•	Numer sekwencji TCP: 32-bitowy numer sekwencji jest wykorzystywany przez komputer odbierający do zrekonstruowania rozproszonych, rozbitych, podzielonych danych i przywrócenia im pierwotnej postaci. W sieci dynamicznie trasowanej może się zdarzyć, że niektóre pakiety pójdą innymi trasami i dotrą w niewłaściwej kolejności. Pole numeru sekwencji kompensuje tę niekonsekwencję w dostarczaniu.

Budowa nagłówka TCP (II)
•	Numer potwierdzenia TCP: TCP używa 32-bitowego potwierdzenia (ACK) pierwszego oktetu danych zawartego w następnym oczekiwanym segmencie. TCP może obliczyć ten numer, zwiększając numer ostatniego otrzymanego pakietu o liczbę oktetów w każdym segmencie TCP. Numer używany do identyfikowania każdego ACK jest numerem sekwencji potwierdzanego pakietu.
•	Wyrównanie danych: 4-bitowe pole przechowuje rozmiar nagłówka TCP, którego miarą jest 32-bitowa struktura danych, znana jako “słowo”.
•	Zarezerwowane: 6-bitowe pole, zawsze ustawione na zero. Pole to jest zarezerwowane dla jeszcze nie wyspecyfikowanego, przyszłego zastosowania.

Budowa nagłówka TCP (III)
•	Flagi: 6-bitowe pole flagi zawiera sześć 1-bitowych flag, które umożliwiają realizację funkcji sterowania, takich jak pilność, zerowanie połączenia, synchronizacja numerów sekwencyjnych i zakończenie wysyłania danych.
•	Rozmiar okna: 16-bitowe pole używane przez komputer docelowy w celu poinformowania komputera źródłowego o tym, ile danych jest gotów przyjąć w jednym segmencie TCP.
•	Suma kontrolna (16-bitów): Nagłówek TCP zawiera również pole kontroli błędów, znane jako “suma kontrolna”. Komputer źródłowy oblicza wartość tego pola na podstawie zawartości segmentu. Komputer docelowy przeprowadza identyczne obliczenie. Jeśli zawartość pozostała nienaruszona, wynik obydwu obliczeń będzie identyczny, co świadczy o prawidłowości danych.
•	Wypełnienie: do tego pola dodawane są zera, tak aby długość nagłówka TCP była zawsze wielokrotnością 32 bitów.

Protokół datagramowy użytkownika (UDP)
•	UDP - User Datagram Protocol
•	zapewnia proste i mające niewielki narzut kontrolny transmisje danych, tzw. “datagramy”
•	brak funkcjonalności połączeniowej
•	zastosowanie: komunikaty systemowe, synchronizujące znaczniki stanu, dane nie wymagające potwierdzeń, nie fragmentowane

Budowa nagłówka UDP (I)

BITY (0-31)	
0	16                                    	
Port źródłowy	Port docelowy	
Długość	Suma kontrolna	
Dane	
 	
Budowa nagłówka UDP (II)
•	Numer portu źródłowego UDP: Port źródłowy jest numerem połączenia w komputerze źródłowym. Port źródłowy i adres źródłowy IP funkcjonują jako adres zwrotny pakietu.
•	Numer portu docelowego UDP: Port docelowy jest numerem połączenia w komputerze docelowym. Port docelowy UDP jest wykorzystywany do przekazywania pakietu odpowiedniej aplikacji, po tym jak pakiet dotrze do komputera docelowego.

Budowa nagłówka UDP (III)
•	Suma kontrolna UDP: Suma kontrolna jest polem kontroli błędów, którego wartość jest obliczana na podstawie zawartości segmentu. Komputer docelowy wykonuje taką samą funkcję matematyczną jak komputer źródłowy. Niezgodność dwóch obliczonych wartości wskazuje na wystąpienie błędu podczas transmisji pakietu.
•	Długość komunikatu UDP: Pole długości komunikatu informuje komputer docelowy o jego rozmiarze. Daje to komputerowi docelowemu kolejny mechanizm, wykorzystywany do sprawdzania poprawności wiadomości

Cykl życia połączenia TCP (I)
•	1. LISTEN- SŁUCHAJ, oczekiwanie na prośbę połączenia od jakiegokolwiek zdalnego TCP i portu.	
•	2. SYN-SENT- oczekiwanie na odpowiedź po wysłaniu prośby połączenia.
•	3. SYN-RECEIVED - oczekiwanie na potwierdzenie połączenia (wcześniej wymieniono “prośby połączenia” ).	
•	4. ESTABLISHED- USTANOWIONE, reprezentuje otwarte połączenie, dane mogą być dostarczane do użytkownika. Normalny stan do transmisji danych.	
•	5. FIN-WAIT-1- oczekiwanie na prośbę zakończenia połączenia od zdalnego TCP lub potwierdzenie takiej prośby wcześniej wysłanej.	

Cykl życia połączenia TCP (II)
•	6. FIN-WAIT-2- oczekiwanie na prośbę zakończenia połączenia od zdalnego TCP.	
•	7. CLOSE-WAIT- oczekiwanie na prośbę zakończenia połączenia od lokalnego użytkownika.	
•	8. CLOSING - oczekiwanie na potwierdzenie zakończenia połączenia od zdalnego TCP.	
•	9. TIME-WAIT - czas przeznaczony na upewnienie się, że zdalny TCP otrzymał potwierdzenie zakończenia połączenia.	
•	10. CLOSED - połączenie nie istnieje.

IPX
•	IPX (Internet Packet Exchange) 
•	Protokół równoległy do TCP/IP - operuje na warstwie sieciowej modelu OSI. Adresuje i przesyła pakiety z jednego węzła do drugiego w obrębie sieci
•	Bazuje na polach adresowych znajdujących się w nagłówkach pakietów i informacji otrzymanych z protokołów RIP 
•	Bezpołączeniowy protokół datagramowy
•	SPX - bazujący na IPX protokół warstwy wyższej zapewniający kontrolę “połączenia” i potwierdzanie pakietów.

Adresowanie w IPX
•	Kompletny sieciowy adres IPX ma postać dwunastobajtowej liczby heksadecymalnej 
•	Serwery IPX - przechowują procesy IPX, adresowane docelowo w pakietach
•	Składowe adresu
•	Czterobajtowy numer sieci (adres serwera) 
•	Sześciobajtowy numer hosta (adres serwera)
•	Dwubajtowy numer gniazda (numer procesu w serwerze)
•	Numer sieci jest stosowany przy routingu, numer węzła przy transmisjach lokalnych. Numery węzłów w różnych sieciach mogą się powtarzać.
•	Istnieją predefniniowane numery gniazd, pełniące z góry ustalone funkcje techniczne

IPX - struktura pakietu
•	Elementy:
•	30-to bajtowy nagłówek IPX (IPX Header) 
•	Dane ( w nich np. nagłówek SPX - protokół wyższy)
•	Minimalny rozmiar pakietu IPX - 30 bajtów , maksymalny - 65 535 bajtów
•	Nagłówek oprócz adresów źródłowego i docelowego posiada pole przedawnienia RIP (czyli maksymalnie 15 hopów), sumę kontrolną, pole długości, pole typu pakietu.
•	Typ pakietu to między innymi RIP, SPX, NetBIOS

RTP (I)
•	RTP  (Real Time Protocol) - protokół przesyłu danych czasu rzeczywistego
•	usługi doręczania końcowego danych z charakterystykami czasu rzeczywistego
•	zastosowania: interaktywne audio i video
•	możliwy przesył danych do wielu miejsc docelowych (rozgłaszanie grupowe)
•	sekwencyjne numerowanie, datowanie pakietów
•	brak gwarancji dostarczenia na czas 

RTP (II)
•	Rozszerzenie - protokół kontroli RTP - RTCP (Real Time Control Protocol), pozwalający na monitorowanie dostarczanych pod kątem identyfikacji i sortowania pakietów

RTP (III)
•	Numer sekwencyjny (16 bitów): inkrementowany o 1 dla każdego wysyłanego pakietu danych RTP. Służy do kontroli kolejności ramek. Początkowa wartość numeru jest losowa.
•	Datownik (32 bity) chwila próbkowania pierwszego bajtu w pakiecie danych RTP. Chwila próbkowania zależy od zegara inkrementowanego liniowo w czasie. Początkowa wartość datownika jest losowa. Wiele kolejnych pakietów RTP może mieć ten sam znacznik czasowy, jeśli są równocześnie generowane (np. należą do tej samej ramki video). Kolejne pakiety mogą nie mieć rosnących znaczników, jeśli nie są transmitowane w porządku, w jakim były próbkowane.
•	SSRC (32 bity) - źródło synchronizacji danych. Identyfikator jest nadawany losowo 
•	Lista CSRC (0 do 15 pozycji po 32 bity) - źródła wspierające zawarte w pakiecie dane. 

SLIP
•	SLIP (Serial Line Internet Protocol
•	protokół umożliwiający połączenie poprzez linie, które wymuszają transmisję szeregową
•	zaprojektowany w związku z koniecznością prostej obsługi łącz point-to-point, na poziomie alternatywnym do IEEE 802.3 (Ethernet) i 802.5 (Token Ring) czy X.25
•	transmisja prostych pakietów do przeciwległej stacji
•	brak zdefiniowanego maksymalnego rozmiaru pakietu SLIP

SLIP - działanie protokołu
•	Dwa znaki specjalne pakietu:
•	END (192) - koniec pakietu
•	ESC (219) - stosowany gdy trzeba nadać znak o wartości 192 (END) jako dane
•	Brak kontroli błędów transmisji
•	Brak kompresji
•	Brak mechanizmu retransmisji

PPP
•	PPP - (Point-to-Point Protocol)
•	rozwinięcie wcześniejszego protokołu SLIP
•	przeznaczony dla prostych połączeń, które transportują pakiety pomiędzy dwoma końcowymi stacjami roboczymi
•	hermetyzacja/enkapsulacja PPP pozwala łączyć ze sobą różnego rodzaju protokoły (nagłówek pakietu - do 8 oktetów)
•	wyposażony w Link Control Protocol (Protokół Kontroli Połączenia) - przeznaczony do automatycznego uzgadniania opcji, detekcji połączenia, zmiany ograniczeń wielkości pakietów, czy ograniczania przepustowości połączenia
•	łatwość konfiguracji - automatyczne zestawianie połączeń

PPP - protokół
•	Pakiet informacyjne posiada limit długości - 1500 oktetów
•	Nagłówek determinuje typ enkapsulacji (w tym LCP)
•	Pole wypełnienia zawiera wypełniacz pola informacyjnego do 1500 znaków, gdy pole informacyjne jest mniejsze
•	Trzy rodzaje pakietów LCP (wysyłanych w PPP jako przypadek szczególny):
•	stabilizacja i konfiguracja połączenia
•	rozłączenie połączenia
•	utrzymanie połączenia i kontrola przesyłów

DHCP (I)
•	DHCP  - Dynamic Host Configuration Protocol
•	standard umożliwiający automatyczną konfigurację adresów IP na komputerach pracujących w sieciach TCP/IP 
•	podstawowa usługa przekazuje: właściwe numery adresów IP, właściwe wartości “masek” podsieci, adres domyślnego gateway’a
•	podstawowa zaleta: zredukowanie kosztów i ułatwienie administracji systemów TCP/IP.
•	serwer DHCP bazuje na zakresach IP przyznanych dla każdej podsieci, standardowej konfiguracji IP, polityce przyznawania IP

DHCP (II)
•	Zasada działania DHCP:
•	rozgłoszenia broadcastowe (na IP 255.255.255.255)
•	procedura uzgodnienia nowego klienta:
•	klient: 	DHCP Discover
•	server:	DHCP Offer
•	klient: 	DHCP Request
•	server:	DHCP ACK
•	procedura uzgodnienia klienta po restarcie:
•	klient:		DHCP Offer (swój poprzedni adres)
•	server:	DHCP ACK lub DHCP NACK 

SNMP
•	SNMP (Simple Network Management Protokol) - prosty protokół zarządzania siecią
•	Protokół stosowany do zarządzania urządzeniami sieci, takimi jak routery, drukarki, stacje robocze, terminalne urządzenia monitorujące (np. czujniki) itp
•	Protokół przewiduje istnienie jednostek zarządców sieci i rozproszonych agentów pod kontrolą
•	Zarządzanie polega na monitorowaniu i zmianach wartości zmiennych (obiektów), reprezentujących wybrane zasoby
•	Agent - udostępnia posiadane bazy zmiennych - MIB (Management Information Base)
•	Zarządca (manager) monitoruje sieć wysyłając zapytania do urządzeń - przeważnie w interwale czasowym
SNMP - polecenia
•	PDU (Protocol Data Units) - pięć typów ogólnych poleceń:
•	GetRequest - wysyłane od zarządcy do agenta w celu odczytania wartości wybranej zmiennej
•	GetNextRequest - wysyłane od zarządcy do agenta w celu odczytania wartości kolejnej zmiennej
•	SetRequest - wysyłane od zarządcy do agenta w celu przypisania zmiennej określonej wartości
•	GetResponse - uzyskanie od agenta odpowiedzi  po wysłaniu pytania
•	Trap - meldunek przesyłany przez agenta, gdy zaistnieje sytuacja wyjątkowa w sieci. 

DNS (I)
•	DNS - Domain Names System - system nazw domen 
•	Odzwierciedlenie lokalnej struktury sieci w przestrzeni nazw (ang. name space)
•	Logiczna przestrzeń nazw, które nie muszą zawierać sieciowych identyfikatorów, adresów, tras ani podobnych informacji
•	Transakcje serwerów nazw (ang. name servers) niezależne od systemu komunikacji
•	Możliwość stosowania tej samej przestrzeni nazw z różnymi rodzinami protokołów
•	Rozproszone przechowywanie danych z miejscowymi spisami podręcznymi (ang. caching) dla poprawy wydajności

DNS (II)
•	Składniki DNS:
•	Przestrzeń nazw domen i rekordy zasobów (ang. resource records) - określają drzewiastą przestrzeń nazw i dane związane z nazwami. Każdy węzeł i liść przestrzeni nazw wyznacza zbiór informacji a zapytania są próbami wydobycia właściwego typu informacji z określonego zbioru. W zapytaniu jest określona nazwa domeny i żądany typ zasobu.
•	Serwer nazw (ang. name server) - program przechowujący informację o strukturze drzewa domen. Serwer nazw ma pełne informacje o podzbiorze przestrzeni domen i wskaźniki do innych serwerów, prowadzące do informacji o dowolnej części drzewa domen.
•	Resolver - program, które wydobywają dane z serwerów nazw w odpowiedzi na zapytania klientów. Resolvery muszą mieć dostęp do przynajmniej jednego serwera nazw i używać jego informacji do bezpośredniej odpowiedzi na zapytanie lub wykorzystać jego odniesienia do innych serwerów. Resolver jest zwykle procedurą systemową bezpośrednio dostępną dla programów użytkowych, zatem nie jest potrzebny protokół komunikacji między nimi.

DNS (III)
•	Strefa (ang. zone) - jednostka, którą można automatycznie rozprowadzać do serwerów, która zapewnia nadmiarową obsługę danych w strefie.
•	DNS nierekurencyjny - serwer odpowiada używając tylko lokalnej informacji. Odpowiedź zawiera błąd, właściwą odpowiedź lub odniesienie (ang. referral) do innego serwera "bliższego" odpowiedzi. Wszystkie serwery nazw muszą działać w trybie nierekurencyjnym.
•	DNS rekurencyjny - serwer nazw występuje w roli resolvera i zwraca albo błąd albo odpowiedź, ale nigdy odniesienia. Ta usługa jest opcjonalna w serwerze nazw, który może również ograniczać zbiór klientów, którzy mogą używać trybu rekurencyjnego.
•	Daną strefę powinny obsługiwać co najmniej dwa serwery nazw.

DNS (IV)
•	Efekt wynikowy:
•	Z punktu widzenia użytkownika:
•	Dostęp do systemu domen odbywa się poprzez zwykłą procedurę biblioteczną lub odwołanie systemowe do lokalnego resolvera. Przestrzeń domen składa się z jednego drzewa i można żądać informacji z dowolnej jego części.
•	Z punktu widzenia resolvera:
•	System domen składa się z nieznanej liczby serwerów nazw. Każdy serwer nazw ma jedną lub więcej części całego drzewa danych, a resolver widzi każdą z tych baz danych zasadniczo jako statyczną.
•	Z punktu widzenia serwera nazw:
•	System domen jest złożony z rozłącznych zbiorów danych, zwanych strefami. Ma on kopie niektórych stref, ale musi je okresowo odświeżać korzystając z plików głównych innych serwerów. Serwer nazw musi współbieżnie przetwarzać zapytania, które napływają od resolverów.

DNS (V)
•	Rodzaje serwerów nazw:
•	Serwer pierwotny (primary name serwer) - przechowuje na swoim lokalnym dysku zestaw plików administracyjnych, zawierających informacje o odwzorowaniu numerów IP i nazw domenowych dla danej strefy
•	Serwer wtórny (secondary name serwer) - posiada dane automatycznie pobierane z pierwotnego serwera nazw (przy starcie). Jeśli ta operacja się nie powiedzie serwer będzie korzystał z wcześniej zapamiętanych kopii plików administracyjnych
•	Serwer pomocniczy (caching-only server) - po otrzymaniu żądania odwzorowania nazwy domenowej w numer IP, komunikuje się z serwerem autorytatywnym i zapamiętuje to odwzorowanie w swojej pamięci. Dalsze żądania mogą być już obsługiwać bez konieczności komunikacji z serwerem autorytatywnym.

DNS (VI)
•	Serwery autorytatywne - przechowują najbardziej aktualne i wiarygodne informacje dotyczące danej strefy.Serwerami takimi są serwery pierwotne i wtórne strefy
•	Cache zapytań DNS - Po wysłaniu informacji do klienta DNS, który przysłał żądanie, informacja o odwzorowaniu będzie przez pewien czas pamiętana przez serwer nazw i w przypadku przyjścia następnego żądania dotyczącego odwzorowania nazwy z tej samej domeny nasz serwer nazw skomunikuje się wprost z serwerem autorytatywnym tej domeny, bez potrzeby łączenia się z innymi serwerami nazw

DNS (VII)
•	Nazwy domen najwyższego poziomu (organizacyjne):
•	COM – domena przedsiębiorstw i firm, działalność komercjalna
•	EDU – instytucje edukacyjne
•	GOV – instytucje rządowe
•	MIL – organizacje rządowe
•	NET – organizacje prowadzące działalność, związaną z sieciami 	komputerowymi
•	ORG – organizacje o innych charakterach
•	W nazwach wystąpić mogą dowolne litery, ale porównywanie nazw domen odbywa się bez uwzględnienia wielkości liter
•	Nazwa musi być unikatowa i nie może przekraczać 255 bajtów
•	Najwyższy poziom (czyli od prawej) to domena państwa lub kod stanu w przypadku USA

Organizacja rejestracji domen w Polsce
•	Organizacja administrująca domeną pl - NASK - Naukowo Akademicka Sieć Komputerowa
•	Obowiązująca zasada przy doborze nazwy - “Kto pierwszy ten lepszy”
•	Opłaty za delegację domeny na rzecz NASK
•	Aby możliwe było rejestrowanie domeny w pierwszej kolejności konieczne jest posiadanie hosta (rzeczywistego lub wirtualnego) i wpisów w DNS strefy lokalnej

Co zrobić w Polsce, aby zarejestrować domenę (I)
•	Procedura (I):
•	Sprawdzenie, czy domena jest wolna - czy nikt inny jej już nie zarezerwował
•	Wyszukiwarka NASK (najbardziej wiarygodna) znajduje się pod adresem: http://www.dns.pl/

Co zrobić w Polsce, aby zarejestrować domenę (II)
•	Gdy domena jest wolna - złożenie wniosku o delegację domeny wraz z uzasadnieniem. Wniosek dostępny jest pod adresem http://www.dns.pl/cgi-bin/wniosek.pl
•	Delegacja polega na wpisaniu do DNS strefy polskiej adresów DNS lokalnych, gdzie znajduje się informacja o hoscie docelowym
Co zrobić w Polsce, aby zarejestrować domenę (III)
•	Opłaty za domenę - opłaty pobierane są przez NASK w rozliczeniu rocznym

Diagnostyka sieci - ping
•	Wysłanie pakietu ECHO_REQUEST  (ICMP) do zadanych hostów sieciowych
•	W pakiecie wysyłane są dane testowane które muszą być zwrócone w takiej samej postaci
•	Przychodzący z ustalanym opóźnieniem pakiet zwrotny - ECHO_RESPONSE
•	Diagnostyka odległości (wysyłany wiele pakietów i analizujemy czasy powrotu) lub połączenia (jedynie stwierdzenie działania łącza - komunikat host is alive)
•	Technika diagnostyki - oddalanie pingowanego hosta aż do znalezienia węzła izolującego pakiety

Diagnostyka sieci - traceroute
•	Technika bazuje na datagramach UDP (User Datagram Protocol) i ICMP (ewentualnie tylko ICMP)
•	Wykorzystanie pola TTL - wysyłanie pakietów z rosnącym TTL (od 1 w górę) tak, aby były zatrzymywane jako przeterminowane przez poszczególne routery na drodze do celu
•	Zatrzymanie pakietu powoduje wysłanie zwrotnego pakietu ICMP  TIME_EXCEEDED,które dostarczają teraz informacji diagnostycznej
•	Ponieważ wysyłany datagram UDP nie ma zdefiniowanego poprawnego portu, ostatecznie zostanie przesłany pakiet ICMP PORT_UNREACHABLE - z osiągniętego hosta docelowego
•	Dla każdego TTL wykonywane są domyślnie trzy próby - dające trzy komplety wyników czasowych
•	Domyślny czas oczekiwania na pakiet - trzy sekundy (sygnalizacja standardowa - ‘*’)

Diagnostyka sieci - traceroute, przykład
•	mitu@galaxy:~ (110) > traceroute ceti.com.pl
•	traceroute to ceti.com.pl (62.121.128.11), 30 hops max, 40 byte packets
•	 1  ucirtr.agh.edu.pl (149.156.96.10)  1.020 ms  0.799 ms  0.783 ms
•	 2  manrtr.cyf-kr.edu.pl (149.156.6.217)  8.160 ms  5.385 ms  1.941 ms
•	 3  gw.cyf-kr.edu.pl (149.156.6.185)  0.917 ms  0.967 ms  1.090 ms
•	 4  gwk.cyfronet.krakow.pl (195.150.1.179)  1.483 ms  1.504 ms  1.535 ms
•	 5  195.150.0.138 (195.150.0.138)  2.518 ms  3.176 ms  3.517 ms
•	 6  tau.ceti.pl (62.121.128.11)  2.377 ms  3.817 ms  3.271 ms

Diagnostyka sieci - traceroute, przykład Windows
•	tracert.exe onet.pl

Diagnostyka sieci - arp
•	Narzędzie wyświetlania i kontroli przydziału adresów
•	Możliwość modyfikacji tablic translacji adresów 
•	Przykład:

•	mitu@priv:~ (12) > arp -a
•	Interface: 128.0.0.3 --- 0x10003
•	  Internet Address      Physical Address      Type
•	  128.0.0.1             00-0d-f3-00-10-46     dynamic   
•	  128.0.0.2             00-20-ed-19-be-0d     dynamic   
•	  128.0.0.4             00-04-75-d1-3e-8b     dynamic   

Diagnostyka sieci - nslookup
•	Narzędzie wysyła zapytania do serwery nazw (DNS)
•	Dwa tryby działania:
•	nieinteraktywny - pobieranie parametrów
•	interaktywny - shell komend
•	Przykład:
•	mitu@priv:~ (13) nslookup 149.156.127.1 149.156.96.9
•	Server:  galaxy
•	Address: 149.156.96.9
•	 
•	Name:    deathstar.ia.agh.edu.pl
•	Address:  149.156.127.1

CRC
•	CRC (Cyclic Redundancy Code) - w Polsce zwana sumą kontrolną CRC
•	Powszechny algorytm liczenia sum kontrolnych dla bloku danych
•	Trywialna alternatywa stosowana wcześniej - suma bajtów
•	CRC jest odporny na zmianę kolejności bajtów, nie wykrywaną przez sumę
•	Rozmiar sumy kontrolnej zależy od stopnia wielomianu generacyjnego (generatora)
•	Przeznaczenie - wykrywanie błędów pojedynczych przekłamań bitów, błędów serii - duża skuteczność

CRC - popularne wersje
•	Nazwa kodu	Generator	
•	CRC-12		x^12 + x^11 + x^3 + x^2 + x^1 + 1	
•	CRC-16		x^16 + x^15 + x^2 + 1	
•	SDLC(IBM, CCITT)	x^16 + x^12 + x^5 + 1	
•	ETHERNET		x^32 + x^26 + x^23 + x^22 + x^16 +  				x^12 + x^11 + x^10 + x^8 + x^7 + + x^5 			+ x^4 + x^2 + x^1 + 1	
•	Skuteczność działania:
•	CRC-16: seria poniżej 17 bitów - 100%, 17 bitów - 99,997 %, 
	18 bitów i więcej: 99,998 %
•	ETHERNET: seria poniżej 33 bitów - 100%, większe serie: prawdopodobieństwo przeoczenia błędu to 2^(-ilość bitów)

CRC - technika realizacji
•	Dane do kodowania przesuwane są przez bufor bitowy o wielkości równej stopniowi wielomianu
•	Przesuwanie następuje w kierunku najstarszego bitu, po jednym bicie na cykl
•	Najmłodszy bit uzupełniają następne dane kodowane
•	Gdy bufor opuszcza bit o wartości 1 wykonywana jest operacja XOR na pozostałych bitach bufora zgodnie z wartością generatora - cykliczność kodu
•	Po wyczerpaniu danych w buforze pozostaje wynik - CRC

WINS
•	WINS - Windows Internet Naming Service
•	Serwis komunikacyjny bazujący na nazwach komputerów
•	Niezależność od podsieci IP 
•	Serwis oparty jest na serii komunikatów rozgłoszeniowych - rozgłaszenie adresu IP oraz nazwy
•	Informacje komputerach są dynamicznie aktualizowane i nie wymagają interwencji człowieka (przeciwnie do DNS). Istnieje jednak opcja statycznych WINS (konfigurowane ręcznie)
•	Klient musi znać adres IP serwera WINS oraz najlepiej adres serwera zapasowego
•	Realizacja: usługa Win NT, konfigurowana poprzez narządzie WINS Manager

NetBIOS (I)
•	NetBIOS (Network Basic Input/Output System)
•	Warstwa oprogramowania pierwotnie stworzona przez IBM i Sytek do połączenia sieciowego systemu operacyjnego ze sprzętem
•	Niski poziom realizacji sprzętowe (przerwania CPU) 
•	Wiele realizacji, w tym na TCP/IP
•	Zastosowanie w małych sieciach lokalnych
•	Adresowanie poprzez nazwy (16 znaków alfanumerycznych), poszukiwane techniką rozgłaszania
•	Indywidualne - unikatowe w ramach całej sieci. Przed wprowadzeniem nowej nazwy indywidualnej w sieci rozgłaszane jest kilkakrotnie zapytanie, czy taka nazwa gdzieś nie występuje.
•	Grupowe - możliwe jest wprowadzenie dodatkowej nazwy grupowej nawet jeśli istnieje już w sieci taka sama nazwa grupowa (kumulacja w grupie).

NetBIOS (I)
•	Tryby komunikacji NetBIOS:
•	Dwa rodzaje trybów transmisji danych:
•	bezpołączeniowy - szybszy, nie gwarantuje pomyślnej transmisji danych
•	połączeniowy - ustanawiane jest połączenie (sesja) i zapewnia poprawną transmisję wiadomości o długości do 64kB
•	Wariant synchroniczny i asynchroniczny
•	synchroniczny - wykonanie przerwania CPU i zatrzymanie przetwarzania do uzyskania odpowiedzi
•	asynchroniczny - tylko wysłanie zlecenia do NetBIOS’u, wyniki odbierane później z inicjatywy aplikacji zlecającej.

NetBEUI (I)
•	NetBEUI - NetBIOS Extended User Interface
•	Protokół transportowy (oparty na 3 i 4 warstwie OSI)
•	Stworzony przez IBM, pojawił się na rynku komputerowyn w 1985 roku
•	Przeznaczenie - małe sieci lokalne
•	Zapewnia usługi transportowe żądane przez NetBIOS
•	Został zaprojektowany do użytku tylko w sieciach LAN
•	Jego zadaniem jest zapewnienie niezawodności dostarczania pakietów w odpowiedniej kolejności pakietów

NetBEUI (II)
•	Rozgłoszeniowy charakter komunikacji - komunikaty trafiają do adresata poprzez rozgłoszenie.
•	Mimo wielu prób modyfikacji - nierutowalny. Pakiety trasowane do sieci zewnętrznych muszą być opakowane z użyciem innych protokołów (TCP/IP, IPX)
•	Tworzy wirtualne sesje (połączenie point-to-point). Maksymalna liczba sesji - 255
•	Współpracuje z wieloma systemami, jest między innymi integralną częścią systemów operacyjnych Windows for Workgroups,  Windows NT i ich następców.

NFS (I)
•	NFS (Network File System), wprowadzony w roku 1984 przez firmę Sun Microsystems
•	Architektura klient-serwer, serwer NFS jest bezstanowy
•	Udostępnienie użytkownikom plików znajdujących się na innych komputerach bez konieczności ich kopiowania
•	Interfejs VFS (Virtual File System) zaimplementowany w jądrze systemu - klienta mapuje standardowe komendy lokalnego systemu na komendy dla serwera NFS na zdalnej maszynie
•	Funkcjonalność protokołu:
•	Szukanie pliku w obrębie katalogu;
•	Czytanie zbioru pozycji katalogowych;
•	Manipulowanie katalogami;
•	Dostęp do atrybutu pliku;
•	Czytanie i pisanie plików

NFS (II)
•	V-węzły (v-nodes) systemu NFS - analogiczne do i-węzłów (i-nodes) systemu plików UNIX
•	Procedura wykonywania operacji:
•	Klient inicjuje operację za pomocą zwykłej funkcji systemowej,
•	Warstwa systemu operacyjnego odwzorowuje wywołanie tej funkcji na operację systemu VFS na odpowiednim v-węźle,
•	Warstwa systemu VFS rozpoznaje plik jako zdalny i wywołuje 	odpowiednią procedurę NFS,
•	Następuje wywołanie procedury zdalnej odnoszące się do warstwy obsługi systemu NFS dla zdalnego serwera,
•	Wywołanie to przenika do warstwy VFS w systemie zdalnym, który identyfikuje je jako lokalne i wywołuje odpowiednią operację systemu plików,
•	Ta sama droga jest odtwarzana przy przekazywaniu wyniku.

SAMBA
•	Protokół negocjacyjny, bazujący na blokach SMB (Server Message Block)
•	Protokół nadbudowany nad NetBIOS
•	Funkcjonalność:
•	Współdzielenie katalogów
•	Otwarcie – zamknięcie pliku
•	Otwarcie – zamknięcie pliku drukarskiego
•	Czytanie – zapis pliku
•	Połączenie i rozłączenie od pliku lub usługi drukarskiej
•	Tworzenie – usuwanie pliku, katalogu
•	Pobieranie i ustawianie atrybutów
•	Blokowanie – odblokowywanie zakresu bitowego w pliku

RPC
•	RPC - (Remote Procedure Call), Zdalne Wywoływanie Procedur
•	Technikę RPC przykładowo realizuje system NFS
•	Serwer utrzymuje proces, zawierający w swoich zasobach zbiór procedur do wywołania
•	Obiekt docelowy specyfikuje kombinacja adresu hosta, numer procesu i numer procedury
•	Uniwersalny charakter RPC - możliwość realizacji poprzez wiele protokołów transportowych
•	Synchroniczne działanie: klient wysyła do serwera polecenie wykonania procedury (przekazuje argumenty wywołania) i czeka na zakończenie wykonania, aby odebrać zwracane przez procedurę wyniki.

Multimedia w sieci (I)
•	Udostępnianie sekwencji wideo. Tryby przekazu strumienia video:
•	Przesył na żądanie - serwery mają na swoich dyskach zapisane wcześniej dane wizyjne,
•	Rozsyłanie automatyczne,
•	Jednokierunkowe sekwencje "na żywo" do wielu adresatów - mała interakcja,
•	Przesył dwukierunkowy - duża interakcja.

Multimedia w sieci (II)
•	Standardy wideokonferencji:
•	H.320 - standard wąskopasmowy (np. dla ISDN), duża kompresja obrazu na podstawie algorytmów stanowiących integralny element standardu. Pasmo wynikowe : 64 Kb/s
•	H.310 i H.321 - przystosowują H.320 do topologii, takich jak ATM i szerokopasmowe ISDN. Są kompatybilne wstecz.
•	T.120 jest standardem konferencji dokumentowych, umożliwiającym użytkownikom wspólną pracę nad dokumentami podczas dowolnej wideokonferencji H.32x

Multimedia w sieci (III)
•	Voice over IP
•	Telefonia na bazie transmisji z komutacja pakietów
•	stosowanie bramy telefonicznej (phone gateway network) pełniącej rolę serwera online i zestawiającej połączenia także ze zwykła siecią telefoniczną
•	Z zastosowaniem bramky możliwa jest rozmowa nie tylko na linii host-host ale także host-telefon, telefon-host, łącznie z automatycznym wywołaniem
•	Zadowalająca jakość jest uzyskiwana przy przepustowości minimum 8 kbps (bez kompresji)
•	Uzgodnień standaryzacyjnych co do techniki kompresji i parametrów prędkości transmisji
•	Kluczowy problem - opóźnienia w dostawie pakietów strumienia audio 

Standard H.323
•	Stos protokołów H.323, zawierający rozwiązania dotyczące kontroli rozmieszczenia urządzeń, formatowania strumieni komunikacyjnych, bezpieczeństwa itp.
•	Opisuje techniczne wymagania dla usług łączności audio i wideo w czasie rzeczywistym poprzez sieci transmisji pakietowej
•	Zalecenia H.323 definiują kompleksowo architekturę sieci, która umożliwia między innymi realizację połączeń telefonicznych w sieciach pakietowych
•	Standard operuje w warstwie transportowej i wyższych. 

H.323 - elementy architektury (I)
•	Terminal (terminal) - wraz z kodekami jest to system końcowy (telefon internetowy lub odpowiednie oprogramowanie komunikacyjne), który realizuje algorytmy kompresji i dekompresji danych oraz inne funkcje umożliwiające porozumiewanie się użytkowników (np. dialing), 
interfejs IP. 

H.323 - elementy architektury (II)
•	Bramka (gateway) - urządzenie pośredniczące w komunikacji systemów końcowych H.323 z innymi systemami (translacja sygnału analogowego na strumień multimedialny, zarządzanie numerami terminali w bramce). Do bramki podłączone są bezpośrednio np. telefony analogowe.

H.323 - elementy architektury (III)
•	Gatekeeper - serwer sterujący, który zarządza połączeniem, zapewnia translację adresów (numery telefonów na IP lub IPX), autoryzację i zarządzanie szerokością przydzielonego pasma dla danej transmisji. 
•	Mostkek konferencyjny MCU (Multipoint Control Unit) - służący do sterowania transmisją multicast.

H.323 - ważniejsze protokoły (I)
•	H.245 - Protokół kontroli dla komunikacji multimedialnej:
•	Master-Slave Determination - określenie, który terminal ma status Master, a który Slave. 
•	Terminal Capability Set - informacje o zdolności terminala do przetwarzania strumieni multimedialnych. 
•	Keypad Type - typ dialingu (tonowy, alfanumeryczny)
•	Open/Close Logical Channel - sterowanie kanałami dla transmisji multimedialnej
•	Request Mode - typ trasmisji (audio, wideo, szyfrowana itp.)

H.323 - ważniejsze protokoły (II)
•	RAS (Registration, Admission, Status) - obsługa sygnalizacji między gatekeeperem, a innymi elementami systemu. Transmisja RAS odbywa się w trybie bezpołączeniowym:
•	Registration - prośba od terminala albo bramki o rejestrację w gatekeeperze
•	Admission - prośba od terminala do gatekeepera o dostęp do sieci pakietowej
•	Bandwidth - prośba od terminala do gatekeepera o zmianę szerokości przydzielonego pasma
H.323 - ważniejsze protokoły (III)
•	Q.931 Call Signalling - procedury niezbędne do zrealizowania połączenia między stroną inicjującą a stroną docelową:
•	Call Proceeding - zawiadomienie terminala użytkownika o przejściu do fazy zestawiania połączenia
•	Connect - odpowiedź na wezwanie, czyli  "podniesienie słuchawki”
•	Release Complete - zakończenie połączenia, czyli “odłożenie słuchawki”
•	Status Inquiry /Status - pytanie o status rozmowy/odpowiedź

H.323 - popularne kodeki audio/wideo
•	Podstawowe parametry konfiguracji:
•	Czas segmentacji pakietów (ustalany z reguły w milisekundach) (np. G.711)
•	Eliminacja ciszy (Silence Suppression) - wycinanie fragmentów strumienia, gdzie nic nie jest przekazywane (np. G.723.1)
•	Kodeki:
•	Audio:
•	G.711, G.729 , G.723.1 , G.722 , G.728
•	Wideo:
•	H.261, H.263

System poczty elektronicznej
•	Jedna z najważniejszych usług sieciowych
•	System pocztowy dostarczany przez TCP/IP zbudowany jest na bazie kilku protokołów:
•	SMTP - prosty protokół wymiany poczty (Simple Mail Transfer Protocol)
•	POP - protokół pocztowy (Post Office Protocol)
•	IMAP - interaktywny protokół dostępu do poczty ( Interactive Mail Access Protocol) będący następcą POP
•	MIME - protokół wielozadaniowych rozszerzeń poczty internetowej (Multipurpose Internet Mail Extensions)

System poczty elektronicznej - elementy
•	Agent przekazywania wiadomości (Message Transfer Agent, MTA) - służy do wymiany wiadomości, przetwarza i przesyła w obu kierunkach pomiędzy MSA i MUA. Przykład: Sendmail w Unix 
•	Agent wiadomosci użytkownika (Nassage User Agent, MUA) - pozwala użytkownikowi na wysłanie, czytanie i manipulowanie wiadomościami
•	Agent magazynu wiadomości (Message Store Agent, MSA)- nie istnieje standard określający strukturę MSA - implementacje MSA są różne
•	Agent dostarczania wiadomości (Message Delivery Agent, MDA) - odpowiada za dostarczanie wiadomości pocztowych do odpowiednich źródeł. 

System poczty elektronicznej (schemat)
SMTP
•	Protokół umożliwiający dostarczenie poczty elektronicznej w sieci TCP/IP
•	Wykorzystanie do transmisji niezawodnej, połączeniowej usługi protokołu TCP 
•	Port komunikacyjny: 25
•	Komunikacja polega na przesyłaniu prostych poleceń od klienta, na które odpowiada serwer pocztowy
•	Do przesyłania danych zastosowano NVT ASCII (7-bitowy kod znaków, który przesyłany jest w postaci 8-bitowych bajtów z najstarszym bitem ustawionym na 0).  
•	Protokół daje dowolność w dołączaniu porządkowych nagłówków wiadomości - na różnych poziomach przekazu przez MTA

SMTP - format wiadomości
•	Wiadomość zawiera trzy części:
•	Koperta – używana jest przez MTA w celu dostarczenia wiadomości. Zawiera przede wszystkim adres nadawcy i odbiorcy
•	Nagłówki – używane są przez agentów użytkownika. Każde z pól nagłówka zawiera w kolejności: nazwę, dwukropek, wartość pola. Format i sposób interpretacji pól nagłówka określony jest w standardowej specyfikacji RFC 822. Nagłówki rozpoczynające się od znaku X są polami zdefiniowanymi przez użytkownika, pozostałe definiuje RFC 822.
•	Zawartość – jest tym co nadawca chce przekazać adresatowi -tekst w formacie NVT ASCII
SMTP - lista podstawowych komend

•	Polecenie	Składnia		Funkcja	:
•	Hello	HELLO <host-nadawcy>	Identyfikacja hosta nadającego 
•	From	MAIL FROM:<adres-nadawcy>	Adres nadawcy	
•	Recipient	RCPT TO:<adres-odbiorcy>	Adres odbiorcy	
•	Data	DATA		Początek wiadomości	
•	Reset	RSET		Anulowanie wiadomości	
•	Verify	VRFY <łańcuch-znaków>	Weryfikacja nazwy użytkownika
•	Noop	NOOP 		Zmusza serwer do przesłania OK.	
•	QUIT	QUIT		Zakończenie sesji SMTP	

SMTP - przykład (I)
•	SMTP jest prostym protokołem umożliwiającym przesyłanie wiadomości bez żadnych programów pocztowych. Wystarczy połączyć się telnetem z portem 25 systemu odbiorcy i wpisać list za pomocą komend SMTP.
•	Przykład listu wysłanego przez użytkownika mitu z hosta ernie.icslab.agh.edu.pl do mitu2 na host plus.agh.edu.pl  (I - połączenie):

•	mitu@plus:~ (22) > telnet ernie 25
•	Trying 149.156.127.5...
•	Connected to ernie.
•	Escape character is '^]'.
•	220 ernie.icslab.agh.edu.pl ESMTP Sendmail 8.8.7/8.8.5/ts-tmpl.970124+rchk1.22; Sat, 21 Apr 2001 15:08:25 +0200 (MET DST)
•	hello ernie
•	250 ernie.icslab.agh.edu.pl Hello mitu@plus.agh.edu.pl [149.156.127.16], pleased to meet you

SMTP - przykład (II)
•	Przykład wysyłania listu - ciąg dalszy (II)

•	mail from:< mitu@ernie.icslab.agh.edu.pl>
•	250 < mitu@ernie.icslab.agh.edu.pl >... Sender ok
•	rcpt to:< mitu2@plus.agh.edu.pl >
•	250 < mitu2@plus.agh.edu.pl >... Recipient ok
•	data
•	354 Enter mail, end with "." on a line by itself
•	test
•	.
•	250 PAA24739 Message accepted for delivery
•	quit
•	221 ernie.icslab.agh.edu.pl closing connection
•	Connection closed by foreign host.
•	mitu@plus:~ (23) >

SMTP - rozszerzenie MIME
•	MIME dodaje kilka nowe nagłówki wiadomości (zgodnie z zaleceniami RFC 822) i wymaga aby agenci użytkownika obsługiwali MIME. MIME nie wymaga wprowadzania  żadnych zmian do MTA
•	Nowe nagłówki:
•	Content-Transfer-Encoding – sposób kodowania zawartości
•	Content-Type – definiuje typ danych wiadomości:
–	Text	
–	Multipart	
–	Message	
–	Application	
–	Image	
–	Audio	
–	Video	

Sendmail - najbardziej znany serwer pocztowy
•	Unifikacja programów obsługi i protokołów pocztowych
•	Funkcjonalność:
•	Przesyłanie poczty pomiędzy różnymi programami pocztowymi  w systemie unixowym
•	Odbieranie i wysyłanie wiadomości przez SMTP
•	Utrzymywanie obowiązujących w całym systemie aliasów, co pozwala na tworzenie list adresowych
•	Sendmail’a należy uruchomić jako demona. Będzie on nasłuchiwał na porcie TCP 25 i przetwarzał przychodzące listy

POP
•	Protokół pozwala na przesyłanie poczty od serwera pocztowego do lokalnego programu pocztowego użytkownika (tzw. “pobieranie poczty”)
•	Weryfikacja nazwy użytkownika i jego hasła
•	Protokół rozwinięto do wersji POP2, POP3 (obecna)
•	POP2 używa portu TCP/109, a POP3 TCP/110
•	Podobnie jak i w przypadku SMTP polecenia protokołu POP można zapisywać do odpowiedniego portu TCP nawiązując wcześniej z połączenie za pomocą telnet’a

POP3 - lista podstawowych komend
•	USER nazwa-uzytkownika		Nazwa konta użytkownika	
•	PASS hasło			Hasło użytkownika	
•	STAT		Wyświetla liczbę nieodebranych wiadomości i ich objętość w bajtach
•	RETR n	Odbiera wiadomość o numerze n	
•	DELE n	Usuwa wiadomość o numerze n	
•	LAST		Wyświetla numer wiadomości na której ostatnio wykonano polecenie
•	LIST  [n]	Wyświetla objętość wszystkich wiadomości lub n 	
•	TOP n l	Wyświetla nagłówki I l pierwszych linii wiadomości n	
•	NOOP	Nic nie rób	
•	QUIT		Kończy sesję POP3	

POP3 - przykład
•	telnet galaxy.uci.agh.edu.pl 110 
•	Trying 149.156.96.9.110...
•	Connected to galaxy.uci.agh.edu.pl.
•	Escape character is '^]'.
•	+OK QPOP (version 3.0.2) at galaxy starting.  
•	user mitu
•	+OK Password required for mitu.
•	pass mojehaslo:)
•	+OK mitu has 23 visible messages (0 hidden) in 57094 octets.
•	stat
•	+OK 23 57094
•	list
•	+OK 23 visible messages (57094 octets)
•	1 2482
•	2 2430
•	.
•	retr 2
•	+OK 2430 octets
•	<... TU ZOSTANĄ WYŚWIETLONE SZCZEGÓŁY WIADOMOŚCI.

IMAP
•	Jest odpowiednikiem protokołu POP z rozbudowaną funkcjonalnością
•	Pozwala na synchronizację skrzynki pocztowej
•	Możliwość manipulowania pojedynczymi wiadomościami zarówno w systemie serwera, jak i w systemie klienta. Zmiany dokonane w jednym z tych systemów zostaną uwzględnione w skrzynkach pocztowych obydwu
•	IMAP wykorzystuje port TCP 143
•	Protokół rozwinięto do wersji IMAP2, IMAP3, IMAP4 (obecna)
•	W systemie UNIX - demon imapd - obsługuje serwer pocztowy z użyciem IMAP

Procmail
•	Systemem lokalnego przetwarzania poczty elektronicznej, główne przychodzącej
•	Wywoływany bezpośrednio przez mailer systemowy
•	Według reguł przetwarzania  zawartych  w  tych  plikach konfiguracyjnych Procmail kieruje wiadomość do odpowiedniej skrzynki, likwiduje ją, modyfikuje lub przekazuje dalej
•	Przykład zastosowania - plik .procmailrc z treścią usuwającą wiadomości przychodzące od someone.i.dont.like@somewhere.org 
	
	:0 
	*^From.*someone.i.dont.like@somewhere.org 
	/dev/null 

HTTP
•	HTTP - Hypertext Transfer Protocol - protokół transportowy, oparty o tryb zapytanie - odpowiedź
•	request - zapytanie HTTP, prosty przykład: 
•	GET Request-URL CRLF
•	response - odpowiedź serwera, kodowana zgodnie z protokołem HTTP
•	URL - Uniform Resource Locator - podstawowy adres HTTP, wskazujący zasoby jakie mają być udostępnione daną metodą
•	Standardowy port TCP/IP dla usług na bazie HTTP - 80

HTTP a WWW
•	Technika odtworzenia dokumentu WWW u klienta:
•	Klient kontaktuje się z serwerem wysyłając zapytanie z danym URL
•	Serwer wysyła dokument główny (np. w HTML)
•	Klient parsuje dokument zawierający linki do składowych dokumentu (grafika, dźwięk, obiekty osadzone, obikty w ramkach itp.). Następnie wysyła żądanie HTTp o każdy z tych elementów. Buduje dokument docelowy (np. graficznie) otrzymując jego składniki w toku indywidualnych połączeń HTTP. Dokument może być wyświetlany na bieżąco (gdy jest jeszcze niekompletny) lub po dopiero zakończeniu pobierania elemetnów.

HTTP - przykład (I)
•	Wysłano zapytanie: http://www.agh.edu.pl/user.php?ID=Michał
•	Zapytanie wysyłane przez klienta:   
•	GET /user.php?ID=Michał HTTP/1.1
•	Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash
•	Accept-Language: pl
•	Accept-Encoding: gzip
•	User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
•	Host: www.agh.edu.pl

HTTP - przykład (II)
•	Odpowiedź serwera:
•	HTTP/1.1 200 OK
•	Date: Thu, 01 Apr 2004 17:50:28 GMT
•	Server: Apache/1.3.29 (Unix) mod_ssl/2.8.16 OpenSSL/0.9.7a
•	Last-Modified: Wed, 31 Mar 2004 10:26:47 GMT
•	ETag: "48d5-c07-406a9ce7"
•	Accept-Ranges: bytes
•	Content-Length: 3079
•	Keep-Alive: timeout=15, max=100
•	Content-Type: text/html
•	CRLF CRLF
•	Dane - właściwy dokument HTTP

HTTP - metoda GET i POST
•	POST  - parametry (nazwy zmiennych, wartości) są wysyłane jako część nagłówka HTTP (definiowane w kolejnych liniach nagłówka jako niezależne dane). Stosowana w bardziej złożonych przypadkach, gdzie przekazujemy dużą ilość danych. Szczególnie istotne zastosowanie - upload plików na serwer HTTP.
•	GET  - nazwy zmiennych i ich wartości są doklejane do URL. Przykład:
http://x.pl/plik.php?zmienna1=wartosc1&zmienna2=wartosc2
Ograniczeniem tej metody jest długość adresu, zależna np. od typu przeglądarki. Całość przesyłanej z klienta informacji jest jawnie prezentowana użytkownikowi (w linii zapytania).. Możliwa jest edycja zapytania (parametry), przechowywanie kompletnego zapytania (bookmarks).
•	HEAD - analogiczna do GET, z tą różnicą że jest wymagany tylko nagłówek domumentu w odpowiedzi

HTTP - interfejs CGI
•	CGI (Common Gateway Interface) -standard interfejsu służącego wymianie informacji między serwerami WWW a zewnętrznymi programami klientów,
•	Na podstawie URL serwer uruchamia zewnętrzny program i przekazuje do niego parametry (zmienne środowiskowe) otrzymane z przeglądarki użytkownika,
•	Program realizuje zlecone operacje,
•	Wyjście z programu jest wysyłane bezpośrednio do klienta,
•	Konieczność ręcznego pobierania parametrów z linii zapytania URL,
•	Konieczność konwersji wartość parametrów dla przywrócenia w nich znaków zabronionych w URL.
Aplikacje internetowe - przegląd technologii
•	CGI - Common Gateway Interface, dowolny język, większość serwerów
•	PHP - Personal Hypertext Processor, język PHP3, PHP4, serwer Apache
•	ASP - Active Server Pages, języki VBScript, Jscript, serwer IIS (Internet Information Services)
•	.NET - języki C#, VBScript, Jscript i inne (platforma Microsoft .NET)
•	JSP - Java Server Pages, język Java,serwer Jakarta Tomcat

WAP
•	WAP - Wireless Application Protocol - protokół obsługi aplikacji internetowych uruchamianych na urządzeniach przenośnych,
•	Protokół technologicznie analogiczny do HTTP - technika klient-server (serwer stron WAP, klient WAP)
•	Nowy język opisu strony: WML (Wireless Markup Language), wzorowany na HTML,
•	Sprzętowe mikroprzeglądarki w urządzeniach klientów - dokumenty podzielone na buforowane “karty”
•	Dostosowanie do niewielkich transferów do urządzeń przenośnych - w przypadku telefonów komórkowych 9600 Kbps
•	Przesył niewielkich pakietów informacji prezentowanych opisem języka - w prostej oprawie graficznej

FTP (I)
•	FTP (File Transfer Protocol) - protokół transmisji plików
•	dwukierunkowy przesył plików zarówno tekstowych jak i binarnych
•	funkcjonalność w zakresie transferu informacji o plikach, zarządzania plikami i katalogami
•	połączenie na bazie TCP, typowy port połączenia kontrolnego: 21
•	Dwa połączenia: kontrolne i służące do przekazywania informacji o plikach (oraz samych plików) połączenie danych
•	Interakcyjny użytkownik wywołuje proces-klienta protokołu FTP w swoim systemie lokalnym, za jego pośrednictwem łączy się z serwerem na zdalnej maszynie

FTP (II)
•	Tryb tekstowy i binarny transmisji danych
•	Timeout dla połączenia FTP
•	Tryb pasywny i aktywny klienta. W trybie aktywnym klienta serwer po otrzymaniu żądania przesyłu danych przesyła je na gniazdo utworzone przez klienta (o numerze portu jest informowany protokołem). W trybie pasywnym - serwer sam zakłada gniazdo, a łączy się na nie klient. 
•	Anonimowe ftp - umożliwienie zalogowania się użytkownika standardowego o nazwie  anonymous i korzystanie z udostępnionych publicznych zasobów w ramach obowiązujących praw dostępu dla takich użytkowników

Klient FTP
•	Klasyczny interfejs tekstowy (tryb intearkcyjny) lub klient graficzny 
•	Praca w trybie sesji - otwarcie połączenia, realizacja komend, zamknięcie połączenia)
•	Komunikacja interakcyjna również na linii klient - serwer. Klient wysyła komunikat i czeka na stosowną odpowiedź (zgodnie z protokołem FTP)

Polecenia klienta FTP (I)
•	Otwarcie połączenia ftp nazwa-systemu-zdalnego, lub po uruchomieniu klienta: open nazwa-systemu-zdalnego
•	close lub disconnect - zamknięcie połączenia
•	bye lub quit - zakończenie proqramu klienta
•	ascii - ustawienie trybu transferu plików na znakowy
•	bin(ary) - ustawienie trybu transferu plików na binarny
•	prompt [on|off] - (wy)łączenie trybu potwierdzania interaktywnego operacji

Polecenia klienta FTP (II)
•	Operacje na katalogach:
•	cd. katalog-zdalny - zmiana katalogu
•	cdup - przejście w górę drzewa katalogów	
•	pwd - podaje nazwę bieżącego katalogu	
•	lcd katalog-lokalny  - tak jak cd. dla katalogów lokalnych	
•	ls [katalog-lokalny] - wyświetla zawartość katalogu-lokalnego, można podać argument, domyślnie katalog bieżący	

•	Ponieważ w programie klienta można operować zarówno na systemie plików lokalnym jak i zdalnym wprowadzono operator (‘!’), który postawiony jako przedrostek przed większością komend powoduje, że komenda ta dotyczy systemu lokalnego zamiast zdalnego

Polecenia klienta FTP (III)
•	get plik-zdalny [plik-lokalny]	pobiera plik zdalny i zapisuje na lokalnej maszynie w bieżącym katalogu pod nazwą plik-lokalny (gdy nie ma parametru to nie zmienia nazwy),	
•	put plik-lokalny [plik-zdalny]	to samo w drugą stronę,	
•	mget pliki-zdalne - działa na grupie plików określonych za pomocą wzorca metaznakowego (znaków specjalnych: *, ?, [a-d]
•	mput pliki-lokalne - działa na grupie plików określonych za pomocą wzorca metaznakowego (znaków specjalnych: *, ?, [a-d]	

Automatyzacja czynności klienta FTP 
•	Plik .netrc znajdujący się w katalogu użytkownika może zawierać makra dotyczące czynności jakie należy wykonać na systemie zdalnym
•	Identyfikacja zestawu czynności - poprzez nazwę hosta zdalnego i makra
•	Komendy 
•	machine nazwa_komputera	określa nazwę odległej maszyny	
•	login nazwa_użytkownika	nazwa użytkownika na tej maszynie	
•	password hasło		hasło	
•	macdef nazwa		makrodefinicja; jeśli nazwa ma wartość ‘init’  to wykonywa jest ona automatycznie.	

Automatyzacja czynności klienta FTP - przykład
•	Treść .netrc:
•	machine deathstar.ia.agh.edu.pl
•	login mitu
•	password moje_haslo
•	macdef init
•	cd archiwum
•	bin
•	get arch_report
•	quit
•	Sposób użycie tej definicji:
•	mitu@galaxy:~ (124) ftp deathstar.ia.agh.edu.pl

Protokół FTP - przykład (I)
•	connecting to 149.156.96.9 ...
•	Connected to 149.156.96.9 port 21
•	220 AGH ftp server galaxy.uci.agh.edu.pl
•	USER mitu
•	331 Password required for mitu.
•	PASS (hidden)
•	230 User mitu logged in.
•	PWD
•	257 "/home/iagrp/mitu" is current directory.
•	SYST
•	215 UNIX Type: L8
•	Host type (S): UNIX (standard)
•	PORT 128,0,0,3,8,105
•	200 PORT command successful
•	LIST 
•	150 Opening ASCII mode data connection for file list
•	Received 3981 bytes in 0.4 secs, (9.26 KBps), transfer succeeded
•	226 Transfer complete.

Protokół FTP - przykład (II)
•	receiving czynniki.zip as czynniki.zip (1 of 1)
•	TYPE I
•	200 Type set to I
•	PORT 128,0,0,3,8,110
•	200 PORT command successful
•	RETR czynniki.zip
•	150 Opening BINARY mode data connection for czynniki.zip (26451 bytes)
•	Received 26451 bytes in 0.8 secs, (33.94 KBps), transfer succeeded
•	226 Transfer complete.

Usługi sieciowe w modelu Peer to Peer
•	Model tzw. sieci partnerskich (Peer to Peer Network)
•	Sieć typu “każdy z każdym” - wszystkie uczestniczące w sieci komputery mają podobny stopień kontroli nad zasobami
•	Współdzielenie np. przestrzeni dyskowej i drukarek, czasu procesora
•	Zastosowanie dla małych grup roboczych (sieci odizolowane), przeznaczonych do realizacji spójnych zadań
•	Przykłady: Microsoft Windows for Workgroups, IBM LAN Server, Artisoft LANtastic, Novell Personal NetWare)

Usługi sieciowe w modelu Mailslots
•	MSFS (Mailslot File System),
•	Jednokierunkowy transfer danych (do adresata)
•	Adresacja hierarchiczna, dostęp przez nazwę:
•	\\DomainName\mailslot\[path]name
•	Każdy mailslot posiada właściciela (proces odbierający)
•	Dwie klasy mailslotów:
•	Pierwsza - zorientowana połączeniowo, transfer danych dla w trybie jeden-do-jeden, lub jeden-do-wielu,
•	Druga - oparta na datagramach, transfer niegwarantowany, tryb jeden-do-jeden, lub jeden-do-wielu

Usługi sieciowe z użyciem Named Pipes
•	NPFS (Named Pipe File System),
•	Pipe jest sekcją dzielonej pamięci, używanej przez proces do komunikacji,
•	Adresacja hierarchiczna, dostęp przez nazwę:
•	\\ServerName\pipe\PipeName
•	Dostępne połączenie: jeden-do-jeden,
•	Pipe server - proces, który tworzy potok, pipe client - łączy się z gotowym potokiem,
•	Serwer potoku nie może tworzyć potoku na innym komputerze, jednak klient może może komunikować się zdalnie,
•	Potoki anonimowe (nienazwane) - nie są przewiązane z procesem tworzącym.

Usługi sieciowe w modelu Client-Server
•	Model podstawowy: dwie stacje, jedna świadczy usługi, druga korzysta z usług
•	Zalety i wady:
•	łatwa realizacja i przejście z systemu rozproszonego
•	obciążenie zadaniami, pochodzące od oprogramowania aplikacyjnego, rozłożone jest na wiele maszyn
•	mały ruch w sieci, gdyż serwer przekazuje klientowi jedynie żądaną informację 
•	dane zgromadzone w jednym miejscu - łatwość kontroli nad danymi systemu
•	łatwość stosowania mechanizmów monitorowania i kontroli dostępu
•	problemy z kolizjami przy edycji wspólnych danych

Client-Server - przykład kodu serwera (Java)
•	ServerSocket socket;
•	Socket klient;    
•	BufferedReader net_in;
•	PrintWriter net_out;
•	try {	
•	  socket = new ServerSocket (2222);
•	  while (true) {	
•	     klient = socket.accept ();
•	     net_in = new BufferedReader (new InputStreamReader(klient.getInputStream()));
•	     net_out = new PrintWriter (new OutputStreamWriter(klient.getOutputStream()));
•	     String s =  net_in.readLine ();
•	     net_out.println (”Przyslales: " + s);
•	     net_out.flush ();
•	     net_in.close ();
•	     net_out.close ();
•	  }// while
•	} catch (IOException e) {}

Client-Server - przykład 
kodu klienta (Java)
•	Socket klient;    
•	BufferedReader net_in;
•	PrintWriter net_out;
•	try {	
•	   socket = new Socket (“200.200.200.200”, 2222);
•	   net_in = new BufferedReader (new InputStreamReader(socket.getInputStream ()));
•	   net_out = new PrintWriter (new OutputStreamWriter(socket.getOutputStream()),true);
•	   net_out.println (“Test...”);
•	   net_out.flush ();
•	   String s = net_in.readLine();
•	   System.out.println (“Odebrana odpowiedz: “ + s);
•	   net_in.close ();
•	   net_out.close ();
•	   socket.close ();
•	} catch (IOException e) {}

Bezpieczeństwo w sieciach komputerowych.
•	Wybrane zagadnienia:
•	Pojęcia podstawowe
•	Problem anonimowości zdalnego użytkownika
•	Techniki autoryzacji
•	Wybrane protokoły i narzędzia wspomagające bezpieczną komunikację w sieci
Kryptografia
•	Kryptografia - gałąź wiedzy i badań zajmująca się utajnionym zapisywaniem,
•	Szyfrowanie, kodowanie - proces przekształcania tekstu jawnego w tekst zaszyfrowany,
•	Rozszyfrowanie, dekodowanie - proces odwrotny
•	Tekst jawny i kryptogram  są podzielone na jednostki tekstu (pojedyncza litera , para liter (digram), trójka liter (trigram),blok składający się N liter)
•	Dwa podstawowe rodzaje szyfrów: przestawieniowe i podstawieniowe
•	Technika: ogólny algorytm szyfrowania E, ogólny algorytm deszyfrowania D i tajny klucz (lub klucze)

Kryptoanaliza
•	Kryptoanaliza - dziedzina wiedzy i badań zajmująca się metodami przełamywania szyfrów. 
•	Szyfr przełamywalny - szyfr przy którym jest możliwość odtworzenia tekstu jawnego bądź klucza na podstawie tekstu zaszyfrowanego, ewentualnie określenia klucza na podstawie znajomości tekstów jawnego i zaszyfrowanego. 
•	Kryptologia - obejmuje zarówno kryptografię, jak i kryptoanalizę.

Poufność, autentyczność, rodzaje kryptosystemów
•	Warunki konieczne, spełniane przez system szyfrowania:
•	Poufność - nie jest obliczeniowo możliwe ustalenie choćby fragmentu wiadomości na podstawie szyfru
•	Autentyczność - nie jest możliwa niewykrywalna zmiana zaszyfrowanej  informacji na jej drodze do uprawnionego odbiorcy
•	Kryptosystemy dzielimy na:
•	symetryczne - jednakowe klucze szyfrowania i deszyfrowania
•	asymetryczne - para kluczy (najczęściej prywatny i publiczny)
•	hybrydowe - mieszanie w/w technik

Szyfrowanie hybrydowe - przykład sesji
•	W sposób asymetryczny - wymiana klucza - tzw. klucza sesyjnego
•	W sposób symetryczny - szyfrowanie właściwych danych wspólnym (wymienionym) kluczem 
•	Sesja wymiany informacji:
•	Strona inicjująca komunikację generuje losowo klucz sesyjny, 
•	Strona inicjująca szyfruje treść klucza za pomocą publicznego klucza odbiorcy
•	Odbiorca odszyfrowyje klucz sesyjny swoim kluczem prywatnym i informuje nadawcę o gotowości do przesyłu danych. Analogicznie w przeciwnym kierunku. Dalsza interakcja stron odbywa się na zasadzie algorytmu symetrycznego. 

Popularne szyfry - 
Szyfr DES
•	DES - Data Encryption Standard
•	Bazuje na algorytmie DES (podstawiania i permutacji)
•	Szyfrowane są 64 bitowe porcje informacji. Klucz ma 56 bitów. Klucz jest symetryczny
•	Algorytm:
•	Zamiana kolejności bitów w sekwencji szyfrującej - na podstawie klucza
•	Szesnastokrotne wykonanie kodowanej kluczem funkcji, która dokonuje podstawień bitów i następnie zamienia miejscami połową starszą i młodszą danych szyfrowanych
•	3DES, DESX - wersje ulepszone DES - zwiększona długość klucza, wielokrotne szyfrowanie wariantami klucza itp.

Popularne szyfry -
Szyfr IDEA
•	IDEA - International Data Encryption Algorithm
•	Pierwsze opracowanie - rok 1990,
•	Szyfrowanie 64-bitowych bloków tekstu jawnego,
•	Klucz 128 bitowy, symetryczny
•	Polega na naprzemiennym mnożeniu modulo 2 przez bajty klucza oraz dodawaniu i mnożeniu modulo różnych bajtów z szyfrowanego bloku,
•	Kolejność tych operacji gwarantuje brak utraty informacji i możliwość przeprowadzenia procedury odwrotnej, dającej na podstawie kryptogramu tekst pierwotny.

Popularne szyfry -
Szyfr AES
•	AES - Advanced Encryption Standard
•	Popularność zyskał w 1997 r, kiedy wygrał otwarty konkurs
•	Klucz 128,192 lub 256 bitowy, Symetryczny
•	Operuje on na blokach danych o długości 128 bitów
•	Procedura szyfrowania wykonuje 10 rund szyfrujących, składających się z substytucji wstępnej (podmiana wg klucza), permutacji macierzowej (mieszanie wierszy, mieszanie kolumn bloku danych) i modyfikacji za pomocą klucza zadanych wybraną kluczem funkcją

Popularne szyfry -
Szyfr Blowfish
•	Szyfrowanie 64-bitowych bloków tekstu jawnego,
•	Wielkość klucza - od 32 do 448 bitów,
•	Technika S-BOX (Substitution Box), której namiastka wykorzystywana  była też w DES. Polega na podstawieniu ciągu bitów innym, w zależności od bitów: poprzedzającego i następującego
•	Algorytm wykonuje 16 rund podstawiania S-BOX

Algorytm RSA
•	Algorytm z kluczem asymetrycznym:
•	Generowanie pary kluczy (klucza publicznego KE, klucza prywatnego KD),
•	Szyfrowanie wiadomości M przy pomocy klucza publicznego KE,
•	Deszyfrowanie kryptogramu C przy pomocy klucza prywatnego KD.
•	Klucze to pary liczb (e,n) oraz (d,n), takie że e i d są powiązane, umożliwiając:
•	Zaszyfrowanie: szyfr = dane e mod n
•	Odtworzenie: dane = szyfr d mod n
•	Upublicznienie e i n przy jednoczesnym braku możliwości odtworzenia d na ich podstawie

Sposoby potwierdzania tożsamości
•	Logowanie - proces prowadzący do uwierzytelnienia użytkownika poprzez system operacyjny
•	Uwierzytelnienie (sprawdzenie tożsamości) następuje poprzez:
•	Hasła
•	Karty magnetyczne
•	Karty procesorowe
•	Systemy biometryczne
•	Tokeny sprzętowe i programowe

SSL (I)
•	SSL - Secure Socket Layer
•	Opracowany przez firmę Netscape - pierwotnie na potrzeby zabezpieczania WWW
•	Zapewnia bezpieczeństwo komunikacji w trzech aspektach:
•	Uwierzytelnienie - zdolność do weryfikowania tożsamości zarówno serwera i klienta,
•	Poufność -  zdolność do szyfrowania przesyłanych informacji,
•	Integralność - zapewnienie, że odbierane dane nie zostały po drodze zmienione.

SSL (II)
•	SSL funkcjonuje w warstwie transportowej, więc może wspomagać protokoły warstw wyższych
•	3 wersje - ewoluujące pod kątem zabezpieczeń (SSL1, SSL2, SSL3 (obecna, znana też jako TLS - Transport Layer Security)
•	Podstawowe zasady działania:
•	Każda ze stron generuje parę kluczy (publiczny+prywatny)
•	Każda ze stron publikuje swój klucz publiczny w sieci (jest on dostępny dla wszystkich) 
•	Jeżeli A chce przesłać wiadomość do B to szyfruje ją kluczem publicznym B. Z własności algorytmu wynika, że tylko używając klucza prywatnego B można ją odtworzyć 
(typowy schemat wymiany danych).

SSL (III)
•	Przy identyfikacji stron SSL opiera się na tzw. certyfikatach standardu X.509
•	Certyfikat to podpisany cyfrowo pakiet weryfikujący (np. dokument, stronę komunikacji itp.). Podpis (w praktyce będący szyfrem autoryzującym) jest jest dokonywany przez stronę trzecią, którą jest obdarzona zaufaniem (Certificate Authority)
•	Komercyjne wykorzystanie certyfikatów X.509 - generatory zamówień certyfikatów, instytucje uwierzytelniające, wzajemność uwierzytelnień (instytucje uwierzytelniające też są uwierzytelniane)

X.509 - 
przykład certyfikatu (I)
•	Użyte (poglądowo) narzędzie: OpenSSL
•	Procedura tworzenia certyfikatu:
•	Przygotowanie klucza prywatnego (strony uwierzytelnianej) - klucz jest używany do generowania certyfikatu, i obsługi późniejszych transmisji szyfrowanych
•	Przygotowanie zamówienia certyfikatu (z danymi strony uwierzytelnianej)
•	Wygenerowanie certyfikatu (w CA - Certificate Authority) Instalacja certyfikatu i klucza prywatnego (zależnie od rodzaju  oprogramowania korzystającego z bezpiecznego kanału)

X.509 - 
przykład certyfikatu (I)
•	Pierwszy krok - wytworzenie klucza prywatnego i zamówienia
•	openssl req -config openssl.cnf 
 	-new -out serwer1.csr
•	-----BEGIN CERTIFICATE REQUEST-----
•	MIIB3jCCAUcCAQAwgYYxCzAJBgNVBAYTAnBsMRMwEQYDVQQIEwptYWxvcG9sc2th
•	MQ8wDQYDVQQHEwZjcmFjb3cxDTALBgNVBAoTBG1pdHUxCzAJBgNVBAsTAm5hMRUw
•	EwYDVQQDEwxNaWNoYWwgVHVyZWsxHjAcBgkqhkiG9w0BCQEWD21pdHVAYWdoLmVk
•	dS5wbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6Kc+qyeYbrfhY9+2u7JM
•	8j/tX0uLyQir1tui2uV6PB3S7c3SEMCaq+SCZ/xoptau2Plyg8I8mVOD0aqcjLDz
•	1tXO8X5gDcTCitKS+V8JvMwu8zw8aZsbvZ9vWDvoBO0yO9ZPzus5otlHupfgGSL/
•	XbA5lGlKau/zbRu4piRhMvcCAwEAAaAXMBUGCSqGSIb3DQEJBzEIEwYxMjM0NTYw
•	DQYJKoZIhvcNAQEFBQADgYEAQqJs/wHkZDKljjEht3ans/UvMNVPvAyg9yFjpH3H
•	r0SaJd7fm/tzTokTsp4r09fIp3pRteqZtSNrEs5M2+hQSlAe+IV7f4ummHkBhDii
•	8jrTV/IVcmzcFfXJM6ubMRu0OREcREPBehT5cGbRj/5gGPni7dfgO4jSEvhz4Pbr
•	jFQ=
•	-----END CERTIFICATE REQUEST-----

X.509 - 
przykład certyfikatu (II)
•	Dane identyfikacyjne do zamówienia:

•	Loading 'screen' into random state - done
•	Generating a 1024 bit RSA private key
•	writing new private key to 'privkey.pem'
•	Enter PEM pass phrase:
•	Verifying - Enter PEM pass phrase:
•	Country Name (2 letter code) [AU]:pl
•	State or Province Name (full name) [Some-State]:malopolska
•	Locality Name (eg, city) []:cracow
•	Organization Name (eg, company) [Internet Widgits Pty Ltd]:mitu
•	Organizational Unit Name (eg, section) []:na
•	Common Name (eg, YOUR name) []:Michal Turek
•	Email Address []:mitu@agh.edu.pl
•	A challenge password []:123456
•	An optional company name []:

OpenSSL - tworzenie certyfikatu (III)
•	Po wytworzeniu zamówienia otrzymujemy dwa pliki: .crt (zamówienie) oraz .pem (klucz prywatny). Dodatkowo wygenerowany zostanie plik “.rnd” z sekwencją losową, która razem z podanym “Pass-Phase” służyła do wygenerowania klucza. Należy go usunąć. 
•	“Pass-Phase” jest dodana do pliku klucza prywatnego. Można ją usunąć (nie będzie potrzebna) komendą:
openssl rsa -in privkey.pem -out serwer1.key
•	W pliku serwer1.key znajduje się gotowy klucz prywatny dla serwera 

OpenSSL - tworzenie certyfikatu (IV)
•	Na podstawie zamówienia zostanie przygotowany podpisany kluczem prywatnym certyfikat. Treść klucza prywatnego musi być przechowywana w ścisłej tajemnicy.

-----BEGIN RSA PRIVATE KEY-----
•	MIICXAIBAAKBgQDopz6rJ5hut+Fj37a7skzyP+1fS4vJCKvW26La5Xo8HdLtzdIQ
•	wJqr5IJn/Gim1q7Y+XKDwjyZU4PRqpyMsPPW1c7xfmANxMKK0pL5Xwm8zC7zPDxp
•	mxu9n29YO+gE7TI71k/O6zmi2Ue6l+AZIv9dsDmUaUpq7/NtG7imJGEy9wIDAQAB
•	AoGAI3BudGXoq1zpQWxvinHjlLc2MmDwnyPqASWdzhhMoWGtornKePDN3sdFMg/Z
•	5SgopDaDQhzRXE3Dc6m4hRnjWpkDxDaoQ50XjVIVEJdmllVvqSeGP6I71tTm20W2
•	0GHD21Ei0cIXg62NtjSQjrT3Y5TsLD6JxSdw9DiIOUQIbuECQQD4ySGTa+BmPfGb
•	8xEVqHP9eCCX5zbPYvYvJy7ShllFs0/cbju2KBptdv/dYm9uouuohcRMDsXw3aLL
•	DfGJWJ6nAkEA72Zavch/zeJDkrn+yi7mzAwfuMk7TA5Me/UstH1JRUZTAyKPAQfY
•	c/xUZ0iS3kky3KcxKC6z0CEBVXNlvrYjMQJAFHIjKkRxWrW4h4KAYvFHJwuaUiGU
•	ZZLSfKmRtYeJCqtj4s/EZIIDOf/Po1gVpFgLWfw0V7PXHKZ6XIm20fzQfQJAbXhQ
•	ZhgY2PxuCdojODDaONQSbV0XUF/5eXVTS/U+W/8cVoKnAcGkqOTpc5EsF5lBOMT7
•	JXS1pKZzBbAPBnYjAQJBAOBL96jggEITS6mLescMVF+TSMkYZzEIyfkvbG5C1wOp
•	Ah0h//H85o0tgpDpFqtXJqndzZjGBGE91SM05nCB1m0=
•	-----END RSA PRIVATE KEY-----

OpenSSL - tworzenie certyfikatu (V)
•	Możliwe jest własnoręczne (tymczasowe) utworzenie certyfikatu na podstawie zamówienia i klucza -  jednak przez nikogo nie uwiarygodnionego:
openssl x509 -in serwer1.csr 
-out serwer1.cert -req -signkey serwer1.key -days 365
•	Oraz jego odpowiednika dla IE (format binarny DER):
openssl x509 -in serwer1.cert -out serwer1.der.crt -outform DER

HTTPS
•	Szyfrowany odpowiednik HTTP, działający nad SSL
•	Standardowy port TCP - 443
SSH (I)
•	Alternatywa dla TELNET lecz z dalszą, rozbudowaną funkcjonalnością (np. tunele)
•	Połączenie szyfrowane klient-server - w technice emulacji terminala
•	Każdy klient i serwer posiadają swoją parę kluczy -  prywatny i publiczny. Klucz publiczny dostępny jest dla wszystkich użytkowników sieci
•	Para kluczy umożliwia zaszyfrowanie informacji kluczem publicznym i odszyfrowanie jej wyłącznie kluczem prywatnym, ale również zaszyfrowanie kluczem prywatnym i odszyfrowanie wyłącznie kluczem publicznym.

SSH (II)
•	Procedura nawiązywania sesji:
•	Klient pobiera klucz publiczny serwera, sprawdza uwierzytelnienie serwera - jeśli znajdzie w swojej bazie inny klucz tego serwera (tzw. fingerprint) - rozłącza się,
•	Klient generuje losową liczbę 256 bitową - klucz sesji,
•	Klient liczbę tę szyfruje przy pomocy swojego klucza prywatnego i następnie przy pomocy klucza publicznego serwera i tak zakodowaną przesyła do serwera,
•	Serwer przy pomocy swojego klucza prywatnego i klucza publicznego klienta rozkodowuje wylosowaną liczbę, która stanowi klucz kodowy w dalszej szyfrowanej komunikacji.

Wirtualne Sieci Prywatne (I)
•	VPN - Virtual Private Network
•	Tunele VPN w strefie publicznej pomiędzy bramkami do podsieci prywatnych
•	Dwa protokoły transmisji:
•	PPTP (Point-to-Point Tunneling Protocol) - działa w trybie klient - serwer, stosowany do podłączenia zdalnego użytkownika do sieci LAN
•	L2TP (Layer2 Tunneling Protocol) - tworzenie tuneli komunikacyjnych pomiędzy sieciami LAN

IPSec
•	Technika tunelowania w obrębie sieci IP z szyfrowaniem danych przesyłanych.
•	Protokół półotwarty - definiuje ogólne reguły obsługi tunelowania, ale nie wymusza stosowania konkretnych technicznych (to definiują następne wybrane w danej konfiguracji protokoły wewnętrzne)
•	Podstawa technologiczna VPN - dwa protokoły wewnętrzne:
•	AH (Authentication Header) - zapewnia uwierzytelnianie stacji
•	ESP (Encapsulating Security Payload) - zapewnia szyfrowanie

IPSec - IKE (I)
•	Protokół IKE (Internet Key Exchange)
•	IKE dostarcza: 
•	Specyfikację metod kryptograficznych
•	Opisy metod uwierzytelnienia i negocjacji kluczy 
•	Specyfikację formatów pakietów
•	Dopuszcza stosowanie różnych systemów (szyfrowanie, uwierzytelnienie) - za każdym użyciem dodawanych do protokołu z postaci tzw. DOI (Domain of Interpretation)
•	Umożliwia automatyczną negocjację parametrów połączenia - ustalanych na podstawie puli możliwości technicznych obydwu stron

IPSec - IKE (II)
•	Funkcje IKE:
•	Uwierzytelnienie obu stron komunikacji wobec siebie za pomocą jednej z poniższych metod: 
•	Hasło znane obu stronom (shared secret) 
•	Podpisy RSA (konieczna wymiana kluczy publicznych stron) 
•	Certyfikaty X.509
•	Nawiązanie bezpiecznego kanału dla potrzeb IKE nazywanego ISAKMP SA (Internet Security Association and Key Management Protocol Security Association) 
•	Bezpieczne uzgodnienie kluczy kryptograficznych oraz parametrów tuneli IPSec 
•	Ewentualna renegocjacja co określony czas.

Nagłówek IPSec
•	Minimalizacja informacji jawnej - nagłówek zawiera tylko dwie pozycje:
•	SPI (Security Parameters Index) - 12 bitów, identyfikujących kanał pomiędzy stacjami. Liczba ta jest generowana losowo i uzgadniania przez stacje podczas tworzenia kanału. 
•	Numer sekwencyjny - 32 bity, rozróżniających pakiety przesyłane w ramach danego kanału. Numer sekwencyjny zwiększany jest o 1 z każdym kolejnym pakietem.
•	Transmisja jest prowadzona na bazie kanałów IPSec, charakteryzowanych poprzez IP stacji końcowej i docelowej, oraz unikatowa wartość SPI. Kanały określane są skrótem SA (Security Association).

IPSec - kanały komunikacyjne
•	IPSec jest jednokierunkowe
•	Do komunikacji dwustronnej wymagane są dwa przeciwbieżne kanały. Każdy z nich jest indywidualnie konfigurowany i zabezpieczany.
•	W przypadku użytkowania protokołu AH wymagane są dodatkowe dwa kanały, stosowane do ochrony integralności i uwierzytelnienia

IPSec - klucze
•	W przypadku stosowania AH użytkowane będą następujące klucze (zakładamy komunikacje pomiędzy stacjami X i Y):
•	Szyfrujący dla kanału relacji X do Y
•	Uwierzytelniający dla kanału relacji X do Y
•	Szyfrujący dla kanału relacji Y do X
•	Uwierzytelniający dla kanału relacji Y do X 
•	Wszystkie klucze są wymieniane w ustalonym interwale czasowym.

Tryby komunikacji IPSec (I)
•	Wyróżniamy:
•	Tryb transportowy - połączenie najczęściej stosowane pomiędzy indywidualnym hostem a zdalną siecią, lub pomiędzy dwoma indywidualnymi hostami. Szyfrowana jest tylko treść przekazywana, nie jest szyfrowana informacja o stacjach (adresy)
•	Tryb tunelowy - połączenie stosowane pomiędzy bramkami łączącymi sieci “prywatne”. Szyfrowana jest także informacja o adresowaniu sieci.
Tryby komunikacji IPSec (II)
•	Zwykły pakiet TCP/IP:

•	W przypadku trybu transportowego:

•	W przypadku trybu tunelowego:

Firewall (I)
•	Firewall (zapora ogniowa), rodzaje:
•	Programowa - w maszynie z dwoma interfejsami,
•	Na bazie rutara ekranującego
•	Cel stosowania - izolacja węzła sieci w utrudnienia ingerencji w jej zasoby.
•	W przypadku konieczności świadczenia usług z węzła sieci:
•	Przeniesienie usług na programowy firewall
•	Wyznaczenie DMZ () - maszyny wyłączonej z ochrony (czasem ograniczonej dodatkowo np. zakresem portów TCP).

Firewall (II)
•	Trzy typy funkcjonowania:
•	Filtracja pakietów (packet-filtering firewall) - analiza pakietów jedynie pod kątem typu. Może odbywać się w różnych warstwach OSI.
•	Filtracja z inspekcją stanów (stateful-inspection firewall) - analiza treści, w tym adresów źródła, przeznaczenia, wyszukiwanie pod kątem treści (np. wykrywanie podłańcuchów) itp.
•	Pośredniczenie w sesji (application proxy firewall) - autoryzacja użytkowników (za hasłem), upoważnionych do nawiązywania określonych połączeń w warstwach wyższych.