--- title: SK Lista 1 tags: sk author: Mateusz Reis --- # Sieci Komputerowe - Lista 1 ## Zadanie 1 ![](https://i.imgur.com/oRzogwW.png) - Adres 10.1.2.3/8 - prefiks 8-bitowy tak więc jest to adres komputera - Sieć 10.0.0.0/8 - Broadcast => 10.255.255.255/8 - Przykładowy adres komputera => 10.1.2.4/8 - Adres 156.17.0.0/16 - prefiks 16-bitowy tak więc jest to adres sieci - Sieć 156.17.0.0/16 - Broadcast => 156.17.255.255/16 - Przykładowy adres komputera => 156.17.2.14/16 - Adres 99.99.99.99/27 - prefiks 27-bitowy tak więc jest to adres komputera ponieważ po pierwszych 27 bitach prefiksu mamy dodatkowe bity 0 i 1 (01100011.01100011.01100011.011 00011) - Sieć 99.99.99.96/27 - Broadcast => 99.99.99.127/27 - Przykładowy adres komputera => 99.99.99.100/27 - Adres 156.17.64.4/30 - prefiks 30-bitowy tak więc jest to adres sieci ponieważ 2 ostatnite bity to zera - Sieć 156.17.64.4/30 - Broadcast => 156.17.64.7/30 - Przykładowy adres komputera => 156.17.64.6/30 - Adres 123.123.123.123/32 - prefiks 32-bitowy jes to sieć z jednego komputera tak więc jest to adres sieci, komputera i rozgłoszeniowy jednocześnie ## Zadanie 2 ![](https://i.imgur.com/TdduddN.png) Chcemy podzielić sieć 10.10.0.0/16 na 5 podsieci. Podzielmy więc całą sieć na 4 równe podsieci i ostanią jeszcze raz na 2. |# sieci|Adres|# możliwych adresów| |-|-|-| |0|10.10.0.0/18|$2^{14}-2$| |1|10.10.64.0/18|$2^{14}-2$| |2|10.10.128.0/18|$2^{14}-2$| |3|10.10.192.0/19|$2^{13}-2$| |4|10.10.224.0/19|$2^{13}-2$| Na początku nasza sieć miała $2^{16}-2$ adresów (bo tyle bitów zostało po odjęciu 16 bitów na prefiks i 2 adresów na adres sieci i broadcast). Po podzieleniu dla każdej sieci rezerwujemy dwa adresy tak więc mamy możliwych $2^{16}-2*5$ adresów dla komputerów w naszych podsieciach. Najmniejszą możliwą podsieć (jeśli nie chcemy wyrzucać adresów w powietrze) uzyskamy dzieląc naszą sieć na pół potem pozostałą część na pół, kolejną połowę na pół i ostanią sieć na dwie kolejne: |# sieci|Adres|# możliwych adresów| |-|-|-| |0|10.10.0.0/17|$2^{15}-2$| |1|10.10.128.0/18|$2^{14}-2$| |2|10.10.192.0/19|$2^{13}-2$| |3|10.10.224.0/20|$2^{12}-2$| |4|10.10.240.0/19|$2^{12}-2$| Tak więc najmniejsza podsieć będzie miała $2^{12}-2=4094$ adresów. ## Zadanie 3 ![](https://i.imgur.com/04iS0ju.png) Mamy tablicę routingu: |#|Router|Adres|Zakres adresów| |-|-|-|-| |0|A|0.0.0.0/0|0.0.0.0-255.255.255.255| |1|B|10.0.0.0/23|10.0.0.0-10.0.1.255| |2|B|10.0.2.0/24|10.0.2.0-10.0.2.255| |3|B|10.0.3.0/24|10.0.3.0-10.0.3.255| |4|C|10.0.1.0/24|10.0.1.0-10.0.1.255| |5|B|10.0.0.128/25|10.0.0.128-10.0.0.255| |6|B|10.0.1.8/29|10.0.1.8-10.0.1.15| |7|B|10.0.1.16/29|10.0.1.16-10.0.1.23| |8|B|10.0.1.24/29|10.0.1.24-10.0.1.31| Możemy połączyć wpisy (7) i (8) oraz (1),(2) i (3). Natomiast wpis (5) zawiera się już w wpisie (1) i nie jest przesłonięty przez (4), więc możemy go zignorować. Wtedy otrzymamy następującą tablicę routingu: |#|Router|Adres|Zakres adresów| |-|-|-|-| |0|A|0.0.0.0/0|0.0.0.0-255.255.255.255| |1|B|10.0.0.0/22|10.0.0.0-10.0.3.255| |2|C|10.0.1.0/24|10.0.1.0-10.0.1.255| |3|B|10.0.1.8/29|10.0.1.8-10.0.1.15| |4|B|10.0.1.16/28|10.0.1.16-10.0.1.31| ## Zadanie 4 ![](https://i.imgur.com/xUc3Ms9.png) |#|Router|Adres|Zakres adresów| |-|-|-|-| |0|A|0.0.0.0/0|0.0.0.0-255.255.255.255| |1|B|10.0.0.0/8|10.0.0.0-10.255.255.255| |2|C|10.3.0.0/24|10.3.0.0-10.3.0.255| |3|B|10.3.0.32/27|10.3.0.32-10.0.3.63| |4|B|10.3.0.64/27|10.3.0.64-10.3.0.95| |5|B|10.3.0.96/25|10.3.0.96-10.3.0.127| Jak widać możemy połączyć wpisy (3),(4) i (5) które prowadzą do routera B ale to nie zmieni liczby wpisów ponieważ nie można połączyć ich do jednego wspólnego prefiksu. Za to możemy rozbić wpis (2) na dwie osobne części i wyciąć z niego części prowadzące do B. |#|Router|Adres|Zakres adresów| |-|-|-|-| |0|A|0.0.0.0/0|0.0.0.0-255.255.255.255| |1|B|10.0.0.0/8|10.0.0.0-10.255.255.255| |2|C|10.3.0.0/27|10.3.0.0-10.3.0.31| |3|C|10.3.0.128/25|10.3.0.128-10.3.0.255| ## Zadanie 5 ![](https://i.imgur.com/zNAGjyq.png) Jeśli uporządkujemy wpisy w kolejności malejącej względem długości prefiksu to sprawdzając dopasowanie od pierwszego wpisu znajdziemy ten który najlepiej odpowiada naszemu adresowi. - Dowód: załóżmy że nasze uporządkowanie znalazło odpowiadający wpis $i$ w tablicy ale jest możliwe lepsze dopasowanie $k$ tj. o dłuższym prefiksie. Aby wystąpiła taka sytuacja dopasowanie znalezione przez nasze uporządkowanie musiałoby mieć wpis $i$ o mniejszym prefiksie przed wpisem $k$ o większym prefiksie, a to jest niemożliwe ponieważ nasze uporządkowanie stawia wpisy o najdłuższych prefiksach na początku a te o mniejszych później. ## Zadanie 6 ![](https://i.imgur.com/l7rZESt.png) Zaczynamy od tabelki: ||A|B|C|D|E|F| |-|-|-|-|-|-|-| |Trasa do A|-|1||||| |Trasa do B|1|-|1|||| |Trasa do C||1|-||1|1| |Trasa do D||||-|1|| |Trasa do E|||1|1|-|1| |Trasa do F|||1||1|-| |Trasa do S|1|1||||| W 1 kroku wszystkie routery powiedzą o swoich sąsiadach innym: ||A|B|C|D|E|F| |-|-|-|-|-|-|-| |Trasa do A|-|1|2(via B)|||| |Trasa do B|1|-|1||2(via C)|2(via C)| |Trasa do C|2(via B)|1|-|2(via E)|1|1| |Trasa do D|||2(via E)|-|1|2(via E)| |Trasa do E||2(via C)|1|1|-|1| |Trasa do F||2(via C)|1|2(via E)|1|-| |Trasa do S|1|1|2(via B)|||| 2 krok: ||A|B|C|D|E|F| |-|-|-|-|-|-|-| |Trasa do A|-|1|2(via B)||3(via C)|3(via C)| |Trasa do B|1|-|1|3(via E)|2(via C)|2(via C)| |Trasa do C|2(via B)|1|-|2(via E)|1|1| |Trasa do D||3(via B)|2(via E)|-|1|2(via E)| |Trasa do E|3(via B)|2(via C)|1|1|-|1| |Trasa do F|3(via B)|2(via C)|1|2(via E)|1|-| |Trasa do S|1|1|2(via B)||3(via C)|3(via C)| 3 krok: ||A|B|C|D|E|F| |-|-|-|-|-|-|-| |Trasa do A|-|1|2(via B)|4(via E)|3(via C)|3(via C)| |Trasa do B|1|-|1|3(via E)|2(via C)|2(via C)| |Trasa do C|2(via B)|1|-|2(via E)|1|1| |Trasa do D|4(via B)|3(via C)|2(via E)|-|1|2(via E)| |Trasa do E|3(via B)|2(via C)|1|1|-|1| |Trasa do F|3(via B)|2(via C)|1|2(via E)|1|-| |Trasa do S|1|1|2(via B)|4(via E)|3(via C)|3(via C)| Tutaj mamy już stan stabilny bo każdy wie jak przesłać pakiet do każdego innego w sieci. ## Zadanie 7 ![](https://i.imgur.com/8yVrxpl.png) Jeśli dodamy połączenie z A do D to będziemy aktualizować naszą tabelkę: ||A|B|C|D|E|F| |-|-|-|-|-|-|-| |Trasa do A|-|1|2(via B)|*1*|3(via C)|3(via C)| |Trasa do B|1|-|1|3(via E)|2(via C)|2(via C)| |Trasa do C|2(via B)|1|-|2(via E)|1|1| |Trasa do D|*1*|3(via C)|2(via E)|-|1|2(via E)| |Trasa do E|3(via B)|2(via C)|1|1|-|1| |Trasa do F|3(via B)|2(via C)|1|2(via E)|1|-| |Trasa do S|1|1|2(via B)|4(via E)|3(via C)|3(via C)| W następnym kroku: ||A|B|C|D|E|F| |-|-|-|-|-|-|-| |Trasa do A|-|1|2(via B)|*1*|*2(via D)*|3(via C)| |Trasa do B|1|-|1|*2(via A)*|2(via C)|2(via C)| |Trasa do C|2(via B)|1|-|2(via E)|1|1| |Trasa do D|*1*|*2(via A)*|2(via E)|-|1|2(via E)| |Trasa do E|*2(via D)*|2(via C)|1|1|-|1| |Trasa do F|3(via B)|2(via C)|1|2(via E)|1|-| |Trasa do S|1|1|2(via B)|*2(via A)*|3(via C)|3(via C)|