---
# System prepended metadata

title: 'Sieci, ćwiczenia 1'
tags: [sieci]

---

# Sieci, ćwiczenia 1

###### tags: `sieci`

## Zadanie 1

- `10.1.2.3/8` - jest to adres komputera. Adres sieci: `10.0.0.0/8`, adres rozgłoszeniowy: `10.255.255.255/8`, inny adres z sieci: `10.1.2.4/8`.
- `156.17.0.0/16` - jest to adres sieci. Adres rozgłoszeniowy: `156.17.255.255/16`, adres jakiegoś komputera: `156.17.21.37/16`.
- `99.99.99.99/27` - prefiks to `01100011.01100011.01100011.011`. Zatem jest to adres komputera. Adres sieci: `99.99.99.96/27`, adres rozgłoszeniowy: `99.99.99.127/27`, adres jakiegoś komputera: `99.99.99.99.100/27`.
- `156.17.64.4/30` - prefiks to `157.17.64.000001`. Pierwszy adres w tej sieci to właśnie `156.17.64.4/30`, więc jest to adres sieci. Adres rozgłoszeniowy to `156.17.64.7/30`, adres jakiegoś komputera: `156.17.64.6/30`.
- `123.123.123.123/32` - prefiks jest równy temu adresowi. Jest to po prostu konkretny adres IP.

## Zadanie 2

Adres pierwszej sieci:   `10.10.0.0/19`,
Adres drugiej sieci:     `10.10.32.0/19`,
Adres trzeciej sieci:    `10.10.64.0/19`,
Adres czwartej sieci:    `10.10.96.0/19`,
Adres piątej sieci:      `10.10.128.0/17`.

Wcześniej mieliśmy do użycia $2^16 - 2$ adresów, teraz mamy do użycia $2^16 - 10$ adresów, zatem o $8$ mniej.

Najmniejsza podsieć jaką możemy zrobić musi mieć rozmiar co najmniej $2^12$ adresów. Załóżmy, że dałoby się zrobić podsieć, która ma $2^11$ adresów. Wtedy 4 pozostałe podsieci musiałby "sumować się" do $2^{16} - 2^{11} = 11111000...0_{(2)}$, ale rozmiary to potęgi dwójki, no więc widać że się nie da (jedynek jest > 4).

## Zadanie 3

- `0.0.0.0/0    ---> A`
- `10.0.0.0/22  ---> B`
- `10.0.1.0/24  ---> C`
- `10.0.1.8/29  ---> B`
- `10.0.1.16/28 ---> B`

## Zadanie 4

- `0.0.0.0/0    ---> A`
- `10.0.0.0/8   ---> B`
- `10.3.0.0/24  ---> C`
- `10.3.0.32/27 ---> B`
- `10.3.0.64/26 ---> B` 

## Zadanie 5

Wystarczy je posortować po długości prefiksu (tzn. te z dłuższym prefiksem powinny mieć większy priorytet). Chcemy wybierać najbardziej "szcegółowe" reguły (czyli te z dłuższym prefiksem podsieci). W takim razie, po posortowaniu, przechodząc od lewej do prawej po tablicy, w pierwszej kolejności rozważymy najbardziej szczegółowe reguły, dopiero później przechodząc do tych mniej. Niech dla pewnego adresu ip $I$ zbiór pasujących reguł to $\{R_1, R_2, \ldots, R_k\}$, a odpowiadające im długości prefiksów to $l_1\le l_2\le\ldots\le l_k$. Wtedy, w tak ułożonej tablicy routingu jak to opisaliśmy, reguły $R_1, \ldots, R_k$ będą występowały w kolejności zadanej ciągiem $l_i$, zatem pierwsza reguła na jaką trafimy, to $R_1$, a jest to najbardziej szczegółowa reguła dla $I$.

## Zadanie 6


#### Krok 0:

|     | do A | do B | do C | do D | do E | do F |
| ---:| ---- | ---- | ---- | ---- | ---- | ---- |
|   A | -    | 1    |      |      |      |      |
|   B | 1    | -    | 1    |      |      |      |
|   C |      | 1    | -    |      | 1    | 1    |
|   D |      |      |      | -    | 1    |      |
|   E |      |      | 1    | 1    | -    | 1    |
|   F |      |      | 1    |      | 1    | -    |

