Sieci komputerowe
•	Część druga

© Michał Turek, AGH Kraków

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
Modem - schemat
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
•	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
•	Protokół podobny do RARP,ale pozwalający na przeniesienie znacznie większej ilości informacji
•	adres klienta
•	adres bramy
•	adres DNS
•	maska sieci
•	adres serwera TFTP
•	nazwa pliku do pobrania przez TFTP
•	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 (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 – ostatnia fragmentacja, 1 - więcej fragmentacji.
•	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ępnie TYLKO u odbiorcy – routery pośrednie nie wykonują tej czynności. Podzielony 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
•	Po każdym otwartym fragmencie ustawiany jest zegar. Inicjalizowany jest wartością maksymalnego TTL. Jeżeli zegar zliczy do zera bufor jest zwalniany i pakiet odrzucany

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)

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 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 kolejnej (w przypadku większej ilości sieci – do której). 
•	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śtredniczy 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. Posiada on tyle topologicznych baz danych do ilu obszarów jest podłączony i osobną kopię dla sieci szkieletowej.
•	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 Internetu, 
•	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 bits 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 bity pola danych.

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

IPv6
•	Adres 128 bitowy
•	notacja szesnastkowa z kropkami (skracanie zer)
•	6A2E:8BA1:FFFF:FFFF:0:125A:3E:290
•	6A2E:0:0:0:0:0:B6:A25E       =  6A2E::B6:A25E
•	Określenie typu usługi i jej priorytetu
•	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.

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