Infrastruktura sieciowa

Podstawy adresacji IP *

Adresacja IP

Rozmiar adresu IP: 4 bajty (32 bity)

Adres IP jest hierarchiczny pierwsza część określa numer sieci, a pozostałe bity numer komputera wewnątrz tej sieci. Do oddzielenia części sieciowej i komputerowej służy nam maska. Maskę tworzą dwa bloki - blok jedynek poprzedzający blok zer.

Adres zapisujemy w postaci dziesiętnej z podziałem na kolejne ósemki bitów, np:

11000000.00111000.01001100.00000011

Jest tym samym co

192.56.76.3

Sieć, w której znajduje się komputer także ma adres - charakteryzuje się on tym, że część komputerowa składa się z samych zer. Na przykład, gdy część sieciowa adresy składa się z 8 bitów to adresem sieci może być 120.0.0.0.

Wystepują dwa szczególne adresy, których nie można nadawać komputerom w sieci:
•adres sieci (część komputerowa złożona z samych zer)
•adres rozgłoszeniowy (część komputerowa złożonaz samych jedynek)

Adres sieci określa sieć, do której przynależy dany adres IP. Adres rozgłoszeniowy (ang. broadcast) to adres pozwalający na wysłanie informacji do wszystkich urządzeń w danej sieci.

Numery komputerów w sieci mieszczą się zawsze między tymi dwoma wartościami.

W początkowych fazach sieci internet wyróżniano tzw. klasy adresów:

Podział sieci na podsieci

Załóżmy, że firma posiada jeden adres IP. Jak rozplanować adresację sieci tak by podzielić ją pomiędzy kilka lokalizacji (budynków).

Zasady:
• z części komputerowej zapożyczamy pewną liczbę bitów po to, by „przedłużyć” część sieciową
• w zapożyczonej części numerujemy podsieci
• każda podsieć jest sama w sobie siecią IP, dlatego ma własne adresy szczególne (adres sieci i rozgłoszeniowy)

Podział sieci na podsieci różnej wielkości (VLSM)

Stosujemy w tym wypadku wielokrotny podział sieci na podsieci (podział podsieci na jeszcze mniejsze podsieci). Na najwyższym poziomie dzielimy sieci na części by zaspokoić największe wymagania i następnie schodzimy na coraz to mniejsze.

Szczegóły można znaleźć np. tutaj:

lub

Uwaga! Aby rozwiązanie takie działało wraz z adresem IP musi być przekazywana maska. Protokoły wspierające VLSM:
RIP v2 (IETF),
OSPF (IETF),
EIGRP(Cisco).

CIDR

Pojęcie „sieci danej klasy” zastąpiono bardziej elastycznym pojęciem „blok adresów CIDR”, w którym istotna jest tylko długość maski. Liczba adresów w bloku CIDR jest dowolną (w ustalonym zakresie) potęgą liczby 2. W CIDR długość maski podsieci jest dostosowana do potrzeb danej podsieci lub wpisu w tablicy routingu (po angielsku variable length subnet masks – VLSM), a nie ustalana jedna dla całej sieci. CIDR pozwala na efektywniejsze wykorzystywanie puli adresów IP oraz zmniejszenie tablic routingu.

Zasada działania:

Mając dany zakres adresów IP sieci, wyodrębniamy z ich części sieciowych najdłuższy wspólny podciąg bitów, tym samym skracamy część sieciową i tworzymy uogólniony adres IP sieci (tzw. adres nadsiecilub CIDR, ang.supernet address lub CIDR address).

Przykłady :

IPv6

Najważniejsze informacje o standardzie IPv6 można znaleźć np. tutaj:

Dla opornych

Film na temat adresacji (do obejrzenia w domu)

Porty

Do wyświetlenia otwartych portów może posłużyć nam polecenie netstat:

netstat -a
netstat -nat | grep LISTEN

Netcat

Polecenie netcat działa jak cat, tylko pozwala na związanie wyjścia z portem interfejsu sieciowego. Pozwala dzięki temu na uruchomienie prostego serwera i klienta TCP / UDP na lokalnych komputerach, co może być przydatne np do testowania serwisów sieciowych.

Wygląda na to, że w laboratoriach (testy zdalne) ruch TCP jest blokowany, i możemy posłużyć się jedynie serwerem z protokołem UDP.

Uruchamianie serwera dokonujemy poleceniem:

nc -l -k -p 2389

lub (dla windows)

nc -L -p 2389

Gdzie przełącznik -l mówi nam o przejściu w tryb nasłuchiwania, -p określa port a -k (lub -L) mówi, że serwer ma być utrzymany nawet po rozłączeniu klienta.

Uruchom nowy terminal i uruchom w nim program klienta:

nc localhost 2389

Jeżeli napiszesz coś w oknie klienta to samo powinno być wyświetlone w oknie serwera. Uwaga! w laboratoriach z jakiegoś powodu nie chce działać serwer na TCP dlatego stosujemy protokół UDP - przełącznik -u.

man nc

Inne sztuczki z netcatem:

nmap

Nmap (ang. “Network Mapper”) jest narzędziem open source do eksploracji sieci. Wpisz w terminalu w linux:

man nmap

Zadanie (1 pkt)

Adres komputera docelowego zostanie podany na zajęciach.

Sprawdź jak za pomocą polecenia nmap sprawdzić które porty na komputerze są otwarte. Prowadzący uruchomił za pomocą netcat serwer na swoim komputerze, serwer działa na porcie o numerze między 2000-2100. Określ za pomocą nmap na jakim porcie działa serwer a następnie uruchom klienta za pomocą netcat i prześlij prowadzącemu swoje dane: imie nazwisko i nr indeksu.

Uwaga! użyj przełączników -Pn oraz -p.

Zadanie (1 pkt)

Podaj swój prawdziwy adres sieciowy (taki jaki widzą zewnętrzne komputery.

Zadanie (8 pkt)

  1. Znajdź adres sieci i adres rozgłoszeniowy mając adres IP hosta i maskę:

    212.10.Twój numer indeksu modulo 255 (pierwsze trzy cyfry).Twój numer indeksu modulo 255 (ostatnie trzy cyfry) /23

  2. Dokonaj podziału na 8 podsieci sieci o adresie 200.10.20.0 /24

  3. Mając do dyspozycji sieć 88.123.45.0 /24 wydziel trzy podsieci z który w podsieci A i B zmieści się przynajmniej 45 komputerów a w sieci C minimum 110 komputerów,

  4. Dokonaj agregacji adresów sieci z zakresu 202.1.0.0 /24, 202.1.1.0 /24, ..., 202.1.63.0 /24

Zadanie dla osób nudzących się

Za pomocą narzędzia netcat zaimplementuj serwer działający w taki sposób jak ten w ćwiczeniu 1.

*

Wykorzystano materiały z:

http://www.cs.put.poznan.pl/mlibuda/adrIP1.pdf

http://www.cyberciti.biz/faq/linux-unix-open-ports/

http://www.cs.put.poznan.pl/mlibuda/adrIP2.pdf