#### Krok 1:

|     | do A          | do B          | do C          | do D          | do E          | do F          |
| ---:| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
|   A | -             | 1             | **2 (via B)** |               |               |               |
|   B | 1             | -             | 1             |               | **2 (via C)** | **2 (via C)** |
|   C | **2 (via B)** | 1             | -             | **2 (via E)** | 1             | 1             |
|   D |               |               | **2 (via E)** | -             | 1             | **2 (via E)** |
|   E |               | **2 (via C)** | 1             | 1             | -             | 1             |
|   F |               | **2 (via C)** | 1             |  **2 (via E)**             | 1             | -             |


#### Krok 2:

|     | do A          | do B          | do C      | do D          | do E          | do F          |
| ---:| ------------- | ------------- | --------- |:------------- | ------------- | ------------- |
|   A | -             | 1             | 2 (via B) |               | **3 (via B)** | **3 (via B)** |
|   B | 1             | -             | 1         | **3 (via C)** | 2 (via C)     | 2 (via C)     |
|   C | 2 (via B)     | 1             | -         | 2 (via E)     | 1             | 1             |
|   D |               | **3 (via E)** | 2 (via E) | -             | 1             | 2 (via E)     |
|   E | **3 (via C)** | 2 (via C)     | 1         | 1             | -             | 1             |
|   F | **3 (via C)** | 2 (via C)     | 1         | 2 (via E)     | 1             | -             |

#### Krok 3:

|     | do A          | do B      | do C      | do D          | do E      | do F      |
| ---:| ------------- | --------- | --------- |:------------- | --------- | --------- |
|   A | -             | 1         | 2 (via B) | **4 (via B)** | 3 (via B) | 3 (via B) |
|   B | 1             | -         | 1         | 3 (via C)     | 2 (via C) | 2 (via C) |
|   C | 2 (via B)     | 1         | -         | 2 (via E)     | 1         | 1         |
|   D | **4 (via E)** | 3 (via E) | 2 (via E) | -             | 1         | 2 (via E) |
|   E | 3 (via C)     | 2 (via C) | 1         | 1             | -         | 1         |
|   F | 3 (via C)     | 2 (via C) | 1         | 2 (via E)     | 1         | -         |


## Zadanie 7

Łączymy bezpośrednio ze sobą routery A oraz D. 

#### Krok 0:

|     | do A      | do B      | do C      | do D      | do E      | do F      |
| ---:| --------- | --------- | --------- |:--------- | --------- | --------- |
|   A | -         | 1         | 2 (via B) | **1**     | 3 (via B) | 3 (via B) |
|   B | 1         | -         | 1         | 3 (via C) | 2 (via C) | 2 (via C) |
|   C | 2 (via B) | 1         | -         | 2 (via E) | 1         | 1         |
|   D | **1**     | 3 (via E) | 2 (via E) | -         | 1         | 2 (via E) |
|   E | 3 (via C) | 2 (via C) | 1         | 1         | -         | 1         |
|   F | 3 (via C) | 2 (via C) | 1         | 2 (via E) | 1         | -         |

#### Krok 1:
|     | do A      | do B      | do C      | do D      | do E      | do F      |
| ---:| --------- | --------- | --------- |:--------- | --------- | --------- |
|   A | -         | 1         | 2 (via B) | 1         | **2 (via D)** | 3 (via B) |
|   B | 1         | -         | 1         | **2 (via A)** | 2 (via C) | 2 (via C) |
|   C | 2 (via B) | 1         | -         | 2 (via E) | 1         | 1         |
|   D | 1         | **2 (via A)** | 2 (via E) | -         | 1         | 2 (via E) |
|   E | **2 (via D)** | 2 (via C) | 1         | 1         | -         | 1         |
|   F | 3 (via C) | 2 (via C) | 1         | 2 (via E) | 1         | -         |

Więcej się nie poprawi.