Sieci Komputerowe

Podstawy *

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) – pakiet wysłany pod ten adres ma być odebrany przez wszystkie komputery w danej sieci.

Numery komputerów 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)

Zadanie

Podzielić sieć 150.10.0.0 z maską 255.255.0.0 (/16) na cztery podsieci, podając w wyniku:
• adres i maskę każdej podsieci
• zakres adresów komputerów w każdej podsieci
• adres rozgłoszeniowy w każdej podsieci

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:

Porty

Porty służą jako końcówki komunkacyjne w połączeniach typu TCP i UDP. Port jest 16-bitowym numerem z zakresu 0 do 65535. Standardowe usługi jak poczta, sieć WWW, korzystają ze standardowych przypisanych im numerów portów (głównie o numerach poniżej 1024). Stąd numeracje portów dzielimy na trzy zakresy

Well Known Ports: o numerach od 0 do 1023.
Registered Ports: o numerach od 1024 do 49151
Dynamic and/or Private Ports: o numerach od 49152 do 65535

Przykłady:

21: FTP Server
22: SSH Server (remote login)
25: SMTP (mail server)
53: Domain Name System (Bind 9 server)
80: World Wide Web (HTTPD server)
110: POP3 mail server
143: IMAP mail server
443: HTTP over Transport Layer Security/Secure Sockets Layer (HTTPDS server)
445: microsoft-ds, Server Message Block over TCP

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 -u -p 2389

lub (dla windows)

nc -L -p -u 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 -u 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.

man nmap

Zadanie (1 pkt)

Adres komputera docelowego: 150.254.68.184

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łącznika -v w celu określenia, czy klientowi udało się połączyć z serwerem.

Zadanie (4 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