Aby potrafić obliczać i wyznaczać adresy IP należy mieć podstawową wiedzę z zakresu systemu binarnego i dziesiętnego oraz konwersji pomiędzy nimi.
Podstawowe pojęcia:
Adres internetowy (adres IP) - adres przypisany do komputera lub interfejsu sieciowego,Podsieć - grupa adresów sieciowych zgrupowanych pod wspólnym adresem sieci,Maska podsieci - 32 bity używane do opisu, które bity adresu sieciowego odpowiadają za adres sieciowy a które za adres komputera w podsieci,Interfejs - punkt połączenia między komputerem a siecią prywatną lub publiczną.
Adres IP służy do identyfikacji komputera w sieci Internet. Adres ten składa się z 32 bitów, które dzielą się na część sieciową i część hosta.
Adres IP jest rozbity na 4 grupy po osiem bitów (oktety) oddzielonych kropkami. Każdy oktet jest zapisywany w postaci liczby dziesiętnej, tłumaczonej z liczby binarnej i przyjmuje wartość pomiędzy 0 a 255.
11000000.00111000.01001100.00000011
Jest tym samym co
192.56.76.3
Do określenia adresu podsieci stosujemy maskę podsieci:
Adres: 172.16.17.30 - 10101100.00010000.00010001.00011110Maska: 255.255.240.0 - 11111111.11111111.11110000.00000000
podsieć = 10101100.00010000.00010000.00000000 = 172.16.16.0
Każda sieć posiada dwa szczególne adres: tzw. adres rozgłoszeniowy - złożony z samych jedynek w części hosta oraz adres sieci złożony z samych zer w części hosta. Dla powyższego przykładu:
Maska: 255.255.240.0 - 11111111.11111111.11110000.00000000Adres rozgłoszeniowy: 172.16.31.255 - 10101100.00010000.00011111.11111111Adres sieci: 172.16.16.0 - 10101100.00010000.00010000.00000000
W początkowych fazach sieci internet wyróżniano tzw. klasy adresów:
Ważną konsekwencją istnienia klas adresów są tzw. adresy sieci prywatnych:
10.0.0.0 - 10.255.255.255172.16.0.0 - 172.31.255.255192.168.0.0 - 192.168.255.255
Rozpoznaj, czy posiadasz prywatny czy publiczny adres IP.
Zgodnie z RFC 3330 ↓ komunikacja w jednym komputerze możliwa jest poprzez adresy mieszczące się w puli 127.0.0.0/8. Oznacza to, że jeżeli wystąpi odwołanie do adresu 127.x.x.x, gdzie za x podstawi się liczby od 0 do 255 (1 do 255 w przypadku ostatniego bajtu), to zawsze odnosi się ono do hosta lokalnego.
Loopback to wirtualne urządzenie sieciowe, które ma tylko jedno wejście. Często przypisuje się do niego adres 127.0.0.1 pozwala ono na lokalne testowanie własnego interfejsu sieciowego, z adresem tym związana jest też nazwa localhost.
ping localhost
IPv6 to nowa wersja protokołu warstwy internetowej (IP) w zestawie protokołów TCP / IP. Standard RFC 2460 (IPv6) został wydany w grudniu 1998 roku. „W dniu 14 września 2012 r. RIPE NCC wyczerpało swoją regularną pulę IPv4” (RIPE NCC to regionalny rejestr internetowy (RIR) dla Europy, Azji Zachodniej i byłego ZSRR). Rozwiązanie przedłużające życie IPv4 to tzw. NAT (translacja adresów sieciowych) - zwiększa pojemność przestrzeni adresowej IPv4 poprzez współdzielenie adresu IPv4 między klientami.
Dostawcy usług internetowych byli pierwszą grupą, która rozpoczęła wdrażanie protokołu IPv6 w swoich sieciach, a prym wiodą sieci komórkowe. Na przykład w T-Mobile USA ponad 90% ruchu odbywa się przez IPv6, a Verizon Wireless jest tuż za nim na poziomie 82,25%. Comcast i AT&T mają swoje sieci w 63% i 65%.
IPv4: 32 bity lub 4 bajty
4.200.000.000 możliwych adresowalnych węzłów (czyli tyle ile obecnie użytkowników internetu na świecie)
IPv6: 128 bitów lub 16 bajtów
3.4 * 10^38 możliwych adresowalnych węzłów340,282,366,920,938,463,374,607,432,768,211,456
Przykłady adresów IPv4:
fe80 :: 878c: 0000: 181a: f72efe80 :: 878c: 0: 181a: f72efe80 :: 878c :: 181a: f72e
W adresie URL jest ujęty w nawiasy kwadratowe (RFC3986)
http: // [2001: db8: 4f3a :: 206: ae14]: 8080 / index.html
Dla IPv4 nie występuje coś takiego jak maski podsieci, ale w zapisie adresu stosujemy zapis prefiksowy znany z IPv4.
Pierwotne zalecenie dotyczące przydzielania przestrzeni adresowej IPv6 użytkownikom końcowym było następujące:
/ 48 (65 536 podsieci) w ogólnym przypadku, z wyjątkiem bardzo dużych abonentów
/ 64 (pojedyncza podsieć), gdy wiadomo, że jeden i tylko jeden podsieć jest wymagana przez projekt
/ 128 (pojedynczy adres), gdy jest absolutnie wiadomo, że łączy się jedno i tylko jedno urządzenie
Dwa zakresy adresów są zarezerwowane dla przykładów i dokumentacji przez RFC 3849
3FFF: FFFF :: / 322001: 0DB8 :: / 32
W protokole IPv6 wyróżniamy trzy typy adresów:
adres unicast (adres indywidualny), identyfikujący unikalnie pojedynczy interfejs,
adres multicast (adresy grupowy), identyfikujący zbiór interfejsów zainteresowany otrzymywaniem danego typu ruchu, gdzie pakiet dostarczany jest do wszystkich interfejsów posiadających dany adres IP,
adres anycast (adresy jeden z wielu), identyfikujący zbiór interfejsów udostępniających tę samą usługę, gdzie pakiet dostarczany jest tylko do jednego interfejsu o danym adresie IP, tego który jest najbliżej według tablicy routingu
Typ adresu IPv6 określany jest na podstawie jego najbardziej znaczących bitów (tych od strony lewej).
Unspecified 00...0 (128 bits) ::/128Loopback 00...1 (128 bits) ::1/128Multicast 11111111 ff00::/8Link-Local unicast 1111111010 fe80::/10Global Unicast (everything else)
Adres 0:0:0:0:0:0:0:1 (::1) jest adresem pętli zwrotnej (Loopback Address). Może być wykorzystywany, kiedy chcemy wysłać pakiet sami do siebie. Nie przypisuje się go do żadnego fizycznego interfejsu. Jest przypisany do wirtualnego interfejsu loopback. Adres ::1 jest typu unicast o zakresie Link-Local.
Rekomendacje sposobu zapisu adresu IPv6 (m.in. kompresja zer):
Sprawdź, czy posiadasz adres IPv6
Służy do wyświetlania interfejsów sieciowych i edycji ich ustawień. Obecnie komenda ta przestała być częścią najpopularniejszych edycji systemu Linux. Nie działa także na wydziałowych komputerach.
ifconfig
Nowszy odpowiednik ifconfig
ip
Sprawdzanie adresu internetowego w systemie linux:
ip addr
Polecenie ping służy do sprawdzenia połączenia między dwoma hostami. Działa tak samo jak w systemie windows.
ping google.com
Ważne pliki systemu linux:
/etc/hosts - odwzorowanie nazw hostów do adresów IP/etc/networks - odwzorowanie nazw sieciowych do adresów IP/etc/services - przypisanie nazw serwisów do numerów portów
Porty służą jako końcówki komunikacyjne w połączeniach typu TCP i UDP. Port jest 16-bitowym numerem z zakresu 0 do 65535. Niektóre numery portów (od 0 do 1023) są określone jako ogólnie znane (ang. well known ports) oraz zarezerwowane na standardowo przypisane do nich usługi, takie jak np. WWW czy poczta elektroniczna. 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 49151Dynamic and/or Private Ports: o numerach od 49152 do 65535
Przykłady:
21: FTP Server22: SSH Server (remote login)25: SMTP (mail server)53: Domain Name System (Bind 9 server)80: World Wide Web (HTTPD server)110: POP3 mail server143: IMAP mail server443: 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 -nal | grep LISTEN
Załóżmy, że firma posiada jeden adres IP. Jak rozplanować adresację sieci tak by podzielić ją pomiędzy kilka lokalizacji (budynków).
Przykład:
Odpowiedź :
pierwsza150.10.0.0, 255.255.192.0150.10.0.1 - 150.10.63.254150.10.63.255druga150.10.64.0, 255.255.129.0150.10.64.1 - 150.10.127.254150.10.127.255trzecia150.10.128.0, 255.255.192.0150.10.128.1 - 150.10.191.254150.10.191.255czwarta150.10.192.0, 255.255.192.0150.10.192.1 - 150.10.255.254150.10.255.255
Film na temat adresacji (do obejrzenia w domu)
Podział na sieci różnej wielkości stosujemy w wypadku gdy nie zadowala nas równomierny podział. 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:
Stosowane na początku rozwoju sieci internet 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).
Nmap (ang. Network Mapper) jest narzędziem open source do eksploracji sieci.
man nmap
Zadanie (10 pkt)
Wykonaj polecenie
lsof -i
aby zobaczyć jakich portów używają uruchomione w systemie programy. Wejdź na stronę prowadzącego skopiuj wpis pokazujący na którym porcie przeglądarka łączy się ze stroną prowadzącego.
Zadanie (20 pkt)
Adres komputera docelowego to 150.254.78.69
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 losowym 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 i nr indeksu.
Uwaga! każde zakończone sukcesem połączenie z serwer powoduje restart na losowym porcie, stąd może wystąpić konieczność kilkukrotnego przeszukania za pomocą nmap (gdyż serwer może zostać w międzyczasie zrestartowany).
Na Moodle podaj w treści swój numer indeksu.
Podejrzyj przez stronę
, czy Ci się udało.
Uwaga! Zadanie to musi być wykonywane wewnątrz sieci wydziałowej - komputer wydziałowy lub przez połączenie SSH.
Zadanie (50 pkt)
Znajdź adres sieci i adres rozgłoszeniowy mając adres IP hosta i maskę:
212.10.Pierwsze trzy cyfry Twojego numeru indeksu modulo 255 . Ostatnie trzy cyfry twojego numeru indeksu modulo 255 - maska 23Np. dla numeru 287046 będzie to 212.10.32.46, maska 23.
Dla adresu Adres: 10.3.pierwsze trzy cyfry Twojego numeru indeksu modulo 255. Ostatnie trzy cyfry twojego numeru indeksu modulo 255. Maska: 255.255.255.240. Podaj adres sieci, liczbę adresów w podsieci, adres rozgłoszeniowy
Dokonaj podziału na 1020 równych podsieci sieci o adresie 192.168.0.0/20. Podaj adres pierwszej, drugiej i 1020 podsieci.
Mając do dyspozycji sieć 88.123.pierwsze trzy cyfry Twojego numeru indeksu modulo 255.0. Maska długości 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.
Dokonaj agregacji CIDR adresów sieci z zakresu
202.1.96.0/24202.1.97.0/24202.1.98.0/24...202.1.126.0/24202.1.127.0/24
Zadanie (10 pkt)
Użytkownik wywołał funkcję
ip route show
i otrzymał odpowiedź:
192.167.1.0/24 dev wlp0s20f3 proto kernel scope link src 192.167.1.104 metric 600
Wytłumacz co oznacza otrzymana przez niego odpowiedź systemu.
Zadanie (10 pkt)
Podaj swój adres IP wersji 4 i zamień go na adres w wersji IPv6 w modelu "IPv6 6-to-4 tunnels".
Skorzystaj z informacji zawartych na stronie https://routing-bits.com/2009/03/19/converting-ipv4-to-ipv6/ (wystarczy dodać przedrostek 2002: i przeliczyć nasz adres IPv4 na postać szesnastkową).
System przesyłania zadań:
Moodle:
Proszę zalogować się na stronie (logujemy się takimi samymi danymi jak na komputery wydziałowe) dopisać się do odpowiedniej grupy zajęciowej oraz odpowiedzi w formie tekstowej.
Uwaga! Odpowiedzi można przesyłać tylko raz między 26.X.2020 1:00 A.M. - 31.X.2020 1:00 A.M.
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
https://www.networkers.pl/index.php/protokol-ipv6/28-ipv6-typy-adresow-i-ich-budowa