====== Programování ====== Zde najdete informace užitečné pro programátory - jak vyvíjet a přizpůsobovat aplikace pro komunikaci protokolem IPv6. Texty vycházejí především z příspěvku Ladislava Lhotky na semináři [[http://www.cstug.cz/slt/02/|SLT 2002]]. ====== BSD sockets a IPv6 ====== //BSD Sockets// je nejpoužívanější aplikační programové rozhraní (API) síťových aplikací založených na IP. Nový protokol IPv6 si vyžádal určité změny tohoto API, vyvolané jak prodloužením adres, tak i dalšími novými vlastnostmi IPv6 (značka toku, rozsah působnosti adres). Popisujeme tyto změny v porovnání s původní verzí pro IPv4, včetně příkladů použití v jazycích Python a C. * [[bsd_sockets_-_uvod|Úvod]] * [[bsd_sockets_-_principy_noveho_navrhu_api|Principy nového návrhu API]] * [[bsd_sockets_-_datove_struktury|Datové struktury]] * [[bsd_sockets_-_zakladni_funkce|Základní funkce]] * [[bsd_sockets_-_prevody_mezi_jmeny_a_adresami|Převody mezi jmény a adresami]] * [[bsd_sockets_-_konverze_adresovych_formatu|Konverze adresových formátů]] * [[bsd_sockets_-_kompatibilita_s_uzly_ipv4|Kompatibilita s uzly IPv4]] * [[bsd_sockets_-_kompletni_ukazka|Kompletní ukázka]] Terminologická poznámka: V textu používáme nepřeložený termín //BSD Sockets// pro API jako takové a mírně počeštěný název //soket// (podle vzoru kriket) pro objekt, s nímž se pracuje v programech. ====== Užitečné části kódu ====== Podprogramy, který by se vám mohly hodit: * [[inetntop]] - obal funkce //inet_ntop//, který odstraní zkrácení (::) v IPv6 adrese a převede IPv4-mapovanou IPv6 adresu ::ffff:a.b.c.d na IPv4 adresu a.b.c.d * [[inetpton]] - obal funkce //inet_pton//, který provádí opak