Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík SŠ IT a SP, Brno
2 TCP/IP a vrstvy TCP/UDP IPv6
3 Obsah 4. bloku Spolehlivá a nespolehlivá komunikace TCP záhlaví, stavový diagram TCP UDP a jeho vlastnosti IPv6 záhlaví, srovnání s IPv4 IPv6 adresy Oběžníky a unicast adresy
4 Spojovaný provoz Spojovaný provoz nazýváme proudem (stream) a představuje standardní formu online komunikace, Datová jednotka na této vrstvě je „segment“, Každý segment je potvrzován a zatřizován do určitého pořadí (kontrolují se duplicity, ztráty, pořadí), Představuje komunikaci „trubkou“ či „kanálem“ – podobně jako telefonní hovor. TCP nabízí CONS, tj. spolehlivé a zabezpečené proti chybám technických prostředků.
5 Spojení O spojení dvou koncových bodů můžeme hovořit prakticky jen u spojovaného provozu, Vytvořením dvou komunikačních kanálů můžeme zajistit oboustranné spojení (full duplex), Oboustranné spojení je nejčastější forma komunikace na síti.
6 TCP segment Destination port Source port Volitelné položky TCP záhlaví a prázdná výplň Data IHL Ukazatel naléhavých dat Délka okna (window size) Sekvenční pořadové číslo odesílaného bajtu (sequence) Potvrzovací pořadové číslo přijímaného bajtu (acknowledgment) Rezerva URGURG Kontrolní TCP CRC ACKACK PSHPSH RSTRST SYNSYN FINFIN
7 Zavedení portů Aby mohla komunikace probíhat současně mezi více aplikacemi, je třeba rozlišit na zdrojové i cílové straně jednotlivé účastníky komunikace detailně, Pro každou stranu vytváříme očíslované porty, které mohou být použity pro komunikaci, Kombinace IP adresa, port a protokol vytváří jednoznačný socket (koncovka) spojení.
8 Vyhrazené porty Porty s adresou menší než 1024 jsou vyhrazeny pro tzv. obecně známé služby (well known services) a jejich užívání by mělo být řízeno správcem OS, Běžná čísla serverových portů (portů na straně volaného) jsou sumarizována v Internetových standardech (např. 80 je HTTP, 443 je SSH, 110 je POP3 apod.), Porty s adresou do 2047 jsou také již doporučeny pro nové internetové aplikace, Porty nad 2048 lze volně využít bez ohledu na aplikaci.
9 Princip spojovaného přenosu TCP protokol obsahuje mechanismy pro zajištění přenosu segmentů mezi dvěma sokety, Cílové pořadí se řídí podle přiděleného sekvenčního čísla segmentu, Ztráty paketu řeší potvrzování jednotlivých segmentů sekvenčními čísly přijatých, Duplicity a ztráty jsou eliminovány řízením rychlosti toku dat tzv. „oknem“.
10 Navázání spojení Při navázání spojení je třeba vytvořit oboustranně důvěryhodné spojení, Používá se algoritmus tzv. třícestného „handshaku“, Každý TCP segment má v hlavičce příznaky, sloužící pro řízení kanálu (zahajování, potvrzování a rušení spojení), Výměnou jejich kombinací je vytvořeno spojení.
11 Třícestný handshake
12 Ukončování spojení
13 Řízení vlastního přenosu V navázaném spojení je třeba každý segment potvrdit v následující odpovědi, Odpověď sama může nést další data, která nám musí protistrana také potvrdit, Pokud by data nebyla potvrzena v určitém čase, jsou vyslána znova (a považována za ztracená), Nad daty je počítán na obou stranách TCP CRC pro hlídání integrity dat.
14 Technika regulace provozu Klient odesílá data, odešle 1, 2 a 3. Poté obdrží od serveru potvrzení 4, které potvrzuje 1 a 2. Klient odesílá 5, 6 a 7. Jenže server data mezitím nedokázal zpracovat a data mu zaplnila vyrovnávací paměť, proto 8 sice potvrdí příjem 3, 5, 6 a 7, ale zároveň klientovi uzavře okno, tj. klient nemůže s odesíláním dat pokračovat. Poté co server zpracuje část dat (2 KB), tak umožní klientovi pokračovat v odesílání, ale neotevře mu 9 okno celé – pouze 2 KB, protože všechna data ve vyrovnávací paměti ještě nezpracoval a pro více dat nemá místo.
15 Nespojovaný provoz Nespojovaný provoz nazýváme vysíláním (datagram) a představuje standardní formu pro offline komunikaci, Zdroj neví o cíli, Jednotlivé datagramy nelze zatřizovat, mohou se ztrácet či duplikovat, Využívá se pro multimediální provoz (vysílání radio,TV) nebo zasílání pošty, UDP nabízí CLNS, tj. nespolehlivé a nezabezpečené proti chybám technických prostředků.
16 UDP datagram Destination port Source port Data Délka datagramuKontrolní UDP CRC 3216
17 Vlastnosti UDP Je rychlejší, než TCP, Umí vysílání multicastu, Délka dat kratší, zpravidla okolo 512B, UDP CRC je nepovinné, proto může zcela chybět (avšak pozor na kombinaci s linkovou vrstvou bez CRC- např. SLIP!), Efektivněji využívá přenosové pásmo fyzických linek (menší záhlaví, absence spolehlivosti), Fragmentace je v principu možná, ale spíše se jí vyhýbáme.
18 IP nové generace Je to protokol, který by měl odstranit nedostatky nebo omezení v současnosti používaného protokolu IPv4, Nazývá se protokolem IP Next Generation (IPng) nebo také IPv6, Historicky lze tento vývoj charakterizovat tak, že IPv4 byl specifikován v 1/1980 a inovován v 9/1981, IPv6 byl specifikován o 15 let později, ve 12/1995 a v současnosti aktualizován RFC Základní rysy IP adresa je 16-ti bajtová, filosoficky zcela nový pohled na stavbu IP, chybí kontrolní součet záhlaví, málo využívaná pole přesunuta do nepovinných (dalších) hlaviček.
19 IP nové generace Třída IP Destination (4x4B) Volitelná část záhlaví Data VerzeIdentifikace toku dat (flow control) Počet hopůDalší hlavičkaDélka dat IP Source (4x4B)
20 IP nové generace Význam položek: Verze- číslo IP protokolu (číslo 6), Třída- určuje prioritu paketu pro zajištění QoS (zejména MM provoz); má dvě skupiny priorit: Normální provoz (0-7) a Přenos v reálném čase (8-15) Identifikace toku dat- s IP odesílatele jednoznačně identifikuje datový tok pro určitý cíl (směrovač řeší směrování pro tento tok pouze 1x), Délka dat- délka datagramu (bez záhlaví), Další hlavička- specifikuje typ volitelného záhlaví, např.: 0- info pro směrovače 6- TCP protokol (17- UDP protokol) 58- ICMP protokol (nahrazuje ARP/RARP protokoly) 59- bez další hlavičky Počet hopů- odpovídá položce TTL, snižuje nebo mění směrovač.
21 IP adresa IP adresa (verze IPv6) má délku 16B a rozlišuje adresaci: UNICAST- individuální IP adresa, ANYCAST- adresa skupinová síťových rozhraní (pro směrovače), odpovídá adrese sítě, MULTICAST- adresa skupinová individuálních rozhraní (adresný oběžník), IPv6 už nemá BROADCAST (všeobecný oběžník)
22 IP adresa- zápis Způsob zápisu: Hexadecimální- hhhh:hhhh:…….hhhh (8 skupin), Zkrácený- 58f3::12aa (dvě dvojtečky nahrazují souvislý sled 0h v adrese), Kombinovaný- 37bc:21a3:: (v kombinovaném prostředí IPv4 a IPv6). Adresy sítí se zapisují obdobně, jako u IPv4, tj. „prefixem“- 231a::4/64
23 IP adresa- rozdělení Používané bloky IPv6: ::0rozhraní bez dosud přidělené IP adresy ::1localhost (loopback), obdoba b/3agregovatelné globálně jednoznačné adresy (UNICAST) 2001:/16adresy globálně přidělované Internet Registry (světadíly); např. 2001:0600::/29 až 2001:07f8::/29 je RIPE NCC (Evropa) 2002:/16pro přenosy v sítích „6 to 4“ (RFC 3056) b/10 jednoznačné adresy neveřejné (pro LAN, např. FE80::) b/10 další skupina adres jednoznačně neveřejných (např. FEC0::) FF/8adresné oběžníky (multicast)
24 IP adresa- oběžníky MULTICAST jsou u IPv6 řešeny bezproblémově a navíc je rozšířena jejich funkčnost. Tvar adresy je následující: Skupinová adresa FFh000TRozsah T-(1b) příznak pro označení adresy přechodné (log1) nebo trvalé (log0) Rozsah-(4b) specifikace skupiny, která je „odběratelem“ oběžníku (např. FFxx:1- všichni, FFxx:2- pouze směrovače) Skupinová adresa- vlastní identifikace oběžníku
25 IP adresa- UNICAST Struktura je specifikována v RFC 2450: Identifikace rozhraní (8B) TLA ID- (13b) specifikace účelu IP rozsahu; např. 2001:/16 je pro providery) Sub TLA- (13b) globální kontinentální členění (RIPE, APNIC apod.) NLA ID- (2B+3b) registry poskytovatelů; (přidělují i část sami svým pobočkám) SLA ID- (2B) rozsah určen velkým zákazníkům na jejich interní podsítě (veřejné) 001bTLA IDNLA IDSub TLA IDSLA ID3b Pro Internet RegistryPro národní providerypobočkyPro velké zákazníky (sítě)
26 IP adresa- ID uzlu Adresa je vždy globálně jednoznačná (až 2 64 uzlů), Lze ji kombinovat i s 6B MAC adresou (Ethernetu) dle specifikace konverze EUI-64: Tato konverze umožňuje „začlenit“ linkovou (fyzickou) adresu přímo do IP (logické) adresy, čímž umožní adresovat fyzický uzel přímo na síťové (globální) úrovni, Běžná UNICAST adresa s jinou kombinací linkových adres může nabídnout následující formát: Identifikace výrobce (3B)Sériové číslo (3B) Identifikace výrobce (3B)Sériové číslo (3B)FFFEh (2B) (2B)Sériové číslo (3B)FFFEh (2B)xxxxxx10
27 Závěr Autor: Ing. František Kovařík