]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Zakończenie pisania rozdziału 5. Do przeredagowania.
authorxf0r3m <jakubstasinski@protonmaill.com>
Mon, 12 Feb 2024 11:40:35 +0000 (12:40 +0100)
committerxf0r3m <jakubstasinski@protonmaill.com>
Mon, 12 Feb 2024 11:40:35 +0000 (12:40 +0100)
articles/terminallog/Cisco_-_CCNA.html

index 2d14f030aeebd26a2d70b0030e5910b979e50cde..d8c61ecde27db58177269edbebdf5416edd85d4a 100755 (executable)
         wydawać się nieco dziwne, dlatego też przy takich informacjach będę
         zapisywać oznacznie oryginalności zapisu (<strong>sic/sic!</strong>).
       </p>
+      <h1 id="1.5.numbersystems">1.5. Systemy liczbowe</h1>
+      <p>
+        Z systemami liczbowymi, spotykamy się na co dzień licząc lub
+        wykorzystując jego cyfry. Ludzie naturalnie wykorzystują bowiem system
+        dzięsiętny, które podstawą jest liczba 10 oraz znaki od 0-9. W
+        przypadku komputerów, wykorzystywane jest ich znacznie więcej a takimi
+        podstawowymi są: system binarny oraz system heksadecymalny oba te
+        systemy znajdują swoje zastosowanie w sieci.
+      </p>
+      <h2 id="1.5.1.binarynumbersystem">1.5.1. Binarny system liczbowy</h2>
+      <p>
+        Binarny system liczbowy składa się z 1 oraz 0 nazywanych bitami.
+        Adresy protokołu IP zapisem poniękąd binarnym, adres składa się z
+        ciągu 32-bitów podzielonych na cztery sekcje zwane oktetami. Każdy
+        oktet składa się 8 bitów lub jednego 1 bajtu. Jednak ludzie w celu
+        uproszczenia sobie nieco pracy wykorzysują zapis dziesiętny,
+        konwertując poszczególne oktety. Dlatego też adresy IP posiadają
+        zakres wartości od 0 do 255.  
+      </p>
+      <p>
+        Binarny system liczbowy podobnie do systemu dziesiętnego jest systemem
+        pozycyjnym. Pozycyjność polega na tym, że cyfry reprezentują wartości
+        na podstawie pozycji, na której się znajdują w sekwencji cyfr (liczbie).
+        Spójrzmy na poniższy przykład, prostą liczbą dzięsiętną, którą możemy
+        rozpatrzyć pod kątem pozyjności może być: 1234.
+      </p>
+<pre class="code-block">
+1 x 10^3 (1000) = 1000
+  +
+2 x 10^2 (100)  = 200
+  +
+3 x 10^1 (10)   = 30
+  +
+4 + 10^0 (1)    = 4
+</pre>
+      <p>
+        Podobnie jest z cyframi binarnymi, tak jak tutaj brano po uwagę potęgę
+        wykładnika jakim jest liczba 2. Rozważmy sobie przykład liczby:
+        10110010.
+      </p>
+<pre class="code-block">
+1 x 2^7 (128) = 128
+  +
+0 x 2^6 (64)  = 0
+  +
+1 x 2^5 (32)  = 32
+  +
+1 x 2^4 (16)  = 16
+  +
+0 x 2^3 (8)   = 0
+  +
+0 x 2^2 (4)   = 0
+  +
+1 x 2^1 (2)   = 2
+  +
+0 x 2^0 (1)   = 0
+              = 178
+</pre>
+      <p>
+        Analizując pozycyjność cyfr binarnych, przypadkiem dowiedzieliśmy się
+        w jaki sposób możemy dokonąć konwersji wstecznej z cyfr binarnych na
+        postać dziesiętną.
+      </p>
+      <p>
+        Konwersji liczb dziesiętnych możemy dokonać w na dwa sposóby. Jednym
+        z nich może być metoda pisemna. Polega ona na dzieleniu liczby przez
+        dwa do momentu uzyskania 0, przyczym wiemy, że nie wszystkie liczby
+        dzielą się na dwie równe częsci. Ta pozostałosc to reszta z dzielenia
+        i przeważnie w wyniku dzielnia przez dwa jej wartość nie będzie
+        wynosić więcej niż 1. Dlatego też reszta z dzielenia albo będzie
+        występować (wówczas, będzie wynosić 1) albo jej nie będzie ponieważ
+        cyfra podzieli się równo. Czy ten schemat nam coś przypomina. Tak,
+        reszta z dzielenia to nasza wartość binarna. Ale tutaj jest pewien
+        haczyk.
+      </p>
+<pre class="code-block">
+178 / 2 = 89 | 0
+89  / 2 = 44 | 1
+44  / 2 = 22 | 0  /\
+22  / 2 = 11 | 0  ||
+11  / 2 = 5  | 1  ||
+5   / 2 = 2  | 1  ||
+2   / 2 = 1  | 0   
+1   / 2 = 0  | 1
+</pre>
+      <p>
+        Otóż wartości reszty z dzielnia są odczytywane z dołu do góry.
+        178<sub>DEC</sub> = 10110010<sub>BIN</sub>.
+      </p>
+      <p>
+        Inny sposóbem jest próba oszacowania. Bierzemy na 178 i sprawdzamy
+        czy jest większe bądź równe 128. No tak. Zatem zapisujemy skranie po
+        lewej
+        stronie 1 i odejmujemy od naszej liczby bazowej 128 (178-128) pozostaje
+        nam 50 itd. tak jak na przykładzie.
+      </p>
+<pre class="code-block">
+178 &gt;= 128 = 1
+178 - 128 = 50
+50 &gt;= 64 = 0
+50 &gt;= 32 = 1
+50 - 32 = 18
+18 &gt;= 16 = 1
+18 - 16 = 2
+2 &gt;= 8 = 0
+2 &gt;= 4 = 0
+2 &gt;= 2 = 1
+2 - 2 = 0
+0 &gt;= 1 = 0
+
+10110010
+</pre>
+      <p>
+        Postać binarna zamienianej liczby powstaje z wyników warunków
+        logicznych jeśli przyjmiemy, że <em>Tak</em> to 1 a <em>Nie</em> to 0.
+        Ta metoda pozwala na przeliczanie liczb w pamięci. Metodę odwrotnej
+        konwersji już poznalismy przy poznawania pozycyjności.
+      </p>
+      <h2 id="1.5.2.hexadecimalnumbersystem">1.5.2. System szesnastkowy</h2>
+      <p>
+        System heksadecymalny w przypadku sieci może przydzać się do
+        zrozumienia IPv6. System ten wykorzysuje jako bazę 16 cyfr 0-9 oraz
+        od A-F. Jedna cyfrę heksadecymalną możemy wyrazić za pomocą 4 binarnych
+        bitów. System ten jest wykorzystywany tak jak wcześniej wspomniano do
+        IPv6 oraz adresów fizycznych.
+      </p>
+      <p>
+        Chcąc skonwertować liczbę dziesiętna na heksadecymalną, możemy posłużyć
+        się metodą pisemną tylko zamiast 2 użyć liczby 16. Raczej nie bedzie
+        takie potrzeby aby to robić. Innym rodzajem konwersji możebyć
+        przeliczenie z systemu binarnego na szesnastkowy. Tutaj nie trzeba
+        nic przeliczać, wystarczy odwołać się do tabelki o poniżej.
+      </p>
+<pre class="code-block">
+0000 = 0
+0001 = 1
+0010 = 2
+0011 = 3
+0100 = 4
+0101 = 5
+0110 = 6
+0111 = 7
+1000 = 8
+1001 = 9
+1010 = A
+1011 = B
+1100 = C
+1101 = D
+1110 = E
+1111 = F
+</pre>
+      <p>
+        Jeśli mamy przeliczyć cyfrę dziesiętna to możemy zrobić to bezpośrednio
+        przez metodę pisemną lub pośrednio, zamienić ją na system binarny bo
+        taki jest prosty do przeliczenia a następnie zgodnie z tablą powyżej
+        zamienić 8 bitów binarnych na dwie cyfry heksadecymalne dające
+        żądana liczbę. Pamiętamy że nasz 178 to 10110010 to chcąc zamienić tę
+        liczbę na system szesnastkowy możey zrobić to tak:
+      </p>
+<pre class="code-block">
+178 = 1011 0010
+       B     2
+178 = B2
+
+B = 1011
+2 = 0010
+B2 = 10110010 = 178
+</pre>
+      <h2 id="ch5summary">Podsumowanie</h2>
+      <p>
+        W tym jakże, krótkim rozdziale poznaliśmy dwa podstawowe system
+        liczbowe wykorzystywane także w sieciach. Nauczyliśmy się konwersji
+        z systemu 10 na binarny oraz z systemu binarnego na szesnastkowym i
+        odwrotnie. Konwersja systemów a w szczególności z dziesiętnego na
+        binarny będzie nam potrzebna do podziału sieci na podsieci oraz
+        metody VLSM.
+      </p>
       <h1 id="1.6.datalinklayer">1.6. Warstwa łącza danych</h1>
       <p>
         Warstwa łącza danych jest pierwszą warstwą, w której możemy spotkać się