przejście do zawartości
Jan Kończak
Narzędzia użytkownika
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Ostatnie zmiany
Menadżer multimediów
Indeks
Jesteś tutaj:
start
»
bio-psiec
»
adresacja_ip
bio-psiec:adresacja_ip
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
===== Adresacja IP ===== Każdy komputer w sieci do komunikacji potrzebuje adresu, tak żeby można było np. na ten adres skierować wiadomość (i odebrać odpowiedź). Do adresowania komputerów w sieci używa się adresów IP (//Internet Protocol//) wersji 4 bądź 6. ==== Adresy ==== **Adres IPv4** to 32 bitowa liczba. \\ Adres IPv4 zapisuje się dzieląc go na 4 ośmiobitowe bloki oddzielone kropką, zapisując każdy z nich jako liczbę dziesiętna (//[[https://en.wikipedia.org/wiki/Dot-decimal_notation|dotted-decimal notation]]//). Przykładowy adres IPv4: \\ 2533229938 = 0x96fe0572 = **150.254.5.114** ~~Zadanie.#~~ Spróbuj wpisać w przeglądarkę internetową w pasek adresu kolejno: * http://2533236254/jkonczak/ * http://0x96fe1e1e/jkonczak/ * http://150.254.30.30/jkonczak/ <html><div style="margin-bottom:-1.4em"></div></html> Która z tych wersji działa? **Adres IPv6** to 128 bitowa liczba. \\ Adres IPv6 zapisuje się dzieląc go na 8 szesnastobitowych bloków oddzielonych dwukropkiem, zapisując każdy z nich jako liczbę szesnastkową. W każdej grupie wiodące zera są pomijane, a najdłuższy ciąg bloków o wartości zero jest zapisywany jako podwójny dwukropek. Cyfry ''a''-''f'' są zapisywane małymi literami. \\ Przykładowy adres IPv6: 2620:0:2830:200::b:8 ~~Zadanie.#~~ Spróbuj wpisać w przeglądarkę internetową w pasek adresu kolejno: * http://[2001:0808:0201:0000:0000:0000:0005:0114]/wydzial * http://[2001:808:201::5:114]/wydzial <html><div style="margin-top:-1.4em"></div></html> Zwróć uwagę na konieczność umieszczenia adresu w nawiasach kwadratowych – będzie to później wyjaśnione. ==== Adresy publiczne i prywatne, adresy IPv4 vs IPv6 ==== Cała pula (tzn. cały zakres, zbiór wszystkich) adresów IP jest z góry podzielona m. inn. na adresy publiczne i prywatne. __Za pośrednictwem internetu możliwa jest komunikacja między dwoma dowolnymi adresami publicznymi__ (tego samego protokołu warstwy sieci). Urządzenia bezpośrednio podłączone do internetu muszą posiadać publiczne (globalnie trasowalne%%/%%//globally routable//) adresy IP. \\ Urządzenia mogą nie posiadać publicznego adresu IP i używać zamiast niego prywatnego adresu IP, ale wtedy do internetu potrzebują się łączyć przez urządzenie posiadające publiczny adres IP. Od początku lat 80-tych do dzisiaj w internecie używane są adresy IPv4. Adresów IPv4 jest mniej niż urządzeń podłączonych do internetu. Żeby wszyscy chętni mogli korzystać z internetu potrzebne jest "chowanie" wielu urządzeń za jednym urządzeniem z publicznym IPv4. To rozwiązanie działa, ale powoduje grupę innych problemów. \\ IPv6, stworzony jako następca IPv4, powoli go zastępuje. Od kilkunastu lat sieć szkieletowa internetu jest gotowa do transportu IPv6. Wprowadzanie IPv6 nie idzie równo szybko na całym świecie i głównie zależy od wyrachowania operatorów internetowych (skoro IPv4 jeszcze działa, to po co przepłacać). \\ W tej chwili google notuje około zapytań z użyciem IPv6 (https://www.google.com/ipv6/statistics.html). ==== Zarządzanie pulą adresów ==== Uporządkowaniem tego kto wykorzystuje który publiczny adres IP np. w Polsce zajmują się hierarchicznie zależne od siebie organizacje: * [[http://www.iana.org/numbers|ICANN / IANA]] dzieli całą pulę adresów na pięć "regionalnych" organizacji ([[https://www.icann.org/news/announcement-2-2014-05-20-en|wszystkie adresy IPv4 już rozdane]]), * [[https://www.ripe.net/manage-ips-and-asns|RIPE NCC]] rozdaje "europejską" pulę LIRom ([[https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses|wszystkie adresy IPv4 już rozdane]]), * [[https://www.ripe.net/membership/member-support/list-of-members/pl/|Lokalne rejestry internetowe]] (LIR), np. usługodawcy internetowi (ISP, //Internet Service Provider//) dają adresy swoim klientom. ==== Sieć, prefiks, maska ==== Każdy adres IP należy do jakiejś **sieci** (w IPv6 nazywanej zwykle **prefiksem**). \\ W ramach jednej sieci urządzenia mogą bezpośrednio wymieniać się wiadomościami. Żeby skomunikować się z urządzeniem z innej sieci trzeba do niego wysłać wiadomość przez inne urządzenie ze swojej sieci (stąd internet określa się siecią sieci). Administrator ustala jakie adresy są razem w sieci wybierając ile pierwszych bitów w adresie jest wspólne dla wszystkich adresów w tej sieci. Taką liczbę bitów nazywa się **długością maski** (dla IPv4) lub **długość prefiksu** (dla IPv6). <html><pre style="line-height:100%;font-size:85%;min-width:1px;max-width:100%;width:fit-content;"> Jeżeli długość maski wynosi 20, to adresy 192.168.0.10 oraz 192.168.0.20 <b>nie</b> są w tej samej sieci, a adresy 192.168.0.50 oraz 192.168.0.60 są w tej samej sieci bo 20 pierwszych bitów dla 192.168.0.10 i 192.168.0.20 są różne: 192.168.0.10 = <span style="background-color:#44f2">11000000.10101000.00000000.000<span style="color:#800">0</span></span>1010 192.168.0.20 = <span style="background-color:#44f2">11000000.10101000.00000000.000<span style="color:#800">1</span></span>0100 a 20 pierwszych bitów dla 192.168.0.50 i 192.168.0.60 są takie same: 192.168.0.50 = <span style="background-color:#44f2">11000000.10101000.00000000.0011</span>0010 192.168.0.60 = <span style="background-color:#44f2">11000000.10101000.00000000.0011</span>1100 </pre></html> <html><pre style="line-height:100%;font-size:85%;min-width:1px;max-width:100%;width:fit-content;"> Jeżeli długość maski wynosi 64, to fd00:ad:ac7a:8::dead:beef, fd00:ad:ac7a::8:dead:beef, fd00:ad:cafe:8::dead:beef <b>nie</b> są w tej samej sieci, a fd00:ad:ac7a:8::dead:beef, fd00:ad:ac7a:8:dead::beef, fd00:ad:ac7a:8::ace są w tej samej sieci bo kolejno pełne rozwinięcia adresów to: <span style="background-color:#44f2">fd00:00ad:<span style="color:#800">ac7a</span>:000<span style="color:#800">8</span></span>:0000:0000:dead:beef <span style="background-color:#44f2">fd00:00ad:ac7a:0008</span>:0000:0000:dead:beef <span style="background-color:#44f2">fd00:00ad:<span style="color:#800">ac7a</span>:000<span style="color:#800">0</span></span>:0000:0008:dead:beef <span style="background-color:#44f2">fd00:00ad:ac7a:0008</span>:dead:0000:0000:beef <span style="background-color:#44f2">fd00:00ad:<span style="color:#800">cafe</span>:000<span style="color:#800">8</span></span>:0000:0000:dead:beef <span style="background-color:#44f2">fd00:00ad:ac7a:0008</span>:0000:0000:0000:0ace </pre></html> Długość maski/prefiksu zapisuje się jako ''/%%%%//n//''. W IPv4 maska była tradycyjnie zapisywana identycznie jak adres sieci i składała się w zapisie binarnym z ciągu jedynek po którym następował ciąg zer. \\ Przykładowo zamiast /20 zapisywano 255.255.240.0 Znając jedynie adres nie da się powiedzieć jaką maskę sieci/długość prefiksu ustawił administrator. Adres IP nie ma na końcu zapisanej długości maski. Zapis np. 192.168.0.10/20 to adres IP z maską (długością maski). <html><pre style="line-height:100%;font-size:85%;min-width:1px;max-width:100%;width:fit-content;"> 192.168.0.10 <-- to jest adres IP 192.168.0.10/20 <-- to nie jest tylko adres IP </pre></html> Zapis ''%%/%%//n//'' używa się też do określania zakresu adresów należących do wielu sieci. <html><pre style="line-height:100%;font-size:85%;min-width:1px;max-width:100%;width:fit-content;"> Jeżeli administrator skonfigurował sieć 192.168.0.0/24 oraz sieć 192.168.1.0/24 to żeby określić wszystkie adresy z obu sieci naraz, może zapisać 192.168.0.0/23 bo łącznie sieci: 192.168.0.0/24 = <span style="background-color:#44f2">11000000.10101000.00000000</span>.XXXXXXXX 192.168.1.0/24 = <span style="background-color:#44f2">11000000.10101000.00000001</span>.XXXXXXXX określają ten sam zakres adresów co: 192.168.0.0/23 = <span style="background-color:#44f2">11000000.10101000.0000000</span>X.XXXXXXXX (gdzie X oznacza dowolną wartość bitu) </pre></html> ==== Określanie adresu sieci i urządzeń należących do sieci ==== W IPv4 pierwszy adres w sieci to **adres sieci** i nie może zostać przypisany żadnemu urządzeniu. Ostatni adres w sieci to **adres rozgłoszeniowy** tej sieci (czyli adres pod który wysłana wiadomość ma dotrzeć do wszystkich w sieci) i też nie może być nadany żadnemu urządzeniu.\\ W IPv6 pierwszy adres prefiksu [[https://datatracker.ietf.org/doc/html/rfc4291#section-2.6.1|powinien]] zostać ustawiony na routerach z tego prefiksu. Przez to że w adresacji IPv4 pierwszy i ostatni adres w sieci nie może być używany przez urządzenia, to w sieci o masce %%/%%//n// można zaadresować **2<sup>32-n</sup>-2** urządzeń. <html><pre style="line-height:100%;font-size:85%;min-width:1px;max-width:100%;width:fit-content;"> Przykładowo: w sieci 172.16.16.88/29 są adresy: 172.16.16.88 – adres sieci 172.16.16.89 ┐ 172.16.16.90 │ adresy które można 172.16.16.91 │ nadać urządzeniom 172.16.16.92 │ 172.16.16.93 │ liczba adresów to: 2<sup>32-29</sup>-2 = 2<sup>3</sup>-2 = 6 172.16.16.94 ┘ 172.16.16.95 – adres rozgłoszeniowy Adres 172.16.16.88 można zapisać jako: 10101100 00010000 00010000 01011000 Przy czym maska obejmuje pierwsze 29 bitów (część sieciowa): <span style="background-color:#44f2; border-right:1px #800 solid">10101100 00010000 00010000 01011</span>000 A adresy w tej sieci to wspólny początek i dalej wszystkie kombinacje (część komputerowa). </pre></html> ==== Bloki adresów prywatnych ==== Pamiętaj że komunikacja między adresami prywatnymi możliwa jest tylko w sieciach lokalnych, więc o podziale i użyciu adresów prywatnych decyduje lokalny administrator. Bloki adresów prywatnych IPv4 to: * **10.0.0.0/8**, * 172.16.0.0/16 - 172.31.0.0/16 (**172.16.0.0/12**), * 192.168.0.0/24 - 192.168.255.0/24 (**192.168.0.0/16**). Dodatkowo wydzielony został blok [[https://en.wikipedia.org/wiki/IPv4_shared_address_space|100.64.0.0/10]] ("shared addresses"), który od prywatnych różni się tym że zarządza nim usługodawca, a nie lokalny administrator. **Dla IPv6 odpowiednikiem adresów prywatnych są adresy** site-local z prefiksu fc00::/7 (te zaczynające się na fc… lub fd…), z których używa się adresów **z zakresu fd00::/8** (i z tych adresów tworzy się sieci z długością prefiksu /64). ==== Adresy specjalne ==== <html> <table > <tr> <th>IPv4</th> <th>IPv6</th> </tr> <tr> <td style="border-bottom:none" colspan="2"> Pętlna zwrotna (<i>Loopback</i>) / localhost – adres do samego siebie </td> </tr> <tr> <td style="border-top:none"><b>127.0.0.1</b> (i cała sieć 127.0.0.0/8)</td> <td style="border-top:none"><b>::1</b></td> </tr> <tr> <td style="border-bottom:none" colspan="2"> Dowolny adres (<i>any address</i>) / localhost – używany tam gdzie należy podać adres, jeśli adres ma być dowolny, a nie konkretny <br> <small> np 1: określając że program ma odbierać wiadomości kierowane na dowolny z adresów tego komputera (zamiast tylko na wskazany) <br> np 2: podając z jakiego adresu student może sobie zaznaczać na moodle obecność można podać dowolny adres z maską /0 (zamiast adresów IP laboratorium) </small> </td> </tr> <tr> <td style="border-top:none"><b>0.0.0.0</b></td> <td style="border-top:none"><b>::</b> (czyli same zera)</td> </tr> <tr> <td style="border-bottom:none" colspan="2"> Adresy multicastowe – wiadomość wysłana na taki adres trafia do wielu odbiorców którzy wcześniej zgłosili chęć odbierania wiadomości kierowanych na ten adres </td> </tr> <tr> <td style="border-top:none">224.0.0.0/4 (do 239.255.255.255)</td> <td style="border-top:none">ff00::/8</td> </tr> <tr> <td style="border-bottom:none" colspan="2"> <i>Limited broadcast</i> – adres "do wszystkich" który np. da się wykorzystać nawet jeśli urządzenie jeszcze nie wie w jakiej jest sieci </td> </tr> <tr> <td style="border-top:none">255.255.255.255</td> <td style="border-top:none">brak (zamiast tego używa się adresu multicastowego "wszystkie węzły"</td> </tr> <tr> <td style="border-bottom:none" colspan="2"> <i>Link Local</i> – adresy które pozwalają komunikować się tylko z bezpośrednio połączonymi urządzeniami </td> </tr> <tr> <td style="border-top:none">169.254.0.0/16</td> <td style="border-top:none">fe80::/10</td> </tr> </table> </html> <html><div style="margin-top:-1.4em"></div></html> Pełna lista adresów specjalnych jest dostępna na stronie IANA dla [[https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml|IPv4]] i [[https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml|IPv6]] (i przepisana na [[http://en.wikipedia.org/wiki/Reserved_IP_addresses|wikipedię]]). ===== Zadania ===== === Przeliczanie z systemu dziesiętnego na binarny === | Metoda 1: \\ <html> <object id="svg-object" data="/jkonczak/_media/bio-psiec:adresacja_ip:dec2bin_1.svg" type="image/svg+xml"></object> </html> | Metoda 2: \\ <html> <object id="svg-object" data="/jkonczak/_media/bio-psiec:adresacja_ip:dec2bin_2.svg" type="image/svg+xml"></object> </html> | === Zadania === ~~Zadanie.#~~ Podaj adres sieci do której należy komputer o IP: <html><div style="margin-top:-1.4em"></div></html> - ''10.10.20.30'' jeżeli sieć używa maski /24 - ''10.10.20.30'' jeżeli sieć używa maski /28 - ''150.254.32.144'' jeżeli sieć używa maski /26 - ''192.168.75.0'' jeżeli sieć używa maski /23 - ''192.168.178.42'' jeżeli sieć używa maski /22 - ''2001:808:201:100:c11a:4850:1537:2b9b'' jeżeli sieć używa maski /64 - ''2001:808:201::5:114'' jeżeli sieć używa maski /64 - ''fdae::4c:a:f:f:e'' jeżeli sieć używa maski /64 - ''fdae::4c:a:f:f:e'' jeżeli sieć używa maski /60 ~~Zadanie.#~~ Podaj: Ⓐ adres sieci, Ⓑ adres rozgłoszeniowy, Ⓒ pierwszy i ostatni adres który można nadać urządzeniu w sieci, oraz Ⓓ ilość urządzeń którą można zaadresować w sieci: <html><div style="margin-top:-1.4em"></div></html> - ''172.20.0.0/16'' - ''150.254.32.64/26'' - ''10.20.30.40/30'' - ''2606:4700::6810:2c63/64'' - ''2a01:7080:24:100::666:45/104'' ~~Zadanie.#~~ \\ a) Zakładając że te adresy należą do sieci z maskami o długości 27, podziel adresy na grupy adresów które są w tej samej sieci: \\ ''10.0.0.222'' ''10.0.0.199'' ''10.0.0.150'' ''10.0.0.166'' ''10.0.0.190'' ''10.0.0.189'' \\ b) Zakładając że te adresy należą do sieci z maskami o długości 20, podziel adresy na grupy adresów które są w tej samej sieci: \\ ''172.16.23.85'' ''172.16.33.76'' ''172.16.43.29'' ''172.16.8.0'' ''172.16.42.1'' ''172.16.4.164'' \\ c) Zakładając że te adresy należą do sieci z maskami o długości 112, podziel adresy na grupy adresów które są w tej samej sieci: \\ ''fdba::ace'' ''fdba::acca'' ''fdba::a:cf'' ''fdba::a55'' ''fdba::ac7a'' ''fdba:a::'' ~~Zadanie.#~~ Podaj jaki adres i jaka długość maski jest równoważna adresom z zakresu: <html><div style="margin-top:-1.4em"></div></html> - ''192.168.32.0'' ÷ ''192.168.63.255'' - ''10.128.0.0'' ÷ ''10.191.255.255'' - ''172.22.0.64'' ÷ ''172.22.0.95'' - ''172.22.0.64'' ÷ ''172.22.0.127'' - ''172.22.0.64'' ÷ ''172.22.0.191'' - ''2001:808:201::'' ÷ ''2001:808:201::ffff:ffff'' - ''fd22::40'' ÷ ''fd22::7f''
bio-psiec/adresacja_ip.txt
· ostatnio zmienione: 2025/10/02 16:41 przez
jkonczak
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Złóż / rozłóż wszystko
Do góry