Wersja do druku

Transkrypt

Wersja do druku
Podstawy Informatyki
Wykład 5
Rekurencja i sieci
Rekurencja
z łacińskiego oznacza to przybiec z powrotem - osiągniesz
rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe
Przykład:
Małe dziecko otrzymuje polecenie
posprzątania rozrzuconych
klocków do pudełka.
„ zebrać wszystkie klocki
naraz” ????
-
skomplikowane zadanie
„wziąć jeden klocek, przełożyć go
do pudełka, a następnie zrobić to
samo z pozostałymi klockami” ???
- prosta czynność
Matematycznie:
„Duży” problem został rozłożony na problem
elementarny, który umiemy rozwiązać.
Problem elementarny jest mniej skomplikowany niż
problem początkowy.
Zakończenie algorytmu jest jasno określone („w
momencie gdy na podłodze nie ma rozrzuconych
klocków”)
Def:
Program rekurencyjny jest to program, który wywołuje sam
siebie
Problem:
Dysponujemy tablicą n liczb całkowitych A(n) o elementach:
a(1),a(2), a(3), ...., a(n)
Zadanie: sprawdzić, czy w tablicy A występuje liczba x
Rozwiązanie:
wziąć pierwszy niezbadany element tablicy n elementowej,
jeśli aktualnie analizowany element tablicy jest równy x to:
wypisz „sukces” i zakończ działanie
w przeciwnym wypadku:
zbadaj pozostałą część tablicy n-1 elementów
Mamy obliczyć: an
Wiemy że: an =a x an-1 (an-1 jest łatwiej
obliczyć niż an)
Jeśli jest nadal trudno, to zawsze można
wstawić: an-1 =a x an-2,
gdzie: an-2 =a x an-3 itd.
wystarczy wiedzieć tylko, że: a0 =1
aby obliczyć dowolną potęgę a
W programach rekurencyjnych:
zakończenie programu jest jasno określone (znaleziony
element, przekroczony zakres tablicy),
duży problem zostaje „rozłożony” na problemy elementarne,
które umiemy rozwiązać
Podstawowe błędy:
złe określenie warunku zakończenia programu,
niewłaściwa (nieefektywna) dekompozycja problemu.
Algorytmy sortowania danych
Sortowanie przez selekcję
Opis:
trzeba
wyznaczyć najmniejszy element w ciągu;
go miejscami z pierwszym elementem
zamienić
ciągu,
wyznaczyć
najmniejszy element w a[2..n] i zamienić
go z drugim elementem w ciągu,
itd.
Sortowanie przez wstawianie
(układanie kart do brydża)
metoda
polega na wstawianiu następnej karty we
właściwe miejsce uporządkowanych uprzednio kart
9 8 3 5 7
8
9
8
5
5
3
3
9
8
7
5
5
5
9
8
7
7
7
7
9
Sortowanie bąbelkowe
0
40
2
39
6
18
¬
4 ¬ 4
20 20 20
¬
4
18
20
¬
4
6
18
20
¬
4
39
6
18
20
¬
2
4
39
6
18
20
dla i := 1 do n-1 wykonuj
początek
min := i;
dla j := i+1 do n wykonuj
jeśli a[ j ] < a[ min ] to min := j;
a[ min ] <-> a[ j ] {zamiana miejscami a[ min ] z a[ j ]}
koniec
Sortowanie przez wstawianie - algorytm
Opis:
9
8
3
3
3
Sortowanie przez selekcję - algorytm
2
40
4
39
6
18
20
1
2
40
4
39
6
18
20
Tablica jest przeszukiwana od dołu. Element zacieniony jest
tym, który w pojedynczym przebiegu uleciał do góry jako
„najlżejszy”.
Analizowane są zawsze 2 sąsiadujące ze sobą elementy. Jeśli
nie są uporządkowane (u góry jest element „cięższy”) to
następuje ich zamiana.
dla i=2,...,liczba elementów tablicy wykonuj
{
j :=i
podczas gdy j > 1 i x[ j-1 ] > x[ j ] wykonuj
{
pom := x[ j ]
x[ j ] := x[ j-1]
x[ j-1] := pom
j := j-1
}
}
Wynik sortowania bąbelkowego
0
40
2
39
6
18
4
20
1
2
40
4
39
6
18
20
2
2
4
40
6
39
18
20
3
2
4
6
40
18
39
20
4
2
4
6
18
40
20
30
5
2
4
6
18
20
40
39
6
2
4
6
18
20
39
40
Algorytm sortowania bąbelkowego
TAB : Tablica [1..n] elementów typu rzeczywistego
i,j : całkowite
pom: rzeczywiste
Początek {programu}
Dla i:=1 do n-1 wykonuj
dla j:=n do i+1 z krokiem -1wykonuj
Jeśli TAB[j]<TAB[j-1] to
początek
pom:=TAB[j-1];
TAB[j-1]:=TAB[j];
TAB[j]:=pom
koniec
Koniec {programu}
.
• Dość często zdarzają się „puste przebiegi” (nie jest
dokonywana żadna wymiana, bowiem elementy są
już posortowane.
• Algorytm jest bardzo wrażliwy na konfigurację
początkową danych.
Wersja 1: 4 2 6 18 20 39 40
Wersja 2: 4 6 18 20 39 40 2
(wersja 1 wymaga jednej zamiany, a wersja 2 wymaga aż
sześciu przebiegów)
Wieża Hanoi
A
A
B
C
• Chcemy przenieść krążki z A na B, wykorzystując kołek C.
• Przenosimy po 1 krążku.
• Większy krążek nigdy nie może być umieszczony na
mniejszym krążku..
B
C
A -> B;
A -> C;
B -> C;
A -> B;
C -> A;
C -> B;
A -> B;.
Wieża Hanoi - algorytm
A
B
C
Legenda Tybetu: po przeniesieniu 64 krążków nastąpi koniec świata.
• Liczba pojedynczych przeniesień: minimum 2N - 1 (23 - 1 = 8-1 = 7
dla 3 krążków). Dla 64 to jest 264-1 tj 18446744073709551615
• Jeżeli przeniesienie 1 krążka wymaga 2 sekund, to na
przeniesienie 64 krążków potrzeba 1 biliona lat (4,5 miliarda lat
temu powstała ziemia). Przy szybkości przenoszenia 1 miliona
krążków na sekundę, całkowity czas przeniesienia 64 krążków
wynosi minimum pół miliona lat..
Podprogram przenieś N z X na Y używając Z;
jeżeli N=1, to wypisz „X -> Y”;
w przeciwnym razie (tj. jeżeli N>1) wykonaj, co
następuje:
wywołaj przenieś N-1 z X na Z używając Y;
wypisz „X->Y”;
wywołaj przenieś N-1 z Z na Y używając X;
wróć.
Jak wykonują się programy rekurencyjne?
Zadanie:
Obliczyć n!
0! = 1
N! = N*(n-1)!
Sieci komputerowe
Dla n>=1
Jak to wygląda w praktyce dla n = 3 (3! = ?)
n = 0? nie
3*2!
n = 0? nie
2*1!
n = 0? nie
1*0!
n = 0? tak
1
- pionowe strzałki oznaczają „zagłębianie się programu” z poziomu ‘n’ na ‘n-1’, itd. , aż
do przypadku elementarnego 0!,
- pozioma strzałka oznacza obliczanie wyników cząstkowych,
- ukośna strzałka prezentuje przekazywanie wyniku cząstkowego z poziomu niższego na
wyższy)..
Podział sieci
Topologie sieci
lokalna (LAN) - najmniej rozległa postać sieci komputerowej,
zazwyczaj ogranicza się do jednego budynku (biura) lub kilku
pobliskich budynków (np. bloków na osiedlu).
metropolitarna (MAN) - duża sieć komputerowa, której zasięg
obejmuje aglomerację lub miasto. Tego typu sieci używają
najczęściej połączeń światłowodowych do komunikacji
pomiędzy wchodzącymi w jej skład rozrzuconymi sieciami
LAN.
rozległa (WAN) - sieć komputerowa znajdująca się na obszarze
wykraczającym poza jedno miasto (bądź kompleks miejski).
Magistrala
Stacja
robocza
gwiazdy
pierścienia
siatki
Magistrala
Serwer
terminator
magistrala
Stacja
robocza
magistrali
Stacja
robocza
Zalety:
małe użycie kabla
brak dodatkowych urządzeń (koncentratory, switche)
niska cena sieci
łatwość instalacji
awaria pojedynczego komputera nie powoduje unieruchomienia
całej sieci
Wady:
trudna lokalizacja usterek
tylko jedna możliwa transmisja w danym momencie
potencjalnie duża ilość kolizji
awaria głównego kabla powoduje unieruchomienie całej domeny
kolizji
Pierścień
Pierścień
Serwer
Stacja robocza
Stacja robocza
Stacja robocza
Stacja robocza
Zalety:
małe zużycie przewodów
możliwość zastosowania łącz optoelektronicznych, które wymagają
bezpośredniego nadawania i odbierania transmitowanych sygnałów
możliwe wysokie osiągi, ponieważ każdy przewód łączy dwa konkretne
komputery
Wady:
Awaria jednego węzła lub łącza może być powodem awarii całej sieci.
Utrudniona diagnoza uszkodzeń.
Dołączenie nowego węzła wymaga wyłączenia całej sieci.
Dane poruszają się w jednym kierunku.
Czas propagacji jest zależny od liczby węzłów.
Stacja robocza
Gwiazda
Gwiazda
Serwer
Stacja robocza
Koncentrator
Stacja robocza
Stacja robocza
Zalety:
Sieć może działać nawet, gdy jeden lub kilka komputerów ulegnie
awarii.
Sieć jest elastyczna i skalowalna.
Łatwość monitoringu, konserwacji, wykrywania i lokalizacji
kolizji
Wady:
Stosunkowo wysoki koszt spowodowany jest dużą ilością kabla
potrzebnego do podłączenia każdego z węzłów
W wypadku awarii elementu centralnego jakim jest koncentrator
(np. hub, switch) sieć nie działa
Stacja robocza
Stacja robocza
Hub
Jest urządzeniem posiadającym wiele portów do przyłączania
stacji roboczych przede wszystkim w topologii gwiazdy. Można je
traktować jak wieloportowe wzmacniaki, z tym że nowoczesne
koncentratory posiadają obwody regenerujące przesyłane ramki
Ethernetowe.
Zaletą takiego rozwiązania jest, to że przerwanie komunikacji
pomiędzy hubem a jedną ze stacji roboczych nie powoduje
zatrzymania ruchu w całej sieci (każda stacja ma oddzielne
połączenie z koncentratorem), należy jednak pamiętać, że awaria
koncentratora unieruchomi komunikacje ze wszystkimi
podłączonymi do niego urządzeniami. Huby wymagają zasilania i
wzmacniają sygnały ze stacji roboczych, co pozwala na
wydłużenie połączenia.
Przełącznik (switch)
Przełącznik jest urządzeniem które pracuje w warstwie
łącza danych (warstwa 2 modelu OSI). Przełącznik „uczy
się” adresów potrzebnych do sterowania dostępem do
nośnika i przechowuje je w tablicy wyszukiwania.
Chwilowo pomiędzy nadawcą ramki a jej odbiorcą
tworzone są ścieżki przełączane czyli komutowane.
Potem ramki przesyłane są dalej wzdłuż tych
tymczasowych ścieżek. Typowe sieci lokalne oparte o
topologię przełączaną zbudowane są tak, że posiadają
wiele połączeń urządzeń z portami koncentratora. Każdy
port oraz urządzenie które do niego jest przyłączone ma
przydzieloną odpowiednią szerokość pasma.
Most (bridge)
Most to urządzenie warstwy 2. Zadaniem mostów jest filtrowanie
ruchu w sieci LAN - zachowaniu ruchu lokalnego - umożliwiając
zarazem łączność z innymi częściami (segmentami) sieci LAN
wobec ruchu, który jest tam kierowany.
Każde urządzenie sieciowe ma unikatowy adres MAC na karcie
NIC (Network Interface Card). Most śledzi, które adresy MAC
znajdują się po odpowiedniej stronie mostu i podejmuje decyzje w
oparciu o listę adresu MAC.
Mosty filtrują ruch sieciowy operując się tylko na adresach MAC.
Dlatego też mogą bardzo szybko przesłać ruch reprezentujący
dowolny protokół warstwy sieci. Ponieważ mosty interesują tylko
adresy MAC, nie zajmują się protokołami sieci. Zajmują się tylko
przekazywaniem ramek w oparciu o dowolne adresy MAC.
Router
Działanie warstwie trzeciej pozwala routerowi podejmować
decyzje w oparciu o adresy sieciowe zamiast adresów MAC
warstwie drugiej. Routery mogą łączyć różne technologie
warstwie drugiej, na przykład Ethernet, Token Ring i FDDI.
Zadaniem routera jest sprawdzenie przechodzących pakietów
(danych warstwie trzeciej), wyznaczenie najlepszej ścieżki w sieci
i przesłanie ich do właściwego portu wyjścia. Routery to
najważniejsze urządzenie regulujące ruch w dużych sieciach.
Pozwalają na komunikację między praktycznie każdym
komputerem a dowolnym innym komputerem w dowolnym
miejscu na świecie.
Model warstwowy sieci
Warstwy sieci
Różne protokoły muszą ze sobą współdziałać – w
szczególności TCP/IP z innymi protokołami – jest to
możliwe dzięki warstwowej budowie sieci.
Opracowany przez OSI (Open System Interconnection)
w 1984 r model warstwowy sieci – opisuje sposób
przepływu informacji pomiędzy komputerami
połączonymi w sieć
Warstwy sieci
fizyczna – kable i urządzenia aktywne stosowane do
połączenia komputerów; odpowiada za przesyłanie i
odbiór poszczególnych bitów, określa wymagania
stawiane sprzętowi (np. charakterystyki wydajności
kabli, kart)
łącza danych – ustala nawiązanie połączenia i jego
zakończenie, zapewnia kontrolę adresów oraz
poprawności transmisji (każdy pakiet pakowany jest
w ramkę (frame), którą tworzy: nagłówek, pakiet
oraz sekwencja kontrolna; na poziomie tej warstwy
sprawdzane jest, czy wszystkie pakiety dotarły do
adresata
7
aplikacji
6
prezentacji
5
sesyjna
4
transportu
3
sieciowa
2
łącza danych
1
fizyczna
Warstwy sieci
sieciowa – odpowiada za trasę przesyłki, ustala gdzie
jest „wolna droga”; ustala protokoły w tym IP oraz
IPX, które zawierają informacje o adresie źródłowym
i docelowym
transportu – nadzoruje przesyłanie danych, np.
kolejność pakietów, ich kodowanie i rozkodowanie,
w razie konieczności wysyła żądanie ponownego
przesłania brakującego pakietu
sesji – odpowiada za koordynację komunikacji m.
komputerami – kto wysyła i kiedy (dot. relacji klientklient oraz klient-serwer (sesji)
Warstwy sieci
Warstwy sieci
prezentacji – odpowiada za sposób kodowania
danych (szyfrowanie i deszyfrowanie), ich kompresję
i dekompresję oraz korektę reprezentacji binarnej
aplikacji – pełni rolę pośrednika między systemem
operacyjnym i jego aplikacjami a siecią (np.
polecenie FTP powoduje uruchomienie programuklienta FTP
W połączeniu sieciowym dane przychodzące płyną
zawsze od najwyższej warstwy do najniższej, przez
sieć do innego komputera, a tam od najniższej
warstwy do najwyższej
7
7
1
1
Sieć komputerowa
Model warstwowy DoD
Protokoły sieciowe
Warstwa aplikacji - zapewnia interfejs pomiędzy
aplikacjami użytkowymi, a usługami sieciowymi.
Warstwa transportowa - obsługuje strumień
danych między dwoma zdalnymi maszynami
Warstwa Internet - przesyła pakiety z danymi od
maszyny źródłowej do maszyny docelowej
Warstwa fizyczna - odpowiada za przyjmowanie
ciągów danych z warstwy Internet, łączenie danych
i przesyłanie ich zawartości oraz samą transmisję
strumienia bitów.
Protokoły
Protokoły poziomu sieciowego
•
•
•
•
Address Resolution Protocol (ARP)
Internet Control Message Protocol (ICMP)
Internet Protocol (IP)
Transmission Control Protocol (TCP)
Protokoły aplikacyjne
•
•
•
•
•
•
•
Simple Mail Transfer Protocol (SMTP)
Domain Name System (DNS)
Hypertext Transfer Protocol (HTTP)
Telnet
Gopher
File Transfer Protocol (FTP)
Network News Transport Protocol (NNTP)
TCP/IP – Transmission Control Protocol / Internet
Protocol - oprócz Internetu występuje także w
sieciach opartych na systemie Windows NT i Linux
IPX – Internetworking Packet Exchange –
odpowiednik TCP/IP dla systemu Novell Netware
NetBIOS – do użytku w małych grupach roboczych i
LAN. Nie jest trasowalny. Dotyczy komputerów
IBM. Rozszerzenie NetBIOS to NetBEUI (NetBIOS
Extended User Interface)
ARP
Protokół komunikacyjny przekształcania adresów IP na fizyczne,
48-bitowe adresy MAC (przypisane fizycznie m.in. do kart
sieciowych) w komputerowych sieciach lokalnych typu Ethernet.
ARP jest protokołem pracującym na drugiej warstwie modelu
ISO/OSI, czyli warstwie łącza danych, ponieważ pracuje ona na
ramkach i może je analizować tzn. np. sprawdzać ich poprawność.
ICMP
IP
Internetowy protokół komunikatów kontrolnych. ICMP jest ściśle
związany z protokołem IP, dostarczając nieobecnej w nim funkcji
informowania o błędach. Protokół pozwala wysyłać pakiety
kontrolne służące do ustalenia bieżącego stanu hosta, w tym:
Brak możliwości dostarczenia pakietu do miejsca przeznaczenia;
Określenia opóźnienia pakietów przesyłanych przez sieć
Zmiana wcześniej wyznaczonej trasy przez jeden z routerów
pośredniczących
Brak wolnej pamięci buforowej dla zapamiętania pakietu i związane
z tym chwilowe wstrzymania nadawania
Przekroczenie czasu życia (TTL) pakietu
Pakiet IP
Protokół komunikacyjny warstwy sieciowej modelu OSI (warstwy
internet w modelu TCP/IP). Używany powszechnie w Internecie i
sieciach lokalnych.
Dane w sieciach IP są wysyłane w formie bloków określanych
mianem pakietów.
Protokół IP jest protokołem zawodnym - nie gwarantuje, że pakiety
dotrą do adresata, nie zostaną pofragmentowane, czy też
zdublowane, a ponadto mogą dotrzeć do odbiorcy w innej
kolejności niż zostały nadane. Niezawodność transmisji danych jest
zapewniana przez protokoły warstw wyższych (np. TCP),
znajdujących się w hierarchii powyżej warstwy sieciowej.
TCP
Strumieniowy protokół komunikacji między dwoma komputerami.
W modelu OSI TCP odpowiada warstwie Transportowej.
nagłówek
Dane
ogólne
Adres IP
nadawcy
Adres IP
odbiorcy
Dane
SMTP
Tekstowy protokół, w którym określa się co najmniej jednego odbiorcę
wiadomości (maila) (w większości przypadków weryfikowane jest jego istnienie),
a następnie przekazuje treść wiadomości.
Początkowo protokół ten nie radził sobie dobrze z plikami binarnymi, ponieważ
stworzony był w oparciu o czysty tekst ASCII. W celu kodowania plików
binarnych do przesyłu przez SMTP stworzono standardy takie jak MIME. W
dzisiejszych czasach większość serwerów SMTP obsługuje rozszerzenie
8BITMIME pozwalające przesyłać pliki binarne równie łatwo jak tekst.
Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji
nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę
elektroniczną (wirusy, spam). Żeby temu zaradzić stworzono rozszerzenie SMTPAUTH, które jednak jest tylko częściowym rozwiązaniem problemu - ogranicza
wykorzystanie serwera wymagającego autoryzacji do zwielokratniania poczty.
Nadal nie istnieje metoda, dzięki której odbiorca autoryzowałby nadawcę nadawca może "udawać" serwer i wysłać dowolny komunikat do dowolnego
odbiorcy.
W przeciwieństwie do UDP, TCP zapewnia wiarygodne połączenie
dla wyższych warstw komunikacyjnych przy pomocy sum
kontrolnych i numerów sekwencyjnych pakietów, w celu
weryfikacji wysyłki i odbioru. Brakujące pakiety są obsługiwane
przez żądania retransmisji. Host odbierający pakiety TCP
porządkuje je według numerów sekwencyjnych tak, by przekazać
wyższym warstwom modelu OSI pełen, złożony segment.
HTTP
HyperText Transfer Protocol jest protokołem typu klient-serwer
warstwy aplikacyjnej (działającym w oparciu o protokół TCP)
służącym do pobierania i dostarczania dokumentów
hipertekstowych (najczęściej w postaci HTML) a także zbiorów
binarnych takich jak programy albo dokumenty
Telnet
Telnet jest usługą (programem) pozwalającą na zdalne połączenie się komputera
(terminala) z oddalonym od niego komputerem (serwerem) przy użyciu sieci,
wykorzystując do tego celu protokół TCP-IP oraz standardowo przypisany port
23. Umożliwia on zatem ustanowienie użytkownikowi zdalnej sesji na serwerze
tak jak gdyby siedział tuż przed nim.
FTP
Protokół transmisji plików. Jest protokołem typu klient-serwer, który
umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP.
Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich
jest połączeniem kontrolnym za pomocą którego przesyłane są np.
polecenia do serwera, drugie natomiast służy do transmisji danych m.in.
plików. FTP działa w dwóch trybach: aktywnym i pasywnym, w
zależności od tego, w jakim jest trybie, używa innych portów do
komunikacji.
Protokół obsługuje tylko terminalne alfanumeryczne, co oznacza, że nie
obsługuje myszy ani innych urządzeń wskazujących. Nie obsługuje także
graficznych interfejsów użytkownika. Wszystkie polecenia muszą być
wprowadzane w trybie znakowym w wierszu poleceń. Polecenia wydawane za
pomocą naszego komputera przysłane są poprzez sieć serwera, na którym
zainstalowane jest oprogramowanie serwera telnetu. W odpowiedzi serwer odsyła
nam komunikaty, które następnie wyświetlane są na naszym ekranie.
Jeżeli FTP pracuje w trybie aktywnym, korzysta z portów: 21 dla poleceń
(połączenie to jest zestawiane przez klienta) oraz 20 do przesyłu danych.
Połączenie nawiązywane jest wówczas przez serwer. Jeżeli FTP pracuje w
trybie pasywnym wykorzystuje port 21 do poleceń i port o numerze >
1024 do transmisji danych, gdzie obydwa połączenia zestawiane są przez
klienta.
Bardzo często usługa telnet implementowana jest do urządzeń aktywnych sieci
(switche, routery) w celu ułatwienia konfiguracji tychże urządzeń.
DNS
Jest to system serwerów oraz protokół komunikacyjny zapewniający
zamianę adresów znanych użytkownikom Internetu na adresy
zrozumiałe dla urządzeń tworzących sieć komputerową. Dzięki
wykorzystaniu DNS nazwa mnemoniczna, np. pl.wikipedia.org,
może zostać zamieniona na odpowiadający jej adres IP, czyli
145.97.39.135.
DNS to złożony system komputerowy oraz prawny. Zapewnia z
jednej strony rejestrację nazw domen internetowych i ich
powiązanie z numerami IP. Z drugiej strony realizuje bieżącą
obsługę komputerów odnajdujących adresy IP odpowiadające
poszczególnym nazwom.
Adresy sieciowe
Działanie TCP/IP jest ściśle związane z pojęciem adresu
sieciowego (stałego lub generowanego na czas połączenia)
•
Każdy komputer, który posiada swoje IP nosi nazwę host
•
adresy IP (numeryczne) – liczba 32 bitowa zapisywana jako
4 części po 8 bitów oddzielonych kropkami
•
adresy domenowe (symboliczne)- adresy te przypisywane są
przede wszystkim serwerom, udostępniającym w Internecie
jakieś usługi – zapisywane są w postaci ciągu nazw
oddzielonych kropkami i czytane są „od końca”
np. 149.156.111.10
Klasy sieciowe
Domeny internetowe
Klasa A
Zakres Od 0.0.0.0 do 127.255.255.255
Sieci klasy A jest mniej niż 128, ale każda może się składać z milionów komputerów (255*255*255).
Klasa B
Zakres Od 128.0.0.0 do 191.255.255.255
Są tysiące sieci klasy B (191-128)*255, z których każda może zawierać tysiące adresów (255*255).
Klasa C
Zakres Od 192.0.0.0 do 223.255.255.255
Są miliony sieci klasy C (223-192)*255*255, ale każda może liczyć mniej niż 254 komputery.
Klasa D
Zakres Od 224.0.0.0 do 239.255.255.255
Zarezerwowane; tzw. adresy grupowe niepowiązane z żadną siecią.
Klasa E
Zakres Od 240.0.0.0 do 247.255.255.255
Do celów eksperymentalnych.
domeny krajowe – 2 litery np. uk, de, fr, at, au,
pl
Domeny regionalne: krakow, waw, kielce
Domeny funkcjonalne: com, edu, gov, mil, org,
net
Od niedawna istnieją nowe domeny: aero, biz,
coop (dla spółdzielni i inst. Non-profit), info
(adresy witryn o charakt. Informac.), museum,
name (prywatne), pro (wolne zawody)
Domeny internetowe
Przykłady:
sendzimir.metal.agh.edu.pl
www.mf.gov.pl
www.men.waw.pl
zwirek.bis.krakow.pl
www.google.pl