Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Tento článek by měl odpovědět na základní otázky:
Počítače a jiná zařízení, propojená v jedné společné síti, mají každý svou vlastní adresu. Ta je pro daný počítač jedinečná, nikde v internetu se neopakuje. Každá adresa je tedy jednoznačně určuje počítač, kterému byla přidělena. Pakety putující internetem s sebou nesou mj. cílovou adresu. Internet doručuje pakety správným směrem tak dlouho, až dorazí na adresou určený počítač. Každý paket též nese adresu odesílatele, takže komunikace může být obousměrná. Adresy, o kterých je zde řeč, jsou adresy protokolu IP (Internet Protocol), zkráceně IP adresy.
Každá IP adresa je 32 bitové číslo. Adresa 10.0.2.11 je též vyjádřitelná jako 0x0a00020b (0x znamená, že jde o hexadecimální číslo), nebo dvojkově 00001010 00000000 00000010 00001011. Zápis typu a.b.c.d se používá nejčastěji, a to pro přehlednost; každé z písmen a-d vyjadřuje desítkovým číslem 8 bitů adresy. Celkem tedy 8x4=32 bitů. Jednotlivé číslice a-d mohou nabývat hodnot 0 až 255. Limit 255 vyplývá z toho, že nejvyšší osmimístné dvojkové číslo (11111111) je právě 255 desítkově. Kombinací čtyř takových čísel získáme 256x256x256x256 = 4 294 967 296 (4 miliardy) možných IP adres. V počátcích Internetu (70. léta) se to zdálo být nepředstavitelné množství, ale dnes (po roce 2000) je masové nasazování privátních IP rozsahů důkazem jejich nedostatku. Odbočme lehce od tématu: tento problém řeší novější IP verze 6, která již v mnoha místech internetu funguje zároveň s obvyklým IP verze 4. Šířka adresy v IPv6 je 128 bitů, což dělá asi 1022 adres na 1 m2 povrchu zemského.
Vraťme se k věci. IP adres na světě tedy může být 2^32, nepočítaje nepovolené hodnoty jako samé nulové bity (0.0.0.0) a samé jedničkové bity (255.255.255.255), stejně jako speciální vyhrazené adresní rozsahy pro zvláštní účely. IP adresa je tedy v podstatě libovolná kombinace třiceti dvou nul a jedniček.
Maska je specifickým druhem IP adresy. Je to též kombinace nul a jedniček, ale zdaleka ne tak libovolná. Musí mít strukturu: Zleva jedničky, pak první nula a pak už jen nuly. Muze tedy obsahovat jen jediné místo, kde sousedí 1 a 0. Platné masky jsou například:
binárně a.b.c.d počet jedniček (J) 11111111 11111111 11111111 11111100 255.255.255.252 30 11111111 11111111 11111111 11111000 255.255.255.248 29 11111111 11111111 11111111 11110000 255.255.255.240 28 11111111 11111111 11111111 11100000 255.255.255.224 27 11111111 11111111 11111111 11000000 255.255.255.192 26 11111111 11111111 11111111 10000000 255.255.255.128 25 11111111 11111111 11111111 00000000 255.255.255.0 24 11111111 11111111 11100000 00000000 255.255.224.0 19 11111111 11000000 00000000 00000000 255.192.0.0 10 a podobně. |
Z uvedeného snadno nahlédneme, že maska, ač je to číslo 32bitové, nenese zdaleka tolik informace. Vlastně může být teoreticky jenom 33 různých masek od samých nul, přes "100...0", "111...1110" po samé jedničky. Proto dostačujícím údajem o masce je číslo mezi 0 a 32 udávající počet jedniček. Označme toto číslo proměnnou J pro pozdější použití. Proto se síťová maska 255.255.255.0 mnohdy uvádí též jako "/24". Lomítko je terminus technikus.
Ted už tedy víme, co je IP adresa a co maska. Jak spolu souvisí? Maska láme IP adresu na 2 části: adresu sítě a adresu stroje v rámci oné sítě. Kde se ty 2 části lomí, je určeno právě počtem jedničkových bitů v masce. Například maska "/24", to jest 255.255.255.0, lomí IP adresu na 24 bitů adresy sítě a 8 bitů adresy v té síti.
Další příklady (znak x ukazuje místo, kde se adresa dělí):
(A) x adresa 10.1.2.3 00001010 00000001 00000010 00000011 maska 255.255.255.0 11111111 11111111 11111111 00000000 (J=24), zkrácená specifikace této sítě: 10.1.2.0/24 (B) x adresa 10.1.2.3 00001010 00000001 00000010 00000011 maska 255.255.255.128 11111111 11111111 11111111 10000000 (J=25), zkrácená specifikace této sítě: 10.1.2.0/25 (C) x adresa 10.1.2.3 00001010 00000001 00000010 00000011 maska 255.255.240.0 11111111 11111111 11110000 00000000 (J=20), zkrácená specifikace této sítě: 10.1.0.0/20 |
'Adresa sítě' se vypočítá tak, že vezmeme jakoukoliv adresu stroje v této síti a jejích posledních (32-J) bitů vynulujeme. V každé síti je též stanovena adresa všesměrového vysílání 'broadcast', která je obvykle poslední (nejvyšší) adresou v síti, takže má na posledních (32-J) místech samé jedničky. Broadcastová adresa znamená, ze IP paket s takovouto cílovou adresou mají přijmout všechny počítače v dané síti. Ostatní adresy v síti jsou použitelné pro adresy jednotlivých zařízení: počítačů, ledniček a kávovarů. Ke stanovení počtu použitelných IP adres v síti postačí znát velikost síťové masky. Potom použijeme vzorec počet_adres = 2^(32-J) - 2. Dvojka se odečítá proto, že jsou právě 2 adresy se speciálním významem: Adresa sítě a adresa broadcastu.
V případě A, to je ten obvyklý, máme síť o 256 adresách. První adresa, to jest 00001010 00000001 00000010 00000000 (10.1.2.0) je adresou sítě. Poslední adresa v síti, 00001010 00000001 00000010 11111111 (10.1.2.255), je adresou broadcastu. Ostatní adresy, to jest od 00001010 00000001 00000010 00000001 (10.1.2.1) do 00001010 00000001 00000010 11111110 (10.1.2.254) jsou pro počítače (pračky, žehličky). Je-li v této síti jediný stroj, který je routerem (bránou) do ostatních sítí, dávám mu první možnou adresu, to jest 10.1.2.1 (to není nutné ani předepsané, je to jen dobrým zvykem). Jakákoliv adresa mezi 10.1.2.0 až 10.1.2.255 patří do této sítě.
V případě B máme podobnou síť, kde prvních 25 bitů adresy, to jest 00001010 00000001 00000010 0 určuje adresu sítě, zatímco pouze posledních 7 určuje adresy v této síti. V této síti může být dle dříve uvedeného vzorce 2^(32-25)-2 = 126 adres, a to...
od 00001010 00000001 00000010 00000000 (10.1.2.0 - adresa sítě) přes 00001010 00000001 00000010 00000001 (10.1.2.1) a 00001010 00000001 00000010 00000010 (10.1.2.2) a 00001010 00000001 00000010 01111110 (10.1.2.126) do 00001010 00000001 00000010 01111111 (10.1.2.127) - adresa broadcastu) |
Jakákoliv adresa mezi 10.1.2.0 až 10.1.2.127 patří do této sítě.
Případ C ukazuje velmi rozsáhlou síť o 4096 (resp. 4094) adresách počínaje
od 00001010 00000001 00000000 00000000 (10.1.0.0)
|
Vraťme se k případu B. Uvedli jsme síť s adresami 10.1.2.0 az 10.1.2.127. Sousední adresa, 10.1.2.128, již patří do jiné sítě! Když se na ni koukneme v binárním tvaru, uvidíme, že se liší v síťové části adresy (v prvních J=25 bitech):
00001010 00000001 00000010 10000000 (10.1.2.128)
|
Oproti případu A jsme zvětšením masky o 1 bit, tj z 255.255.255.0 na 255.255.255.128, vytvořili dvě sítě o 128 (resp. 126) adresách:
10.1.2.0/25 (10.1.2.0-10.1.2.127)
|
Došlo tedy k rozpůlení 256 adresové sítě na dvě 128 adresové. Zvětšením masky o další bit bychom každou z těchto sítí opět rozpůlili na dvě, takže už budeme mít 4 sítě po 64 (resp 62) adresách:
10.1.2.0/26 (10.1.2.0-10.1.2.63)
|
A tak dále. Masku můžeme zvětšovat až na J=30 (255.255.255.252), kdy vznikne síť s pouze 4 adresami, z toho 2 jsou použitelné. Příklad takovéto pidisítě z praxe: 80.250.2.80/30 (tj. maska je 255.255.255.252)...
80.250.2.80 je adresa sítě
|
a 80.250.2.84 by už spadlo do zcela jiné sítě, která může být fyzicky i velmi vzdálená.
Věřím, ze bystrý čtenář nyní sám dokáže generovat podobné příklady.
Jak to souvisí s routováním? Jsem IP vrstva operačního systému, moje IP adresa je 10.1.2.17 a maska 255.255.255.224 (J=27). Vím tedy, že adresy od 10.1.2.0 do 10.1.2.31 jsou v mojí vlastní síti. V routovací tabulce je nastaveno, že moje výchozí brána má adresu 10.1.2.11. Přenosovým médiem je obyčejný ethernet. Aplikace mi předala paket, který mám poslat na cílovou adresu DEST. Co teď?
a) DEST=10.1.2.15. Adresa je v mojí vlastní síti. Pomocí protokolu ARP tedy zjistím MAC adresu cíloveho stroje, např. 00:10:20:30:40:50 a s touto adresou vytroubím rámec do kabelu. Vlastně jediné co umím, je poslat paket na jednu z 32 adres v mé síti.
b) DEST=10.1.2.36. Adresa leží MIMO moji síť, takže vlastně nevím, kam ji poslat. Nastěstí to ví chytrý router. Ja zase vím jeho adresu: 10.1.2.11 a ta v mé síti je. Převedeme tedy problém na jiný problém, ktery již umíme řešit (problém a). Paket vytroubíme do kabelu stejně jako prve, ale s MAC adresou routeru. Takže paket s jakousi 'cizí' adresou 10.1.2.36 dorazí na router. Ten si s ním musí poradit.
c) DEST=62.37.8.99. Naprosto stejný postup jako v b).
Nyní doufám, že je zřejmé, že síť o 256 adresách (0-255) je možné rozdělit na poloviny (0-127, 128-255), čtvrtiny (0-63, 64-127, 128-191, 192-255) a podobně, ale rozhodně ne na jiné části, jako (0-50, 50-255). Zde je důležité, že maska rozhoduje o tom, která adresa patří do které sítě.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: