---
title: SK Lista 1
tags: sk
author: Mateusz Reis
---
# Sieci Komputerowe - Lista 1
## Zadanie 1

- 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

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

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

|#|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

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

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

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)|