---
# System prepended metadata

title: SK Lista 1
tags: [sk]

---

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