IPv6/ipv6-foredrag.tex

2722 lines
94 KiB
TeX

% $Ximalas$
%\documentclass{beamer}
%\documentclass[handout]{beamer}
%\usepackage{pgfpages}
%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
%\pgfpagesuselayout{4 on 1}[a4paper,landscape,border shrink=5mm]
%\setbeameroption{show notes} % on second screen}
\def\jobname{ipv6-foredrag} % Sett riktig navn på presentasjonen her.
\setjobnamebeamerversion{\jobname}
\usepackage[cp1252]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[norsk]{babel}
\usepackage{booktabs}
\usepackage{multicol}
\usepackage{fancyvrb}
%\usepackage{epstopdf}
%\epstopdfsetup{update}
%\usetheme{AnnArbor}
%\usetheme{Boadilla}
%\usetheme{boxes}
%\usetheme{CambridgeUS}
%\usetheme{Antibes}
%\usetheme{Bergen}
%\usetheme{Berkeley}
%\usetheme{Berlin}
%\usetheme{Copenhagen}
%\usetheme{Darmstadt}
%\usetheme{Dresden}
%\usetheme{Frankfurt}
%\usetheme{Goettingen}
%\usetheme{Hannover}
%\usetheme{Ilmenau}
%\usetheme{JuanLesPins}
%\usetheme{Luebeck}
\usetheme{Madrid}
%\usetheme{Malmoe}
%\usetheme{Marburg}
%\usetheme{Montpellier}
%\usetheme{PaloAlto}
%\usetheme{Pittsburgh}
%\usetheme{Rochester}
%\usetheme{Singapore}
%\usetheme{Szeged}
%\usetheme{Warsaw}
\hypersetup{colorlinks,linkcolor=,urlcolor=blue}
\svnidlong
{$HeadURL$}
{$LastChangedDate$}
{$LastChangedRevision$}
{$LastChangedBy$}
\makeatletter
\renewcommand{\svnrevisionsname}{Revisjoner}
\renewcommand{\svnbeforetable}{\noindent Filene som utgjør dette
dokumentet er registrert i revisjonssystemet Subversion. Under
vises katalogstrukturen og de enkelte filene, deres nyeste
revisjonsnummer, hvem som sist endret filene og når siste
endring ble registrert.\par\bigskip}
\renewcommand{\svntable}{\svntablebooktabsbegin}
\renewcommand{\endsvntable}{\svntablebooktabsend}
%\newcommand{\svntablebooktabsbegin}{\begin{tabular}{p{0.425\textwidth}rll}\toprule}
\newcommand{\svntablebooktabsbegin}{\begin{tabular}{p{0.7\textwidth}rll}\toprule}
%\newcommand{\svntablebooktabsbegin}{\begin{tabular}{lrll}\toprule}
\newcommand{\svntablebooktabsend}{\bottomrule\end{tabular}}
\renewcommand{\svntablehead}{Navn & Revisjon & Forfatter & Dato \\\midrule}
\renewcommand{\svntabglobal}{Dokument}
%\renewcommand{\svntabglobal}{Hovedfil}
\renewcommand{\svntabgroup}[1]{Gruppe «#1»}
\renewcommand{\svn@tabsubgroup}[1]{\endgroup Undergruppe «\texttt{\small #1}»}
\renewcommand{\svn@tabfile}[1]{\endgroup Filen «\texttt{\small #1}»}
\makeatother
\svnRegisterAuthor{trond}{Trond Endrestøl}
\newcommand{\Textbackslash}{\textbackslash\penalty\exhyphenpenalty}
\newcommand{\rfc}[1]{\href{http://tools.ietf.org/html/rfc#1}{RFC~#1}}
\newcommand{\prfc}[1]{(\rfc{#1})}
\title{\textbf{IPv6-foredrag}}
\subtitle{Pent brukt 18-åring}
\author[T.~Endrestøl]{\href{http://fig.ol.no/~trond/}{Trond Endrestøl}}
\institute[FSI/IT]{\href{http://fagskolen-innlandet.no/}{Fagskolen Innlandet}, IT-avdelingen}
\logo{\includegraphics[scale=.25]{fi_logo_147px.pdf}}
%\subject{Emne for bruk i egenskapene til PDF-fila}
%\keywords{Nøkkelord for bruk i egenskapene til PDF-fila}
\date{\today} % eller
%\date{18.\ september 2013}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}[allowframebreaks]
\frametitle{Foredragets filer}
\begin{itemize}
\item Filene til foredraget er tilgjengelig gjennom:
\begin{itemize}
\item Subversion: \texttt{svn co
\url{svn://svn.ximalas.info/ipv6-foredrag}}
\item Web:
\href{http://svnweb.ximalas.info/ipv6-foredrag/}{\texttt{svnweb.ximalas.info/ipv6-foredrag}}
\item Begge metodene er tilgjengelig med både IPv4 og \alert{IPv6}
\end{itemize}
\item
\href{http://svnweb.ximalas.info/ipv6-foredrag/trunk/ipv6-foredrag.foredrag.pdf?view=co}{\texttt{ipv6-foredrag.foredrag.pdf}}
vises på lerretet
\item
\href{http://svnweb.ximalas.info/ipv6-foredrag/trunk/ipv6-foredrag.handout.pdf?view=co}{\texttt{ipv6-foredrag.handout.pdf}}
er mye bedre for publikum å se på
\item
\href{http://svnweb.ximalas.info/ipv6-foredrag/trunk/ipv6-foredrag.handout.2on1.pdf?view=co}{\texttt{ipv6-foredrag.handout.2on1.pdf}}
og
\href{http://svnweb.ximalas.info/ipv6-foredrag/trunk/ipv6-foredrag.handout.4on1.pdf?view=co}{\texttt{ipv6-foredrag.handout.4on1.pdf}}
er begge velegnet til utskrift
\item \texttt{*.169.pdf}-filene er i 16:9-format
\item \texttt{*.1610.pdf}-filene er i 16:10-format
\framebreak
\item Foredraget er mekket ved hjelp av
\href{http://www.gnu.org/software/emacs/}{GNU~Emacs},
\href{http://www.gnu.org/software/auctex/}{AUC\TeX},
\href{http://www.tug.org/applications/pdftex/}{pdf\TeX} fra
\href{http://miktex.org/}{MiK\TeX},
\href{http://www.latex-project.org/}{\LaTeX}-dokumentklassa
\href{https://bitbucket.org/rivanvx/beamer/wiki/Home}{beamer},
\href{http://subversion.apache.org/}{Subversion},
\href{http://tortoisesvn.net/}{TortoiseSVN} og
\href{http://get.adobe.com/no/reader/}{Adobe Reader}
\item Hovedfila bærer denne identifikasjonen:\\
\texttt{\$${}$Ximalas${}$\$}
\item Copyright \copyright\ 2013 Trond Endrestøl
\item Dette verket er lisensiert med:
\href{http://creativecommons.org/}{Creative Commons},
\href{http://creativecommons.org/licenses/by-sa/3.0/no/}{Navngivelse-DelPåSammeVilkår
3.0 Norge} (CC BY-SA
3.0)\hfill\includegraphics[scale=.25]{by-sa.pdf}
\end{itemize}
\end{frame}
\begin{frame}
\tableofrevisions
\end{frame}
\section*{Oversikt av hele foredraget}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 1: Kort om IPv6}
\tableofcontents[part=1]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 2: IPv6-header}
\tableofcontents[part=2]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 3: IPv6 over Ethernet}
\tableofcontents[part=3]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 4: Grunnleggende om adresser}
\tableofcontents[part=4]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 5: Adressetyper}
\tableofcontents[part=5]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 6: DNS}
\tableofcontents[part=6]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 7: ICMPv6}
\tableofcontents[part=7]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 8: Neighbor Discovery}
\tableofcontents[part=8]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 9: DHCPv6}
\tableofcontents[part=9]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 10: Avansert multicast}
\tableofcontents[part=10]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 11: Konfigurasjon av IPv6}
\tableofcontents[part=11]%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt av hele foredraget}
\framesubtitle{Del 12: Noen RFC-er om IPv6}
\tableofcontents[part=12]%[pausesections]
\end{frame}
\part{Kort om IPv6}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~1: Kort om IPv6}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt over del~1: Kort om IPv6}
\tableofcontents%[pausesections]
\end{frame}
\section{Hva er IPv6?}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{Hva er IPv6?}
\pause
\begin{itemize}[<+->]
\item En lag-3-protokoll ment å erstatte IPv4
\item Har eksistert siden desember 1995, først spesifisert i \rfc{1883}
\item Enkel grunnheader med fast lengde
\item Flere utvidelsesheadere, riktig rekkefølge er viktig
\item \alert<12>{128-bit adresser}
\item Ny versjon av ICMP: ICMPv6
\item ARP og RARP for IPv6 er en del av ICMPv6
\begin{itemize}[<+->]
\item Ikke nødvendig med ekstra lim for adressene i lagene 2 og 3
\end{itemize}
\item Ny versjon av DHCP: DHCPv6
\item \alert<12>{Automatisk adressekonfigurasjon \textit{uten\/} bruk av DHCPv6}
\end{itemize}
\end{frame}
\section{Hvorfor trenger vi IPv6?}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{Hvorfor trenger vi IPv6?}
\pause
\begin{itemize}[<+->]
\item Mobilmarkedet viser en enorm vekst: smarttelefoner, nettbrett m.m.
\item Verden går tom for offentlige IPv4-adresser
\item
«\href{http://www.potaroo.net/presentations/2012-05-22-terena.pdf}{IPokalypsen}»
er her!
\item \href{http://www.iana.org/}{IANA} gikk tom
\href{http://www.icann.org/en/news/press/releases/release-03feb11-en.pdf}{3.~februar
2011}
\begin{itemize}[<+->]
\item \href{http://www.apnic.net/}{APNIC} gikk tom
\href{http://www.apnic.net/community/ipv4-exhaustion/graphical-information}{19.~april
2011}
\item \href{http://www.ripe.net/}{RIPE} gikk tom
\href{http://www.ripe.net/internet-coordination/ipv4-exhaustion}{14.~september
2012}
\end{itemize}
\item Dersom disse
\href{http://en.wikipedia.org/wiki/Regional_Internet_registry}{RIR}-ene
oppfører seg pent:
\begin{itemize}
\item \href{http://www.lacnic.net/en/web/lacnic/inicio}{LACNIC}
kan holde på til
\href{http://www.lacnic.net/web/lacnic/reporte-direcciones-ipv4}{juni
2014}
\item \href{https://www.arin.net/}{ARIN} kan holde på til
\href{http://www.potaroo.net/tools/ipv4/}{februar 2015}
\item \href{http://www.afrinic.net/}{AFRINIC} kan holde på til
\href{http://www.potaroo.net/tools/ipv4/}{juni 2022}(!)
\end{itemize}
\item Network Address Translation, Carrier-Grade NAT og Shared
Address Space
\begin{itemize}[<+->]
\item Bare støttebandasje med kort utløpstid
\item Glem det
\item Ende-til-ende-konnektivitet oppnås best uten noen former for
adresseoversettelse
\end{itemize}
\end{itemize}
\end{frame}
\section{Antall adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{Antall adresser}
\pause
\begin{itemize}[<+->]
\item Totalt antall IPv6-adresser:
\item $2^{128}=340.282.366.920.938.463.463.374.607.431.768.211.456$
\item Bare $1/8$ kan brukes til offentlige unicast-adresser:
\item
$2^{125}=\phantom{0}42.535.295.865.117.307.932.921.825.928.971.026.432$
\item Fortsatt mange adresser enn det fullstendige IPv4-adresserommet:
\item
$2^{32\phantom{0}}=\phantom{000.000.000.000.000.000.000.000.000.00}4.294.967.296$
\item Mindre enn \alert<9>{$3.702.258.688$} IPv4-adresser kan bli brukt som
offentlige IPv4-unicast-adresser
\item Se Tronds utregning fra juli 2012:
\texttt{\url{http://ximalas.info/2012/07/20/how-many-ipv4-addresses-are-there/}}
\end{itemize}
\end{frame}
\section{Andre nyttige ting ved IPv6}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{Andre nyttige ting ved IPv6}
\pause
\begin{itemize}[<+->]
\item Hierarkisk adressestruktur
\item Enklere planlegging av subnett sammenlignet med IPv4
\begin{itemize}[<+->]
\item De fleste IPv6-subnett bruker et 64-bit prefiks
\item Autokonfigurasjon \textit{krever\/} et 64-bit prefiks
\item Fast prefikslengde på 64 bit er \textit{ikke\/} et absolutt
krav
\item DHCPv6 eller manuell konfigurasjon brukes når prefikslengda
er ulik 64 bit
\end{itemize}
\item Kortere rutingtabeller
\begin{itemize}[<+->]
\item Uninett annonserer disse IPv4-subnettene med BGP:
\item \texttt{78.91.0.0/16}, \hfill\alert<11>{\texttt{128.39.0.0/16}}, \hfill\texttt{129.177.0.0/16},\\
\texttt{129.240.0.0/15}, \hfill\texttt{129.242.0.0/16}, \hfill\texttt{144.164.0.0/16},\\
\texttt{151.157.0.0/16}, \hfill\texttt{152.94.0.0/16}, \hfill\texttt{156.116.0.0/16},\\
\texttt{157.249.0.0/16}, \hfill\texttt{158.36.0.0/14}, \hfill\texttt{161.4.0.0/16},\\
\texttt{193.156.0.0/15}, \hfill\texttt{192.111.33.0/24}, \hfill\texttt{192.133.32.0/24},\\
\hfill\texttt{192.146.238.0/23}\hfill\null
\pause
\item Til gjengjeld trenger Uninett bare å annonsere dette
IPv6-prefikset:
\item \texttt{2001:700::/32}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{Andre nyttige ting ved IPv6}
%\pause
\begin{itemize}[<+->]
\item Sjekksum er overlatt til høyere og lavere lag
\item Fragmentering skal gjøres hos avsender, ikke underveis
\begin{itemize}[<+->]
\item Avsender må sjekke veien lengre fremme og måle smaleste krøttersti
\item Path Maximum Transmission Unit Discovery (Path MTU)
\end{itemize}
\item IPsec ble spesifisert som en del av IPv6
\begin{itemize}[<+->]
\item Finnes også for IPv4
\item Må konfigureres før den begynner å virke
\item Tilbyr:
\begin{itemize}[<+->]
\item Kryptert overføring (ESP), og/eller
\item Bekreftelse av avsenders identitet og beskyttelse mot
gjentakelse («replay») (AH)
\end{itemize}
\item Ble omgjort fra krav til anbefaling for IPv6 av \rfc{6434}
\end{itemize}
\end{itemize}
\end{frame}
\section{Hvorfor brukes ikke IPv6?}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{Hvorfor brukes ikke IPv6?}
\pause
\begin{itemize}[<+->]
\item Markedskreftene bestemmer
\item «Vente-og-se»-holdning
\item Stikker hodet ned i sanda
\item Store selskaper:
\begin{itemize}[<+->]
\item Kjøper opp små selskaper og hamstrer IPv4-blokker
\item Kjøper IPv4-blokker på ettermarkedet/konkursbo:
\begin{itemize}[<+->]
\item
\href{http://www.computerworld.com/s/article/9215055/Microsoft_offers_7.5M_for_666_624_IPv4_addresses}{Microsoft
$\to$ \$7,5 mill.\ $\to$ Nortel $\to$ 666.624 IPv4-adresser}
\end{itemize}
\end{itemize}
\item Telebransjen satser fortsatt hardt på IPv4:
\begin{itemize}[<+->]
\item (Edge) NAT i CPE\hfill\prfc{1631}
\item Carrier-Grade NAT i stamnett\hfill\prfc{6264}
\item Shared Address Space etter behov i stamnett\hfill\prfc{6598}
% \item HTTP/S-tunnelering av rubb og stubb
\end{itemize}
\item Før eller siden blir CGN for kostbar og komplisert å vedlikeholde
\item 3G og 4G/LTE klarer kanskje å øke IPv6-presset\hfill\prfc{6459}
\item \alert<16>{IPv6 er det eneste tilgjengelige og realistiske alternativet til IPv4}
\end{itemize}
\end{frame}
\section{IPv6 ved Fagskolen Innlandet}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{IPv6 ved Fagskolen Innlandet}
\pause
\begin{itemize}[<+->]
\item 1994: Tildelt \texttt{128.39.174.0/24} av Uninett
\item 1.~juni 2005: Ny IT-ansvarlig, yours truly
\item Høsten 2005: Fikk reservert IPv4-serien
\texttt{128.39.172.0/23}
\item Påska 2006: Fikk reservert IPv6-serien
\texttt{2001:700:1100::/48}
\item Før og etter pinsehelga 2006: Fiberlinjer fra serverrommet og
til sentrale punkter i hver etasje i hovedbygningen
\item Sommeren 2006: Nytt Cisco-gear som Catalyst 3560G og 2960
(\href{http://www.cisco.com/en/US/docs/switches/lan/catalyst3560/software/release/12.2_25_seb/release/notes/OL7189.html}{Cisco
IOS 12.2(25)SEB4})
\begin{itemize}[<+->]
\item \texttt{128.39.46.8/30} ble linknettet mellom HiG/Uninett og
FSI
\begin{itemize}[<+->]
\item \texttt{128.39.46.9\phantom{0}} brukes ved HiG
\item \texttt{128.39.46.10} brukes ved FSI
\end{itemize}
\item \texttt{128.39.174.0/24} ble delt opp i subnett og satt opp
som servernett og ansattnett, m.m.
\item \texttt{128.39.172.0/24} ble delt opp i subnett og satt opp
som nett for datalab
\item \texttt{128.39.173.0/24} ble satt opp som klienter på
trådløst studentnett
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{IPv6 ved Fagskolen Innlandet}
%\pause
\begin{itemize}[<+->]
\item 6.~september 2006: IPv6-linknettet
\texttt{2001:700:0:11D::/64} ble aktivert mellom HiG/Uninett og
FSI
\begin{itemize}[<+->]
\item \texttt{2001:700:0:11D::1} brukes hos HiG
\item \texttt{2001:700:0:11D::2} brukes hos FSI
\end{itemize}
\item Samme dag ble IPv6 innført for FSI-VLAN-ene 20, 30, 70 og 80:
\begin{itemize}[<+->]
\item FSI-VLAN 20:\quad\texttt{2001:700:1100:1::/64}\hfill(ytre servernett)
\item FSI-VLAN 30:\quad\texttt{2001:700:1100:2::/64}\hfill(indre servernett)
\item FSI-VLAN 70:\quad\texttt{2001:700:1100:3::/64}\hfill(IT-kontornett)
\item FSI-VLAN 80:\quad\texttt{2001:700:1100:4::/64}\hfill(IT-lekenett)
\end{itemize}
\item Sommeren 2007:
\href{http://www.sixxs.net/tools/grh/ula/}{Genererte} og frivillig
\href{http://www.sixxs.net/tools/grh/ula/list/}{registrerte}
ULA-serien
\href{http://www.sixxs.net/tools/whois/?fd5c:14cf:c300::/48}{\texttt{FD5C:14CF:C300::/48}}
\begin{itemize}[<+->]
\item Brukes i interne FSI-VLAN som tidligere bare brukte \rfc{1918}-adresser
\begin{itemize}[<+->]
\item Fikk første HP-skriver med IPv6-støtte og ville bruke IPv6
\item Noen år senere: IPv6-adresser på kantswitchene med
\href{http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/release/12.2_40_se/release/notes/OL13860.html}{Cisco
IOS 12.2(40)SE}
\end{itemize}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{IPv6 ved Fagskolen Innlandet}
%\pause
\begin{itemize}[<+->]
\item Høsten 2010: Enda en IPv4-serie ble innført:
\texttt{128.39.194.0/24}
\begin{itemize}[<+->]
\item \texttt{128.39.172.0/23} brukes nå til klienter på trådløst
studentnett
\item \texttt{128.39.194.0/24} brukes nå til datalab etter samme
mønster som for den gamle \texttt{128.39.172.0/24}
\end{itemize}
\item \href{http://www.oppland.no/}{Oppland FK} (OFK) har ingen
planer om å innføre IPv6
\item \href{http://www.hordaland.no/}{Hordaland FK} har satt en
IPv6-adresse på webserveren deres, \texttt{2a02:20a0:0:3::81:130}
\item I dag er de fleste brukere ved FSI kasta over til OFK-nettene
\item Dette skjedde etter ombygginga i 2011--2012
\item Andreklasse data er velsigna med å kunne velge mellom FSI- og
OFK-nettene
\item Andreklasse data velger som regel det førstnevnte, vanligvis
FSI-VLAN 48, \texttt{128.39.194.192/27} og
\texttt{2001:700:1100:8008::/64}
\item Førsteklasse data ønsker det samme tilbudet; så vi får se \dots
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Kort om IPv6}
\framesubtitle{IPv6 ved Fagskolen Innlandet}
%\pause
\begin{itemize}[<+->]
\item Alle FSI-VLAN har både IPv4- og IPv6-adresser (dual-stack)
\item FSI-VLAN med offentlige IPv4-adresser bruker offentlige
IPv6-adresser fra \texttt{2001:700:1100::/48}-serien
\item FSI-VLAN med private IPv4-adresser \prfc{1918} bruker private
IPv6-adresser fra \texttt{FD5C:14CF:C300::/48}-serien
\item Private adresser brukes for alt utstyr som ikke har behov for
internettforbindelse:
\begin{itemize}[<+->]
\item Switcher
\begin{itemize}[<+->]
\item Med unntak for kjerneswitchen som er L3-router for
nettverket ved FSI
\end{itemize}
\item Basestasjoner og WLAN-kontroller
\begin{itemize}[<+->]
\item Før omlegginga
\end{itemize}
\item UPS-er
\item Skrivere
\item VPN-klienter
\end{itemize}
\end{itemize}
\end{frame}
\part{IPv6-header}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~2: IPv6-header}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~2: IPv6-header}
\tableofcontents%[pausesections]
\end{frame}
\section{IPv6-header}
\begin{frame}%[allowframebreaks]
\frametitle{IPv6-header}
\pause
\begin{center}
\includegraphics[scale=.333]{CCNP-108.png}
\end{center}
Hentet fra
\texttt{\url{http://www.tekkom.dk/mediawiki/images/5/5e/CCNP-108.png}}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{IPv6-header}
%\pause
\begin{center}
\includegraphics[scale=.25]{CCNP-108.png}
\end{center}
\begin{itemize}
\item IPv6-headeren er dobbelt så stor som IPv4-headeren
(20~oktetter)
\item IPv6-headeren har færre felter enn IPv4-headeren
\item De utelatte feltene er i stor grad flyttet over til egne
utvidelsesheadere
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{IPv6-header}
%\pause
\begin{multicols}{2}
\includegraphics[scale=.2]{CCNP-108.png}
\begin{itemize}[<+->]
\item Versjonsfeltet (4 bit) settes til \texttt{0110}
\item Traffic Class (8 bit) er det samme som Type of Service i
IPv4
\item Flow Label (20 bit) er et nytt felt og foreløpig
eksperimentell
\item Payload Length (16 bit) er det samme som Total Length i IPv4
\item Next Header (8 bit) er det samme som Protocol i IPv4
\item Hop Limit (8 bit) er det samme som Time To Live i IPv4
\item Avsender og mottaker er 128-bit IPv6-adresser
\item IPv4-feltene Internet Header Length (IHL), Identification,
Flags, Fragment Offset, Header Checksum, Options og Padding, er
enten fjernet for godt eller flyttet til egne utvidelsesheadere
\end{itemize}
\end{multicols}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{IPv6-header}
%\pause
\begin{itemize}[<+->]
\item Utvidelsesheaderne finnes i stort antall:
\begin{enumerate}[<+->]
\item Hop-by-hop options
\item Destination options
\item Routing
\item Fragment
\item Authentication Header
\item Encapsulating Security Payload
\item Mobility
\end{enumerate}
\item Se \rfc{2460}, \rfc{4302}, \rfc{4303} og \rfc{6275}
\end{itemize}
\end{frame}
\part{IPv6 over Ethernet}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~3: IPv6 over Ethernet}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~3: IPv6 over Ethernet}
\tableofcontents%[pausesections]
\end{frame}
\section{IPv6 over Ethernet}
\begin{frame}%[allowframebreaks]
\frametitle{IPv6 over Ethernet}
\pause
\begin{itemize}[<+->]
\item \rfc{2464} definerer frameformatet for IPv6-datagrammer over
Ethernet
\item IPv6-datagrammer fraktes i standard Ethernetformat, \rfc{894}
\item Først angis mottakerens MAC-48-adresse
\item Deretter angis avsenders MAC-48-adresse
\item Frametypen settes til \texttt{86DD} (heksadesimalt)
\item Deretter følger IPv6-header og resten av datagrammet
\item Standard MTU for IPv6 over Ethernet er 1500 oktetter
\item Minste tillatte MTU for IPv6 er 1280 oktetter
\item Er største tilgjengelige MTU mindre enn 1280 oktetter, så må
lagene under IPv6 sørge for fragmentering og sammensetting av
IPv6-datagrammene \prfc{2460}
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{IPv6 over Ethernet}
\pause
\noindent
Programmet \href{http://www.wireshark.org/}{Wireshark} fremstilte
følgende lag-2-informasjon om en utsendt IPv6-pakke:
\begin{Verbatim}[fontsize=\tiny]
Ethernet II, Src: AsustekC_f2:72:40 (00:26:18:f2:72:40), Dst: Cisco_77:14:57 (00:17:e0:77:14:57)
Destination: Cisco_77:14:57 (00:17:e0:77:14:57)
Address: Cisco_77:14:57 (00:17:e0:77:14:57)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: AsustekC_f2:72:40 (00:26:18:f2:72:40)
Address: AsustekC_f2:72:40 (00:26:18:f2:72:40)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv6 (0x86dd)
\end{Verbatim}
\pause
\begin{itemize}[<+->]
\item Presentert som heksadesimale oktetter/byter:
\item \texttt{\color{red}00 17 E0 77 14 57 \color{violet}00 26 18 F2 72 40 \color{black}86 DD}
\begin{itemize}[<+->]
\item \texttt{\color{red}00 17 E0 77 14 57} er MAC-48-adressa til mottakeren, routeren
\item \texttt{\color{violet}00 26 18 F2 72 40} er MAC-48-adressa til avsenderen, klienten
\item \texttt{86 DD} angir at et IPv6-datagram følger i lag~3
\end{itemize}
\end{itemize}
\end{frame}
\section{IPv6 over andre lag-2-typer}
\begin{frame}%[allowframebreaks]
\frametitle{IPv6 over andre lag-2-typer}
\pause
\begin{itemize}[<+->]
\item FDDI: \rfc{2467}
\item Token Ring: \rfc{2470}
\item Point-to-point protocol (PPP): \rfc{2472}
\item Non-Broadcast Multiple Access (NBMA) networks: \rfc{2491}
\item ATM: \rfc{2492}
\item ARCnet: \rfc{2497}
\item Frame Relay: \rfc{2590}
\item IEEE 1394 (FireWire): \rfc{3146}
\item Low-Power Wireless Personal Area Networks (6LoWPAN): \rfc{4919}
\item Brevduer: \rfc{6214}, basert på \rfc{1149}
\end{itemize}
\end{frame}
\part{Grunnleggende om adresser}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~4: Grunnleggende om adresser}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~4: Grunnleggende om adresser}
\tableofcontents%[pausesections]
\end{frame}
\section{Grunnleggende om adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\pause
\begin{itemize}[<+->]
\item 128 bit
\item Heksadesimal notasjon
\item 16 og 16 bit grupperes og adskilles med kolon
\item Ledende nuller kan sløyfes
\item To eller flere \textit{sammenhengende\/} 16-bitblokker med
nuller kan slås sammen til \texttt{::} (dobbelkolon), bare én gang
pr.\ adresse
\item Prefikslengde angis ved å sette på en skråstrek og oppgi
riktig antall av signifikante bit fra venstre mot høyre i adressa
\begin{itemize}[<+->]
\item Dette er helt likt CIDR-notasjon for IPv4 \prfc{4632}
\end{itemize}
\end{itemize}
\end{frame}
\section{Adressedemo}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo}
\pause
\begin{itemize}[<+->]
\item Uninett:\\\texttt{2001:0700:0000:0000:0000:0000:0000:0000\phantom{/32}}
\item FSI:\\\texttt{2001:0700:1100:0000:0000:0000:0000:0000\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:0700:1100:0003:0000:0000:0000:0000\phantom{/64}}
\item Tronds D531:\\\texttt{2001:0700:1100:0003:0221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Hierarkisk struktur}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{\alert{2001:0700}:0000:0000:0000:0000:0000:0000\phantom{/32}}
\item FSI:\\\texttt{2001:0700:\alert{1100}:0000:0000:0000:0000:0000\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:0700:1100:\alert{0003}:0000:0000:0000:0000\phantom{/64}}
\item Tronds D531:\\\texttt{2001:0700:1100:0003:\alert{0221:70FF:FE73:686E}\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: La oss forenkle adressene}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:0700:0000:0000:0000:0000:0000:0000\phantom{/32}}
\item FSI:\\\texttt{2001:0700:1100:0000:0000:0000:0000:0000\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:0700:1100:0003:0000:0000:0000:0000\phantom{/64}}
\item Tronds D531:\\\texttt{2001:0700:1100:0003:0221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Ledende nuller}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:\alert{0}700:\alert{000}0:\alert{000}0:\alert{000}0:\alert{000}0:\alert{000}0:\alert{000}0\phantom{/32}}
\item FSI:\\\texttt{2001:\alert{0}700:1100:\alert{000}0:\alert{000}0:\alert{000}0:\alert{000}0:\alert{000}0\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:\alert{0}700:1100:\alert{000}3:\alert{000}0:\alert{000}0:\alert{000}0:\alert{000}0\phantom{/64}}
\item Tronds D531:\\\texttt{2001:\alert{0}700:1100:\alert{000}3:\alert{0}221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Fjernet ledende nuller}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:\alert{700}:\alert{0}:\alert{0}:\alert{0}:\alert{0}:\alert{0}:\alert{0}\phantom{/32}}
\item FSI:\\\texttt{2001:\alert{700}:1100:\alert{0}:\alert{0}:\alert{0}:\alert{0}:\alert{0}\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:\alert{700}:1100:\alert{3}:\alert{0}:\alert{0}:\alert{0}:\alert{0}\phantom{/64}}
\item Tronds D531:\\\texttt{2001:\alert{700}:1100:\alert{3}:\alert{221}:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: La oss forenkle litt til}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:700:0:0:0:0:0:0\phantom{/32}}
\item FSI:\\\texttt{2001:700:1100:0:0:0:0:0\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:700:1100:3:0:0:0:0\phantom{/64}}
\item Tronds D531:\\\texttt{2001:700:1100:3:221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: To eller flere sammenhengende 16-bitblokker med bare 0}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:700:\alert{0:0:0:0:0:0}\phantom{/32}}
\item FSI:\\\texttt{2001:700:1100:\alert{0:0:0:0:0}\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:700:1100:3:\alert{0:0:0:0}\phantom{/64}}
\item Tronds D531:\\\texttt{2001:700:1100:3:221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Erstattet med dobbelkolon}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:700\alert{::}\phantom{/32}}
\item FSI:\\\texttt{2001:700:1100\alert{::}\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:700:1100:3\alert{::}\phantom{/64}}
\item Tronds D531:\\\texttt{2001:700:1100:3:221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Kompakt form}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:700::\phantom{/32}}
\item FSI:\\\texttt{2001:700:1100::\phantom{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:700:1100:3::\phantom{/64}}
\item Tronds D531:\\\texttt{2001:700:1100:3:221:70FF:FE73:686E\phantom{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Vis prefikslengde}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:700::\alert{/32}}
\item FSI:\\\texttt{2001:700:1100::\alert{/48}}
\item IT-avdelingen@FSI:\\\texttt{2001:700:1100:3::\alert{/64}}
\item Tronds D531:\\\texttt{2001:700:1100:3:221:70FF:FE73:686E\alert{/128}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Adressedemo: Kompakte adresser med prefikslengde}
%\pause
\begin{itemize}%[<+->]
\item Uninett:\\\texttt{2001:700::/32}
\item FSI:\\\texttt{2001:700:1100::/48}
\item IT-avdelingen@FSI:\\\texttt{2001:700:1100:3::/64}
\item Tronds D531:\\\texttt{2001:700:1100:3:221:70FF:FE73:686E/128}
\end{itemize}
\end{frame}
\section{MAC-48-adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{MAC-48-adresser}
\pause
\begin{itemize}[<+->]
\item MAC-48-adresser har følgende oppbygging, gitt av
\href{http://www.ieee.org/index.html}{IEEE}
\href{http://standards.ieee.org/getieee802/download/802-2001.pdf}{802-2001}:
\begin{itemize}[<+->]
\item \texttt{CC:cc:cc:nn:nn:nn}\hfill(heksadesimalt)
\item Den første halvparten er produsentnummer: \texttt{CC:cc:cc}
\item Den andre halvparten er løpenummer: \texttt{nn:nn:nn}
\end{itemize}
\item Den første oktetten i produsentnummeret, \texttt{CC}, har en
spesiell oppbygging:
\begin{itemize}[<+->]
\item \texttt{CCCCCC\alert{ug}}\hfill(binært)
\item Når \texttt{u}-bitet er satt til \texttt{0} (null), så
gjelder formatet som er oppgitt her, altså
\texttt{CC:cc:cc:nn:nn:nn}\hfill(heksadesimalt)
\item Når \texttt{u}-bitet er satt til \texttt{1}, så er alle
\texttt{C}- og \texttt{c}-sifrene løpenummer, mens \texttt{u}-
og \texttt{g}-bitene beholder sine spesielle betydninger
\item Når \texttt{g}-bitet er \texttt{0} så angir adressa en
individuell node, og når \texttt{g}-bitet er \texttt{1} så er
adressa en multicastgruppe
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{MAC-48-adresser}
%\pause
\begin{itemize}[<+->]
\item Gitt denne MAC-48-adressa: \texttt{\alert{00}:21:70:73:68:6E}
\item \texttt{CC}-oktetten har verdien \texttt{\alert{00}}
\hfill(heksadesimalt)
\item På binær form er dette \texttt{000000\alert{00}}
\hfill(\texttt{CCCCCC\alert{ug}})
\item Vi ser at både \texttt{u}- og \texttt{g}-bitene er satt til
\texttt{0}
\item Dette er en MAC-48-adresse som:
\begin{itemize}[<+->]
\item følger det vanlige mønsteret med produsent- og løpenummer
\item angir en individuell node
\item er produsert av «Dell Inc» ifølge
\href{http://standards.ieee.org/develop/regauth/oui/oui.txt}{OUI-lista}
hos \href{http://www.ieee.org/index.html}{IEEE} (søk i fila
etter \texttt{00-21-70})
\end{itemize}
\end{itemize}
\end{frame}
\section{Modda IEEE EUI-64-format}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Modda IEEE EUI-64-format}
\pause
\begin{itemize}[<+->]
\item Unicast-adresser består av 2 ting:
\begin{itemize}
\item Prefiks
\item Grensesnittidentifikator
\end{itemize}
\item Bestemt av \rfc{4941}
\item Grensesnittidentifikatorer er alltid på 64 bit
\begin{itemize}[<+->]
\item Dette gjelder ikke for adresser som starter på \texttt{000} (binært)
\end{itemize}
\item Grensesnittidentifikatorer kan lages automatisk fra
MAC-48-adresser
\item Grensesnittidentifikatorer kan også angis manuelt eller velges
tilfeldig
\item Angis grensesnittidentifikatoren manuelt, så angis som regel
en fullstendig IPv6-adresse
\item Grensesnittidentifikatorer følger
\href{http://www.ieee.org/index.html}{IEEE}
\href{http://grouper.ieee.org/groups/msc/MSC200407/OnlineTutorialsD/EUI64.htm}{EUI-64}-formatet
med to unntak:
\begin{enumerate}[<+->]
\item Universal/local-bitet brukes med \textit{invertert\/}
betydning/verdi
\begin{itemize}[<+->]
\item Gruppebitet mister sin vanlige betydning i denne
sammenhengen
\end{itemize}
\item Oktettene på midten skal være \texttt{FF:FE} ved automatisk
konvertering fra MAC-48 til EUI-64
\end{enumerate}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Modda IEEE EUI-64-format}
%\pause
\begin{itemize}[<+->]
\item Grensesnittidentifikatorer lages fra MAC-48-adresser etter
oppskriften i \rfc{4291}:
\begin{itemize}[<+->]
\item Gitt denne MAC-48-adressa: \texttt{00:21:70:73:68:6E}
\item Invertér universal/local-bitet: \texttt{0\alert{2}:21:70:73:68:6E}
\begin{itemize}[<+->]
\item Før: \texttt{0\alert{0}} (heksadesimalt) $\to$ \texttt{000000\alert{0}0} (binært)
\item Etter: \texttt{000000\alert{1}0} (binært) $\to$ \texttt{0\alert{2}} (heksadesimalt)
\end{itemize}
\item Sett inn \texttt{FF:FE} på midten: \texttt{02:21:70:\alert{FF:FE}:73:68:6E}
\item Ta bort overflødig kolon og nuller: \texttt{221:70FF:FE73:686E}
\item Høyreskift hele stasen: \texttt{::221:70FF:FE73:686E}
\item Nå er grensesnittidentifikatoren klar til å bli kombinert med ønsket prefiks
\item Prefiks annonsert av router: \texttt{2001:700:1100:3::/64}
\item Fullstendig adresse: \texttt{2001:700:1100:3:221:70FF:FE73:686E}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Modda IEEE EUI-64-format}
%\pause
\begin{itemize}[<+->]
\item OBS! Arbeidsuhell!
\item Det skulle egentlig ha vært \texttt{FF:FF} i stedet for
\texttt{FF:FE}
\begin{itemize}
\item MAC-48 $\to$ EUI-64 skal bruke \texttt{FF:FF}
\item EUI-48 $\to$ EUI-64 skal bruke \texttt{FF:FE}
\end{itemize}
\item Fordi IPv6 bruker universal/local-bitet med invertert
betydning/verdi, så er arbeidsuhellet akseptert
\item Se \rfc{4291}
\item \href{http://en.wikipedia.org/wiki/IEEE_802.15}{IEEE 802.15
WPAN}, \href{http://en.wikipedia.org/wiki/IEEE_1394}{IEEE 1394
FireWire}, og \href{http://en.wikipedia.org/wiki/ZigBee}{ZigBee}
bruker EUI-64-adresser i lag~2
\end{itemize}
\end{frame}
\section{Manuell grensesnittidentifikator}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Manuell grensesnittidentifikator}
\pause
\begin{itemize}[<+->]
\item Manuell grensesnittidentifikator innebærer at
universal/local-bitet som regel er satt til \texttt{0}
\item De øvrige 63 bitene kan være hva som helst, bare verdien ikke
skaper adressekollisjon i samme VLAN
\item Normalt bruker man manuelle grensesnittidentifikatorer med
lave verdier
\item For eksempel \texttt{::53} \hfill(DNS-tjener, kanskje)
\item Med et vilkårlig prefiks: \texttt{2001:db8:1234:1::\alert{53}}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Manuell grensesnittidentifikator}
%\pause
\begin{itemize}[<+->]
\item Lav verdi for grensesnittidentifikatorer gjør at
universal/local-bitet blir satt til null:
\begin{itemize}[<+->]
\item \texttt{::53}\hfill(heksadesimalt)
\item \texttt{::\alert{0}:0:0:53}\hfill(heksadesimalt)
\item \texttt{::000000\alert{0}000000000:00~\dots~00:0000000001010011}
\hfill(binært)
\item Veldig praktisk for lokalgitte adresser, ikke sant?
\end{itemize}
\item Uten \textit{invertering\/} av universal/local-bitet, måtte vi
bruke manuelle grensesnittidentifikatorer på denne måten:
\begin{itemize}[<+->]
\item \texttt{::0\alert{2}00:0:0:53}\hfill(heksadesimalt)
\item \texttt{::000000\alert{1}000000000:00~\dots~00:0000000001010011}
\hfill(binært)
\item Tungvint og upraktisk, ikke sant?
\end{itemize}
\item Se her:
\begin{itemize}[<+->]
\item \texttt{2001:db8:1234:1:0200:0:0:53}\quad vs
\item \texttt{2001:db8:1234:1::53}
\item Ja til den siste, nei til den forrige
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Manuell grensesnittidentifikator}
%\pause
\begin{itemize}[<+->]
\item Det er ingenting i veien for å «kode» IPv4-adressa inn i
IPv6-adressa:
\item \texttt{2001:700:1100:3:\alert{128:39:174:67}}\hfill(\texttt{excelsior.fig.ol.no})
\item Man må bare passe på verdien til universal/local-bitet
\item \texttt{128} $=$ \texttt{0 1 2 8} $=$ \texttt{0000 00\alert{0}1 0010 1000}\hfill(heks, heks, bin)
\item \texttt{u}-bitet er $0$, altså en lokalgitt adresse
\item Dette gikk bra!
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Manuell grensesnittidentifikator}
%\pause
\begin{itemize}[<+->]
\item Verdiene
\begin{itemize}[<+->]
\item \texttt{00\alert{0}0} $=$ \texttt{0},
\item \texttt{00\alert{0}1} $=$ \texttt{1},
\item \texttt{01\alert{0}0} $=$ \texttt{4},
\item \texttt{01\alert{0}1} $=$ \texttt{5},
\item \texttt{10\alert{0}0} $=$ \texttt{8},
\item \texttt{10\alert{0}1} $=$ \texttt{9},
\item \texttt{11\alert{0}0} $=$ \texttt{C} og
\item \texttt{11\alert{0}1} $=$ \texttt{D},
\end{itemize}
\item gir alle $0$ i \texttt{u}-bitet
\end{itemize}
\end{frame}
\section{Tilfeldig grensesnittidentifikator}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Tilfeldig grensesnittidentifikator}
\pause
\begin{itemize}[<+->]
\item Konstant grensesnittidentifikator truer personvernet
\item Eksempel med Tronds D531-læppis:
\begin{itemize}[<+->]
\item \texttt{2001:700:1100:3:\alert{221:70FF:FE73:686E}}\hfill(IT-avdelingen@FSI)
\item \texttt{2001:700:1D00:8:\alert{221:70FF:FE73:686E}}\hfill(public-nettet@HiG)
\end{itemize}
\item \rfc{4941} beskriver bruk av tilfeldig grensesnittidentifikator
\item Med tilfeldig grensesnittidentifikator:
\begin{itemize}[<+->]
\item \texttt{2001:700:1100:3:\alert{B9D9:B729:6CDD:4E5}}\hfill(IT-avdelingen@FSI)
\item \texttt{2001:700:1D00:8:\alert{B9D9:B729:6CDD:4E5}}\hfill(public-nettet@HiG)
\end{itemize}
\item Disse byttes ut typisk hver dag:
\begin{itemize}[<+->]
\item \texttt{2001:700:1100:3:\alert{F503:1E6F:5F2F:F5F2}}\hfill(IT-avdelingen@FSI)
\item \texttt{2001:700:1D00:8:\alert{F503:1E6F:5F2F:F5F2}}\hfill(public-nettet@HiG)
\end{itemize}
\item Man må bare passe på u/l-bitet og passe seg for adressekollisjon
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Tilfeldig grensesnittidentifikator}
%\pause
\begin{itemize}[<+->]
\item \rfc{4941} angir en metode for generering av tilfeldig
grensesnittidentifikator:
\begin{enumerate}[<+->]
\item Sett sammen historisk verdi fra forrige runde (eller et
tilfeldig 64-bit heltall) med den konstante
grensesnittidentifikatoren til et 128-bit heltall
\item Beregn MD5-hash av resultatet fra trinn 1
\item Bruk de 64 \textit{mest\/} signifikante bitene og sett det
sjuende mest signifikante bitet til null (dette indikerer en
lokalgitt grensesnittidentifikator)
\item Sammenlign den nye tilfeldige grensesnittidentifikatoren med
lista over reserverte identifikatorer; oppdages en uakseptabel
identifikator, gå til trinn 1 og bruk de 64 \textit{minst\/}
signifikante bitene fra trinn 2 som historisk verdi
\item Ta i bruk den nye tilfeldige grensesnittidentifikatoren
\item Lagre de 64 \textit{minst\/} signifikante bitene fra trinn 2
som historisk verdi for bruk den neste gangen denne algoritmen
brukes
\end{enumerate}
\end{itemize}
\end{frame}
% Bør ha med en egen slide som viser (generering av) tilfeldig ifid i praksis.
\section{Spesialadresser}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Spesialadresser}
\pause
\begin{itemize}[<+->]
\item Nulladressa: \texttt{0:0:0:0:0:0:0:0/0} eller \texttt{::/0}
\begin{itemize}[<+->]
\item Brukes av klienter som ennå ikke vet sin egen adresse
(DHCPv6)
\item Brukes av tjenester som godtar forespørsler fra alle
grensesnitt (sjekk ut
\href{http://www.freebsd.org/cgi/man.cgi?query=bind&apropos=0&sektion=2&manpath=FreeBSD+9.1-RELEASE&arch=default&format=html}{\texttt{bind}(2)}-systemkallet
i «Juniks»)
\item Tilsvarer \texttt{0.0.0.0/0} eller \texttt{0/0} i IPv4
\end{itemize}
\item Loopbackadressa: \texttt{0:0:0:0:0:0:0:1/128} eller
\texttt{::1/128}
\begin{itemize}[<+->]
\item Velkjent adresse for å snakke med tjenester i samme node
\item Tilsvarer \texttt{127.0.0.1/32} i IPv4
\end{itemize}
\item Dokumentasjonsprefiks: \texttt{2001:db8::/32}
\begin{itemize}[<+->]
\item Brukes for generell beskrivelse av IPv6-oppsett i lærebøker
og annen generell dokumentasjon \prfc{3849}
\item Forbudt å bruke på det offentlige internettet
\item Bør blokkeres i \textit{inngående\/} og utgående ACL-er for
internettgrensesnittet til routere
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Spesialadresser}
%\pause
\begin{itemize}[<+->]
\item IPv4-mapped IPv6 addresses:
\texttt{::FFFF:\textit{w}.\textit{x}.\textit{y}.\textit{z}}
\begin{itemize}[<+->]
\item Hvor \texttt{\textit{w}.\textit{x}.\textit{y}.\textit{z}} er
den opprinnelige IPv4-adressa skrevet på vanlige måte for IPv4-adresser
\item Eksempel: \texttt{::FFFF:128.39.174.1}
\item Brukes i systemer som har både IPv4- og IPv6-adresser, men
hvor den enkelte tjeneste bare bruker IPv6-socketer og har slått
av \texttt{IPV6\_V6ONLY} med
\href{http://www.freebsd.org/cgi/man.cgi?query=setsockopt&apropos=0&sektion=2&manpath=FreeBSD+9.1-RELEASE&arch=default&format=html}{\texttt{setsockopt}(2)}
for lyttesocketen
\item Forbudt av sikkerhetshensyn i enkelte OS-er som
\href{http://www.openbsd.org/}{OpenBSD}, se OpenBSDs
\href{http://www.openbsd.org/cgi-bin/man.cgi?query=ip6&sektion=4}{\texttt{ip6}(4)}
\item Tjenestene må da åpne separate lyttesocketer for IPv4 og
IPv6
\end{itemize}
\end{itemize}
\end{frame}
\section{Duplicate Address Detection --- DAD}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Duplicate Address Detection --- DAD}
\pause
\begin{itemize}[<+->]
\item Når en unicast-adresse er generert skal man alltid sjekke at
ingen andre bruker den samme adressa\hfill\prfc{4862}
\item Dette gjøres ved å sende en «ICMPv6 Neighbor
Solicitation-melding» til den genererte adressas «Solicited-node
multicast address»
\item ICMPv6-meldinga inneholder den genererte adressa i feltet for
«Target Address»\hfill\prfc{4861}
\item En «Solicited-node multicast address» er på formen
\texttt{FF02::1:FF\alert<8->{\textit{aa}}:\alert<8->{\textit{bbcc}}},
hvor \alert<8->{\texttt{\textit{aabbcc}}} er de 24 minst
signifikante bitene fra den opprinnelige adressa\hfill\prfc{4291}
\item Sett at den genererte adressa er
\texttt{2001:700:1100:3:221:70FF:FE\alert<8->{73}:\alert<8->{686E}}
\item «Solicited-node multicast address» vil da være
\texttt{FF02::1:FF\alert<8->{73}:\alert<8->{686E}}
\pause
\item Vanligvis kommer det ikke noe svar på slike ICMPv6-meldinger
\dots
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Grunnleggende om adresser}
\framesubtitle{Duplicate Address Detection --- DAD}
%\pause
\begin{itemize}[<+->]
\item \dots\ trodde vi \dots
\item «\href{http://en.wikipedia.org/wiki/Danger,_Will_Robinson}{Danger, Will Robinson!}»
\item Det er et stort potensiale for Denial of Service --- DoS\hfill\prfc{3756}
\item En «slabbedask» kan velge å svare på DAD og nekte oss å bruke
\textit{enhver\/} adresse
\item Svaret kommer i form av en «ICMPv6 Neighbor
Advertisement»-melding som forteller oss at en annen node bruker
den samme adressa\hfill\prfc{4862}
\item Resultat: «slabbedasken» kan bruke nettverket uforstyrra
\item Dersom det er 2 eller flere «slabbedasker» i samme nettverk, hva da?
\item Problemet kan løses med «SEcure Neighbor Discovery» (SEND), \rfc{3971}
\end{itemize}
\end{frame}
\part{Adressetyper}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~5: Adressetyper}
\begin{frame}%[allowframebreaks]
\frametitle{Oversikt over del~5: Adressetyper}
\tableofcontents%[pausesections]
\end{frame}
\section{Adressetyper}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\pause
\begin{itemize}[<+->]
\item Det finnes flere adressetyper med forskjellige bruksområder:
\begin{itemize}[<+->]
\item Unicast-adresser:
\begin{itemize}[<+->]
\item Link-local-adresser
\item Site-local-adresser
\item Offentlige unicast-adresser
\item Unike, lokale, aggregerbare adresser
\end{itemize}
\item Anycast-adresser
\item Multicast-adresser
\end{itemize}
\item Merk at broadcast er avskaffa og er i stor grad erstatta med
link-local-multicast
\end{itemize}
\end{frame}
\section{Link-local-adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Link-local-adresser}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4291}
\item Bruksområde:
\begin{itemize}[<+->]
\item Lokal kommunikasjon internt i VLAN-et
\item Sentral for autokonfigurasjon
\item Blir ikke videresendt av routere til andre VLAN eller til internett
\item Kan brukes i ad-hoc-nett
\end{itemize}
\item Prefiks: \texttt{FE80::/10}
\item De neste 54 bitene skal settes til null
\item De siste 64 bitene er grensesnittidentifikator i modda
EUI-64-format
\item Eksempel: \texttt{FE80::221:70FF:FE73:686E}
\end{itemize}
\end{frame}
\section{Site-local-adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Site-local-adresser}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{3513}
\item Bruksområde: private adresser på lik linje med \rfc{1918}
\item Prefiks: \texttt{FEC0::/10}
\item De neste 54 bitene brukes til subnet-ID
\item De siste 64 bitene er grensesnittidentifikator i modda
EUI-64-format
\item Eksempel: \texttt{FEC0::DEAD:BEEF:1337}
\item Ikke bruk site-local-adresser \prfc{3879}
\item Site-local-adresser er erstatta med ULA \prfc{4193}
\end{itemize}
\end{frame}
\section{Offentlige unicast-adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Offentlige unicast-adresser}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4291} og \rfc{3587}
\item Bruksområde: ende-til-ende-kommunikasjon på det offentlige internett
\item Prefiks: \texttt{2000::/3}
\item De neste bitene allokeres hierarkisk, minimum i 4-bitblokker,
men gjerne i 8- eller 16-bitblokker
\item De siste 64 bitene er grensesnittidentifikator i modda
EUI-64-format
\item Det er vanlig at kundene blir tildelt \texttt{/48}- eller
\texttt{/56}-bits prefiks av ISP-ene:
\begin{itemize}[<+->]
\item \texttt{/48}-bits prefiks gir $128-64-48=16$ subnetbit $\to$ $2^{16}=65536$ subnett
\item \texttt{/56}-bits prefiks gir $128-64-56=\phantom{1}8$ subnetbit $\to$ $2^{8\phantom{6}}=\phantom{65}256$ subnett
\end{itemize}
\item Eksempel: \texttt{2001:700:1100:1::1/128}
\end{itemize}
\end{frame}
\section{Unike, lokale, aggregerbare adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Unike, lokale, aggregerbare adresser}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4193}
\item Bruksområde: ende-til-ende-kommunikasjon internt i nettverket
\item Veldig praktisk å ha faste, interne adresser uavhengig av
offentlig prefiks tildelt av ISP
\item Prefiks: \texttt{FC00::/7}
\item Det åttende mest signifikante bitet skal settes til \texttt{1}
inntil videre
\item Det reelle prefikset er dermed
\texttt{\alert{FD}00::/\alert{8}}
\item Prefikset \texttt{\alert{FC}00::/\alert{8}} er reservert
inntil videre
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Unike, lokale, aggregerbare adresser}
%\pause
\begin{itemize}[<+->]
\item Reelt prefiks: \texttt{FD00::/8}
\item De neste 40 bitene genereres tilfeldig, gjerne som beskrevet i
\rfc{4193}
\item De neste 16 bitene brukes til subnett-ID
\item De siste 64 bitene er grensesnittidentifikator i modda
EUI-64-format
\item Eksempel: \texttt{FD\alert{5C:14CF:C300}:31::1/128}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Unike, lokale, aggregerbare adresser}
%\pause
\begin{itemize}[<+->]
\item \href{http://www.sixxs.net/}{SixXS} tilbyr bl.a.:
\begin{itemize}[<+->]
\item Generering av ULA-prefiks:
\texttt{\url{http://www.sixxs.net/tools/grh/ula/}}
\item Registrering av ULA-prefiks:
\texttt{\url{http://www.sixxs.net/tools/grh/ula/list/}}
\end{itemize}
\item
\href{http://www.apnic.net/events/apnic-speakers/george-michaelson}{George
Michaelson}, seniorforsker ved
\href{http://www.apnic.net/}{APNIC}, har oppdaget ULA-adresser i
fri dressur ute på internett:
\begin{itemize}[<+->]
\item Tydeligvis klarer ikke folk å lese RFC-ene og holde seg til
de fastsatte reglene
\item
\texttt{\url{http://www.sixxs.net/archive/docs/IEPG2013_ULA_in_the_wild.pdf}}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Unike, lokale, aggregerbare adresser}
%\pause
\begin{itemize}[<+->]
\item Her er algoritmen fra \rfc{4193} for å generere de 40
tilfeldige bitene:
\begin{enumerate}[<+->]
\item Uttrykk nåværende øyeblikk som et 64-bit heltall i
NTP-format \prfc{5905}
\item Bruk en EUI-64-identifikator fra systemet som kjører denne
algoritmen
\begin{itemize}[<+->]
\item Mangler du en EUI-64-identifikator, så kan du lage en fra
en 48-bit MAC-adresse som angitt i \rfc{4291}
\item Kan du ikke lage en EUI-64-identifikator, så bruk en annen
unik verdi som serienummeret til systemet
\end{itemize}
\item Sett sammen de to 64-bit heltallene til et 128-bit heltall
\item Beregn en SHA-1-hash som beskrevet i \rfc{3174}. Resultatet
er et heltall på 160 bit
\item Bruk de 40 minst signifikante bitene som global
identifikator
\end{enumerate}
\item Har man tilgang på tilfeldige tall av god kvalitet, så kan man
bruke de i stedet for metoden over
\end{itemize}
\end{frame}
\section{Anycast-adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Anycast-adresser}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4291}
\item Bruksområde: felles adresse for distribuerte tjenester,
routerne bestemmer hvilken server som er nærmest og sender
trafikken dit
\item Prefiks: ingen, allokeres fra dine egne unicast-adresser og
markeres som en anycast-adresse hos routerne og serverne
\item Alle IPv6-adresser hvor alle bit i grensesnittidentifikatoren
satt til null, er reservert som «Subnet-Router anycast address»
\item Denne anycast-adressa brukes når man vil kontakte én av
potensielt flere routere i subnettet der du er
\item Eksempel: \texttt{2001:700:1100:1::/128 \alert{anycast}}
\item Se også \rfc{2526}
\end{itemize}
\end{frame}
\section{Multicast-adresser}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Multicast-adresser}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4291}
\item Bruksområde: én-til-mange-kommunikasjon
\item Prefiks: \texttt{FF::/8}
\item Flagg \texttt{\textit{f\/}} og rekkevidde
\texttt{\textit{r\/}} er innebygget i adressa:
\texttt{FF\textit{fr}::/16}
\item Eksempel: \texttt{FF0E::101/128}\hfill(global multicast-adresse
for NTP)
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Multicast-adresser}
%\pause
\begin{itemize}[<+->]
\item Flaggene heter \texttt{0RPT}\hfill(null, err, pe, te)
\item Flagget \texttt{T} angir med \texttt{0} at adressa er velkjent
(definert av \href{http://www.iana.org/}{IANA}), og med \texttt{1}
at adressa er midlertidig (lokalt definert)
\item Flagget \texttt{P} angir med \texttt{1} at adressa inneholder
et unicast-prefiks og skal følge reglene i \rfc{3306}
\item Flagget \texttt{R} angir med \texttt{1} at adressa også
inneholder et møtepunkt («rendezvous point») og skal følge reglene
i \rfc{3956}
\item Flaggene \texttt{P} og \texttt{R} gjør det enkelt å lage egne
multicast-adresser for internt bruk i organisasjonen
\item Bruk av flaggene \texttt{R}, \texttt{P} og \texttt{T}
gjennomgås i detalj i del~10
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{Adressetyper}
\framesubtitle{Multicast-adresser}
%\pause
\begin{multicols}{2}
\begin{itemize}[<+->]
\item Følgende rekkevidder er definert i \rfc{4921}:
\item \texttt{0}: reservert
\item \texttt{1}: interface-local
\item \texttt{2}: link-local
\item \texttt{3}: reservert
\item \texttt{4}: admin-local
\item \texttt{5}: site-local
\item \texttt{6}: ikke definert
\item \texttt{7}: ikke definert
\item \texttt{8}: organization-local
\item \texttt{9}: ikke definert
\item \texttt{A}: ikke definert,\\ brukt av Uninett til å
\href{http://drift.uninett.no/nett/ip-nett/ipv6-multicastadresser.html}{begrense}
trafikken innenfor «Uninettet»
\item \texttt{B}: ikke definert
\item \texttt{C}: ikke definert
\item \texttt{D}: ikke definert
\item \texttt{E}: global
\item \texttt{F}: reservert
\end{itemize}
\end{multicols}
\end{frame}
\part{DNS}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~6: DNS}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~6: DNS}
\tableofcontents%[pausesections]
\end{frame}
\section{\texttt{AAAA} og \texttt{PTR}}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{AAAA} og \texttt{PTR}}
\pause
\begin{itemize}[<+->]
\item Navn-til-IPv6-adresser bruker \texttt{AAAA}-poster
\begin{itemize}[<+->]
\item Eksempel:
\begin{verbatim}
$ORIGIN fig.ol.no.
svabu IN AAAA 2001:700:1100:1::4
\end{verbatim}
\end{itemize}
\item IPv6-adresser-til-navn bruker \texttt{PTR}-poster plassert i \texttt{ip6.arpa.}
\begin{itemize}[<+->]
\item Eksempel:
\begin{verbatim}
$ORIGIN 1.0.0.0.0.0.1.1.0.0.7.0.1.0.0.2.ip6.arpa.
4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR svabu.fig.ol.no.
\end{verbatim}
\end{itemize}
\item Se \rfc{3596}
\end{itemize}
\end{frame}
\section{\texttt{A6}}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
\pause
\begin{itemize}[<+->]
\item \texttt{A6}-poster var foreslått som erstatning for
\texttt{AAAA}-poster av \rfc{2874}, men er endret til
eksperimentell av \rfc{3363}
\item \rfc{3364} diskuterer
fordeler og ulemper med \texttt{AAAA} og \texttt{A6}
\item En \texttt{A6}-post består av 2--3 ting:
\begin{enumerate}[<+->]
\item Prefikslengde fra og med $0$ til og med $128$
\item Utdrag av IPv6-adressa
\item Navn som henviser til resten av adressa
\end{enumerate}
\item Settes prefikslengda til:
\begin{itemize}[<+->]
\item $0$, så er det \alert{ikke} lov å oppgi noen henvisning,
fordi dette navnet er det øverste eller det eneste nivået i en
kjede
\item $128$, så er det \alert{ikke} lov å oppgi noen IPv6-adresse,
fordi man henviser til et helt annet navn, tydeligvis et
overflødig alternativ til \texttt{CNAME}
\end{itemize}
\item Avsnittene 3.1.1 og 3.1.3 i \rfc{2874} er ikke enige med seg
selv når prefikslengda settes til $128$
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
%\pause
\begin{itemize}[<+->]
\item Et tenkt eksempel med \texttt{A6}:
\item
\begin{verbatim}
$ORIGIN ip6.uninett.no.
uninett IN A6 0 2001:700::
fig IN A6 32 0:0:1100:: uninett
$ORIGIN fig.ol.no.
ext-servere.ip6 IN A6 48 0:0:0:1:: fig.ip6.uninett.no.
svabu IN A6 64 ::4 ext-servere.ip6
\end{verbatim}
\item Vi vil vite IPv6-adressa for \texttt{svabu.fig.ol.no.} og vi
vil bruke \texttt{A6}-poster for å finne svaret
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
%\pause
\begin{itemize}%[<+->]
\item Et tenkt eksempel med \texttt{A6}:
\item
\begin{verbatim}
$ORIGIN fig.ol.no.
svabu IN A6 64 ::4 ext-servere.ip6
\end{verbatim}
\item Forklaring:
\begin{itemize}%[<+->]
\item \texttt{svabu.fig.ol.no.} mangler de 64 mest signifikante bitene og henviser til \texttt{ext-servere.ip6.fig.ol.no.}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
%\pause
\begin{itemize}%[<+->]
\item Et tenkt eksempel med \texttt{A6}:
\item
\begin{verbatim}
$ORIGIN fig.ol.no.
svabu IN A6 64 ::4 ext-servere.ip6
ext-servere.ip6 IN A6 48 0:0:0:1:: fig.ip6.uninett.no.
\end{verbatim}
\item Forklaring:
\begin{itemize}%[<+->]
\item \texttt{ext-servere.ip6.fig.ol.no.} mangler de 48 mest signifikante bitene og henviser til \texttt{fig.ip6.uninett.no.}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
%\pause
\begin{itemize}%[<+->]
\item Et tenkt eksempel med \texttt{A6}:
\item
\begin{verbatim}
$ORIGIN fig.ol.no.
svabu IN A6 64 ::4 ext-servere.ip6
ext-servere.ip6 IN A6 48 0:0:0:1:: fig.ip6.uninett.no.
$ORIGIN ip6.uninett.no.
fig IN A6 32 0:0:1100:: uninett
\end{verbatim}
\item Forklaring:
\begin{itemize}%[<+->]
\item \texttt{fig.ip6.uninett.no.} mangler de 32 mest signifikante bitene og henviser til \texttt{uninett.ip6.uninett.no.}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
%\pause
\begin{itemize}%[<+->]
\item Et tenkt eksempel med \texttt{A6}:
\item
\begin{verbatim}
$ORIGIN fig.ol.no.
svabu IN A6 64 ::4 ext-servere.ip6
ext-servere.ip6 IN A6 48 0:0:0:1:: fig.ip6.uninett.no.
$ORIGIN ip6.uninett.no.
fig IN A6 32 0:0:1100:: uninett
uninett IN A6 0 2001:700::
\end{verbatim}
\item Forklaring:
\begin{itemize}%[<+->]
\item Kjeden slutter med \texttt{uninett.ip6.uninett.no.} og her angis de 32 mest signifikante bitene
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{DNS}
\framesubtitle{\texttt{A6}}
%\pause
\begin{itemize}%[<+->]
\item Et tenkt eksempel med \texttt{A6}:
\item
\begin{verbatim}
$ORIGIN fig.ol.no.
svabu IN A6 64 ::4 ext-servere.ip6
ext-servere.ip6 IN A6 48 0:0:0:1:: fig.ip6.uninett.no.
$ORIGIN ip6.uninett.no.
fig IN A6 32 0:0:1100:: uninett
uninett IN A6 0 2001:700::
\end{verbatim}
\item Vi får bygd opp følgende adressekjede:
\begin{itemize}%[<+->]
\item \texttt{::4}\hfill\texttt{svabu.fig.ol.no.}
\item \texttt{0:0:0:1::}\hfill\texttt{ext-servere.ip6.fig.ol.no.}
\item \texttt{0:0:1100::}\hfill\texttt{fig.ip6.uninett.no.}
\item \texttt{2001:700::}\hfill\texttt{uninett.ip6.uninett.no.}
\end{itemize}
\item Bitvis-\texttt{OR} gir den fullstendige adressa \texttt{2001:700:1100:1::4}
\end{itemize}
\end{frame}
\part{ICMPv6}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~7: ICMPv6}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~7: ICMPv6}
\tableofcontents%[pausesections]
\end{frame}
\section{ICMPv6}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\pause
\begin{itemize}[<+->]
\item Feilrapportering- og feilsøkingstjeneste for IPv6
\item Definert: \rfc{4443} og \rfc{4844}
\item ICMPv6-meldinger inneholder to tall som forteller noe om
budskapets mening og innhold:
\begin{itemize}[<+->]
\item Type: hovednummer
\item Code: undernummer, settes til 0 når det ikke er definert
noen undernummer
\end{itemize}
\item I tillegg er det felter for sjekksum og andre opplysninger som
er unike for hver type (og undertype) av meldingene
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
%\pause
\begin{itemize}[<+->]
\item Feilmeldinger:
\begin{itemize}[<+->]
\item 1: Destination Unreachable
\item 2: Packet Too Big
\item 3: Time Exceeded
\item 4: Parameter Problem
\item 100: Private eksperimenter
\item 101: Private eksperimenter
\item 127: Reservert for utvidelse av feilmeldingene
\end{itemize}
\item Informative meldinger:
\begin{itemize}[<+->]
\item 128: Echo request\hfill(ping)
\item 129: Echo reply\hfill(pong)
\item 200: Private eksperimenter
\item 201: Private eksperimenter
\item 255: Reservert for utvidelse av informative meldinger
\end{itemize}
\end{itemize}
\end{frame}
\section{Multicast Listener Discovery}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Multicast Listener Discovery}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{2710}
\item Angir tre nye ICMPv6-meldinger:
\begin{itemize}%[<+->]
\item 130: Multicast Listener Query
\item 131: Multicast Listener Report
\item 132: Multicast Listener Done
\end{itemize}
\end{itemize}
\end{frame}
\section{Neighbor Discovery}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Neighbor Discovery}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4861}
\item Angir fem nye ICMPv6-meldinger:
\begin{itemize}[<+->]
\item 133: Router Solicitation
\item 134: Router Advertisement
\item 135: Neighbor Solicitation
\item 136: Neighbor Advertisement
\item 137: Redirect
\end{itemize}
\item Sentral ved autokonfigurering av adresser
\item Brukes for å bekrefte at nodene er oppegående og bestemme
lag-2-adressene til mottakere
\item Neighbor Discovery gjennomgås i detalj i foredraget
for de viderekomne
\end{itemize}
\end{frame}
\section{Router Renumbering}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Router Renumbering}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{2894}
\item Angir én ny ICMPv6-melding:
\begin{itemize}%[<+->]
\item 138: Router Renumbering
\end{itemize}
\item \rfc{2894} angir
følgende undertyper:
\begin{itemize}%[<+->]
\item 0: Router Renumbering Command
\item 1: Router Renumbering Result
\item 255: Sequence Number Reset
\end{itemize}
\end{itemize}
\end{frame}
\section{Inverse Neighbor Discovery}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Inverse Neighbor Discovery}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{3122}
\item Angir to nye ICMPv6-meldinger:
\begin{itemize}%[<+->]
\item 141: Inverse Neighbor Discovery Solicitation
\item 142: Inverse Neighbor Discovery Advertisement
\end{itemize}
\item Gjør det mulig for én node å lære IPv6-adressen(e) til en
annen node i samme VLAN, når man bare vet lag-2-adressa til den
andre noden
\end{itemize}
\end{frame}
\section{Version 2 Multicast Listener Report}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Version 2 Multicast Listener Report}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{3810}
\item Angir én ny ICMPv6-melding:
\begin{itemize}%[<+->]
\item 143: Version 2 Multicast Listener Report
\end{itemize}
\end{itemize}
\end{frame}
\section{Mobile IPv6}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Mobile IPv6}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{6275}
\item Angir fire nye ICMPv6-meldinger:
\begin{itemize}%[<+->]
\item 144: Home Agent Address Discovery Request
\item 145: Home Agent Address Discovery Reply
\item 146: Mobile Prefix Solicitation
\item 147: Mobile Prefix Advertisement
\end{itemize}
\end{itemize}
\end{frame}
\section{SEcure Neighbor Discovery (SEND)}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{SEcure Neighbor Discovery (SEND)}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{3971}
\item Angir to nye ICMPv6-meldinger:
\begin{itemize}%[<+->]
\item 148: Certification Path Solicitation
\item 149: Certification Path Advertisement
\end{itemize}
\item Med SEND unngås DoS-problemene til Neighbor Discovery
\item Routerne deler ut kryptografisk genererte adresser \rfc{3972}
\item Dette krever sertifikatstruktur (RPKI, \rfc{6494}) i routere og i klienter
\item Ikke implementert i Cisco IOS 12.2(55)SE for Catalyst 3560G
\end{itemize}
\end{frame}
\section{Multicast Router Discovery}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Multicast Router Discovery}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{4286}
\item Angir tre nye ICMPv6-meldinger:
\begin{itemize}%[<+->]
\item 151: Multicast Router Advertisement
\item 152: Multicast Router Solicitation
\item 153: Multicast Router Termination
\end{itemize}
\item Catalyst 3560G har ikke støtte for annet enn IPv4-multicast
\item Ved FSI har vi ikke fått testet IPv6-multicast
\end{itemize}
\end{frame}
\section{FMIPv6}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{FMIPv6}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{5568}
\item Angir én ny ICMPv6-melding:
\begin{itemize}%[<+->]
\item 154: FMIPv6, Fast handovers, Mobile IPv6
\end{itemize}
\end{itemize}
\end{frame}
\section{RPL Control Message}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{RPL Control Message}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{6550}
\item Angir én ny ICMPv6-melding:
\begin{itemize}%[<+->]
\item 155: RPL Control Message
\end{itemize}
\item IPv6 Routing Protocol for Low-Power and Lossy Networks
\end{itemize}
\end{frame}
\section{ILNPv6 Locator Update Message}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{ILNPv6 Locator Update Message}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{6743}
\item Angir én ny ICMPv6-melding:
\begin{itemize}%[<+->]
\item 156: ILNPv6 Locator Update Message
\end{itemize}
\item Identifier-Locator Network Protocol
\item En eksperimentell måte å håndtere digitale nomader
\end{itemize}
\end{frame}
\section{Duplicate Address}
\begin{frame}%[allowframebreaks]
\frametitle{ICMPv6}
\framesubtitle{Duplicate Address}
%\pause
\begin{itemize}%[<+->]
\item Definert: \rfc{6775}
\item Angir to nye ICMPv6-meldinger:
\begin{itemize}%[<+->]
\item 157: Duplicate Address Request
\item 158: Duplicate Address Confirmation
\end{itemize}
\item Neighbor Discovery Optimization for IPv6 over Low-Power
Wireless Personal Area Networks (6LoWPANs)
\end{itemize}
\end{frame}
\part{Neighbor Discovery}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~8: Neighbor Discovery}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~8: Neighbor Discovery}
\tableofcontents%[pausesections]
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Neighbor Discovery}
\pause
\begin{itemize}[<+->]
\item Definert: \rfc{4861}
\item Angir fem nye ICMPv6-meldinger:
\begin{itemize}[<+->]
\item 133: Router Solicitation
\item 134: Router Advertisement
\item 135: Neighbor Solicitation
\item 136: Neighbor Advertisement
\item 137: Redirect
\end{itemize}
\item Sentral ved autokonfigurering av adresser
\item Brukes for å bekrefte at nodene er oppegående og bestemme
lag-2-adressene til mottakere
\end{itemize}
\end{frame}
\section{Router Solicitation}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{Neighbor Discovery}
\framesubtitle{Router Solititation}
\pause
\begin{Verbatim}[fontsize=\tiny]
Internet Control Message Protocol v6
Type: Router Solicitation (133)
Code: 0
Checksum: 0xc065 [correct]
Reserved: 00000000
ICMPv6 Option (Source link-layer address : 00:21:70:73:68:6e)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: Dell_73:68:6e (00:21:70:73:68:6e)
\end{Verbatim}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Router Advertisement}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{Neighbor Discovery}
\framesubtitle{Router Advertisement}
\pause
\begin{Verbatim}[fontsize=\tiny]
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xfa8c [correct]
Cur hop limit: 64
Flags: 0x48
0... .... = Managed address configuration: Not set
.1.. .... = Other configuration: Set
..0. .... = Home Agent: Not set
...0 1... = Prf (Default Router Preference): High (1)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 00:17:e0:77:14:57)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: Cisco_77:14:57 (00:17:e0:77:14:57)
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
\end{Verbatim}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\begin{frame}[fragile]%[allowframebreaks]
\frametitle{Neighbor Discovery}
\framesubtitle{Router Advertisement}
\pause
\begin{Verbatim}[fontsize=\tiny]
ICMPv6 Option (Prefix information : 2001:700:1100:3::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: it.ip6.fig.ol.no (2001:700:1100:3::)
\end{Verbatim}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Neighbor Solicitation}
\begin{frame}%[allowframebreaks]
\frametitle{Neighbor Discovery}
\framesubtitle{Neighbor Solititation}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Neighbor Solicitation}
\begin{frame}%[allowframebreaks]
\frametitle{Neighbor Discovery}
\framesubtitle{Neighbor Solititation}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Redirect}
\begin{frame}%[allowframebreaks]
\frametitle{Neighbor Discovery}
\framesubtitle{Redirect}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\part{DHCPv6}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~9: DHCPv6}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~9: DHCPv6}
\tableofcontents%[pausesections]
\end{frame}
\section{DHCPv6}
\begin{frame}%[allowframebreaks]
\frametitle{DHCPv6}
\pause
\begin{itemize}[<+->]
\item DHCPv6 er definert i \rfc{3315} med oppdateringer fra
\rfc{4361}, \rfc{5494}, \rfc{6221}, \rfc{6422} og \rfc{6644}
\item Kommunikasjonen foregår først med multicast og UDP, senere
unicast og UDP
\item Klientene bruker port 546 og serverne/relay bruker 547
\item Klientene bruker sin egen link-local-adresse som avsender og
multicast-adressa \texttt{FF02::1:2} som mottaker
\item Serverne svarer med sin link-local-adresser som avsender og
klientens link-local-adresse som mottaker
\end{itemize}
\end{frame}
% Husk å ta bort allowframebreaks og dele teksten inn i enkeltframes, for underpunktene forsvinner i foredrags-filene. :-O
\section{Meldinger}
\begin{frame}[allowframebreaks]
\frametitle{DHCPv6}
\framesubtitle{Meldinger}
%\pause
\begin{itemize}%[<+->]
\item Solicit
\begin{itemize}%[<+->]
\item Fra klient til server/relay
\end{itemize}
\item Advertise
\begin{itemize}%[<+->]
\item Fra server/relay til klient
\end{itemize}
\item Request
\begin{itemize}%[<+->]
\item Fra klient til spesifikk server
\end{itemize}
\item Confirm
\begin{itemize}%[<+->]
\item Fra server/relay til klient
\end{itemize}
\item Renew
\begin{itemize}%[<+->]
\item Fra klient til server/relay
\end{itemize}
\item Rebind
\begin{itemize}%[<+->]
\item Fra klient til server/relay
\end{itemize}
\framebreak
\item Reply
\begin{itemize}%[<+->]
\item Fra server til klient
\end{itemize}
\item Release
\begin{itemize}%[<+->]
\item Fra klient til server/relay
\end{itemize}
\item Decline
\begin{itemize}%[<+->]
\item Fra klient til server/relay
\end{itemize}
\item Reconfigure
\begin{itemize}%[<+->]
\item Fra server til klient
\end{itemize}
\item Information-request
\begin{itemize}%[<+->]
\item Fra klient til server/relay
\end{itemize}
\item Relay-forward
\begin{itemize}%[<+->]
\item Fra relay til relay/server
\end{itemize}
\framebreak
\item Relay-reply
\begin{itemize}%[<+->]
\item Fra server/relay til relay
\end{itemize}
\end{itemize}
\end{frame}
\section{DHCP Unique Identifier}
\begin{frame}%[allowframebreaks]
\frametitle{DHCPv6}
\framesubtitle{DHCP Unique Identifier, DUID}
\pause
\begin{itemize}[<+->]
\item Klientene identifiseres med DHCP Unique Identifier, DUID, som
har variabel lengde og format
\item Klientene kan ha flere nettverksgrensesnitt
\item Hvert grensesnitt har i tillegg sin Identity Association
Identifier, IAID, lengde 32 bit
\item Klientene oppgir aktuell DUID og IAID i forespørslene
\item DHCPv6-serverne har, og oppgir, sine egne DUID og IAID i
svarene
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{DHCPv6}
\framesubtitle{DHCP Unique Identifier, DUID}
\pause
\begin{itemize}[<+->]
\item DUID finnes i tre varianter:
\begin{itemize}[<+->]
\item Type 1: Linklagsadresse med tidspunkt for generering,
\texttt{DUID-LLT}
\item Type 2: Unik identifikator basert på Enterprise-nummer
utdelt av IANA
\item Type 3: Linklagsadresse, \texttt{DUID-LL}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{DHCPv6}
\framesubtitle{DHCP Unique Identifier, DUID}
\pause
\begin{itemize}[<+->]
\item Type 1 kan se slik ut:\\ \texttt{\color{red}00 01
\color{violet}00 01 \color{brown}13 10 43 9B \color{black}00 26
18 F2 72 40}
\begin{itemize}[<+->]
\item \texttt{\color{red}00 01} angir at dette er DUID type 1.
\item \texttt{\color{violet}00 01} angir at det kommer en
MAC-48-adresse til slutt
\item \texttt{\color{brown}13 10 43 9B} angir klokkeslettet målt i
sekunder siden 1.~januar 2000 UTC
\begin{itemize}[<+->]
\item I dette tilfellet: \texttt{0x1310439B}~s, 319832987~s,
10.1351038909~år etter 1.~januar 2000 UTC, altså 18.~februar
2010, kl.~18:29:47 UTC
\end{itemize}
\item \texttt{00 26 18 F2 72 40} er MAC-48-adressa for systemet
som dette eksempelet er hentet fra
\end{itemize}
\item Type 3 kan se slik ut:\\ \texttt{\color{red}00 03
\color{violet}00 01 \color{black}00 26 18 F2 72 40}
\begin{itemize}[<+->]
\item \texttt{\color{red}00 03} angir at dette er DUID type 3.
\item \texttt{\color{violet}00 01} angir at det kommer en
MAC-48-adresse til slutt
\item \texttt{00 26 18 F2 72 40} er MAC-48-adressa for systemet
som dette eksempelet er hentet fra
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{DHCPv6}
\framesubtitle{DHCP Unique Identifier, DUID}
\pause
\begin{itemize}[<+->]
\item Type 1 er vanlig i Windows, og lagres i \texttt{Dhcpv6DUID} i
\texttt{HKEY\_LOCAL\_MACHINE\Textbackslash SYSTEM\Textbackslash
CurrentControlSet\Textbackslash services\Textbackslash
TCPIP6\Textbackslash Parameters}
\item Type 3 er enklere og mer forutsigbart, og det beste valget for
statisk tildeling av IPv6-adresse med tanke på reinstallasjon av
OS
\item Jeg har ikke funnet noen måte å tvinge en bestemt DUID-type i
Windows, annet enn å sette \texttt{Dhcpv6DUID} manuelt eller
gjennom skript, og naturlig nok restarte Windows etterpå
\item \href{http://klub.com.pl/dhcpv6/}{Dibbler} og Unix-systemer er
tradisjonelt langt snillere, og lar oss angi i konfigurasjonen de
gangene vi ønsker \texttt{DUID-LL} istedet for \texttt{DUID-LLT}
\end{itemize}
\end{frame}
\part{Avansert multicast}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~10: Avansert multicast}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~10: Avansert multicast}
\tableofcontents%[pausesections]
\end{frame}
\section{Multicastflaggene}
\begin{frame}%[allowframebreaks]
\frametitle{Avansert multicast}
\framesubtitle{Multicastflaggene}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Når \texttt{T} er satt til \texttt{1}}
\begin{frame}%[allowframebreaks]
\frametitle{Avansert multicast}
\framesubtitle{Når \texttt{T} er satt til \texttt{1}}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Når \texttt{PT} er satt til \texttt{11}}
\begin{frame}%[allowframebreaks]
\frametitle{Avansert multicast}
\framesubtitle{Når \texttt{PT} er satt til \texttt{11}}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\section{Når \texttt{RPT} er satt til \texttt{111}}
\begin{frame}%[allowframebreaks]
\frametitle{Avansert multicast}
\framesubtitle{Når \texttt{RPT} er satt til \texttt{111}}
\pause
\begin{itemize}[<+->]
\item Bla, bla, bla
\end{itemize}
\end{frame}
\part{Konfigurasjon av IPv6}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~11: Konfigurasjon av IPv6}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~11: Konfigurasjon av IPv6}
\tableofcontents%[pausesections]
\end{frame}
\section{Cisco IOS}
\subsection{IPv6-routing}
\begin{frame}%[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{Cisco IOS: IPv6-routing}
\pause
\begin{enumerate}[<+->]
\item \texttt{configure terminal}
\item \alert{\texttt{sdm prefer dual-ipv4-and-ipv6 default}}\hfill(Rekonfigurere \href{http://en.wikipedia.org/wiki/Content-addressable_memory}{TCAM})
\item \texttt{end}
\item \texttt{reload}
\item \texttt{configure terminal}
\item \texttt{interface \textit{interface-id}}
\item \texttt{no switchport}\hfill(Aktuelt for routergrensesnitt)
\item \alert{\texttt{ipv6 address \textit{ipv6-address}}}
\item \texttt{ipv6 nd ra suppress}\hfill(Aktuelt for routergrensesnitt)
\item \texttt{exit}
\item \alert{\texttt{ip routing}}\hfill(Nødvendig for IP-routing i det hele tatt)
\item \alert{\texttt{ipv6 unicast-routing}}
\item \texttt{no ipv6 source-route}
\item \texttt{end}
\end{enumerate}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{Cisco IOS: IPv6-routing}
\begin{enumerate}[<+->]
\item \alert{\texttt{interface GigabitEthernet0/49}}
\item \texttt{description Linknett mellom FiG og Uninett/HiG}
\item \alert{\texttt{no switchport}}
\item \texttt{ip address 128.39.46.10 255.255.255.252}
\item \texttt{ip access-group InetIPv4Inn in}
\item \texttt{ip access-group InetIPv4Ut out}
\item \texttt{ip pim sparse-mode}
\item \texttt{ip igmp version 3}
\item \alert{\texttt{ipv6 address 2001:700:0:11D::2/64}}
\item \alert{\texttt{ipv6 nd ra suppress}}
\item \alert{\texttt{ipv6 traffic-filter InetIPv6Inn in}}
\item \alert{\texttt{ipv6 traffic-filter InetIPv6Ut out}}
\end{enumerate}
\end{frame}
\subsection{ACL-er}
\begin{frame}[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{Cisco IOS: ACL-er}
%\pause
\begin{enumerate}%[<+->]
\item \texttt{configure terminal}
\item \texttt{ipv6 access-list \textit{access-list-name}}
\item \texttt{\textbf{deny}} | \texttt{\textbf{permit}
\textit{protocol}}
\{\texttt{\textit{source-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{source-ipv6-address}}\}
[\texttt{\textit{operator~port-number}}]
\{\texttt{\textit{destination-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{destination-ipv6-address}}\}
[\texttt{\textit{operator~port-number}}]
[\texttt{\textbf{dest-option}}]
[\texttt{\textbf{dest-option-type}~\textit{value}}]
[\texttt{\textbf{dscp}~\textit{value}}]
[\texttt{\textbf{flow-label}~\textit{value}}]
[\texttt{\textbf{fragments}}]
[\texttt{\textbf{hbh}}]
[\texttt{\textbf{log}}]
[\texttt{\textbf{log-input}}]
[\texttt{\textbf{mobility}}]
[\texttt{\textbf{mobility-type}~\textit{value}}]
[\texttt{\textbf{reflect}~\textit{access-list-name}}]
[\texttt{\textbf{routing}}]
[\texttt{\textbf{routing-type}~\textit{value}}]
[\texttt{\textbf{sequence}~\textit{value}}]
[\texttt{\textbf{time-range}~\textit{name}}]
[\texttt{\textbf{undetermined-transport}}]
\item \texttt{\textbf{deny}} | \texttt{\textbf{permit} tcp}
\{\texttt{\textit{source-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{source-ipv6-address}}\}
[\texttt{\textit{operator~port-number}}]
\{\texttt{\textit{destination-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{destination-ipv6-address}}\}
[\texttt{\textit{operator~port-number}}]
[\texttt{\textbf{ack}}]
[\texttt{\textbf{dest-option}}]
[\texttt{\textbf{dest-option-type}~\textit{value}}]
[\texttt{\textbf{dscp}~\textit{value}}]
[\texttt{\textbf{established}}]
[\texttt{\textbf{fin}}]
[\texttt{\textbf{flow-label}~\textit{value}}]
[\texttt{\textbf{hbh}}]
[\texttt{\textbf{log}}]
[\texttt{\textbf{log-input}}]
[\texttt{\textbf{mobility}}]
[\texttt{\textbf{mobility-type}~\textit{value}}]
[\texttt{\textbf{psh}}]
[\texttt{\textbf{reflect}~\textit{access-list-name}}]
[\texttt{\textbf{routing}}]
[\texttt{\textbf{routing-type}~\textit{value}}]
[\texttt{\textbf{rst}}]
[\texttt{\textbf{sequence}~\textit{value}}]
[\texttt{\textbf{syn}}]
[\texttt{\textbf{time-range}~\textit{name}}]
[\texttt{\textbf{urg}}]
\item \texttt{\textbf{deny}} | \texttt{\textbf{permit} udp}
\{\texttt{\textit{source-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{source-ipv6-address}}\}
[\texttt{\textit{operator~port-number}}]
\{\texttt{\textit{destination-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{destination-ipv6-address}}\}
[\texttt{\textit{operator~port-number}}]
[\texttt{\textbf{dest-option}}]
[\texttt{\textbf{dest-option-type}~\textit{value}}]
[\texttt{\textbf{dscp}~\textit{value}}]
[\texttt{\textbf{flow-label}~\textit{value}}]
[\texttt{\textbf{hbh}}]
[\texttt{\textbf{log}}]
[\texttt{\textbf{log-input}}]
[\texttt{\textbf{mobility}}]
[\texttt{\textbf{mobility-type}~\textit{value}}]
[\texttt{\textbf{reflect}~\textit{access-list-name}}]
[\texttt{\textbf{routing}}]
[\texttt{\textbf{routing-type}~\textit{value}}]
[\texttt{\textbf{sequence}~\textit{value}}]
[\texttt{\textbf{time-range}~\textit{name}}]
\item \texttt{\textbf{deny}} | \texttt{\textbf{permit} icmp}
\{\texttt{\textit{source-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{source-ipv6-address}}\}
\{\texttt{\textit{destination-ipv6-prefix/prefix-length}} |
\texttt{\textbf{any}} |
\texttt{\textbf{host}~\textit{destination-ipv6-address}}\}
[\{\texttt{\textit{icmp-type}} [\texttt{\textit{icmp-code}}]\} | \texttt{\textit{icmp-message}}]
[\texttt{\textbf{dest-option}}]
[\texttt{\textbf{dest-option-type}~\textit{value}}]
[\texttt{\textbf{dscp}~\textit{value}}]
[\texttt{\textbf{flow-label}~\textit{value}}]
[\texttt{\textbf{log}}]
[\texttt{\textbf{log-input}}]
[\texttt{\textbf{mobility}}]
[\texttt{\textbf{mobility-type}~\textit{value}}]
[\texttt{\textbf{reflect}~\textit{access-list-name}}]
[\texttt{\textbf{routing}}]
[\texttt{\textbf{routing-type}~\textit{value}}]
[\texttt{\textbf{sequence}~\textit{value}}]
[\texttt{\textbf{time-range}~\textit{name}}]
\item \texttt{\textbf{evaluate} \textit{reflexive-access-list-name}}
[\texttt{\textbf{sequence}~\textit{value}}]
\item \texttt{\textbf{remark} \textit{comment}}
\item \texttt{exit}\\
Husk:\\
\texttt{\textit{operator}} $\in$ \{\texttt{\textbf{gt}} |
\texttt{\textbf{lt}} | \texttt{\textbf{neq}} |
\texttt{\textbf{eq}} | \texttt{\textbf{range}}\}\\
\texttt{\textbf{reflect}} er bare gyldig for \texttt{\textbf{permit}}-regler
\framebreak
\item \texttt{interface \textit{interface-id}}
\item \texttt{\textbf{ipv6 traffic-filter} \textit{access-list-name} \{\textbf{in} | \textbf{out}\}}
\item \texttt{end}
\end{enumerate}
\framebreak
\begin{itemize}%[<+->]
\item Alle IPv6-ACL-er har følgende 5 regler innebygget
(eng.~implicit) på slutten:
\begin{enumerate}%[<+->]
\item \texttt{\textbf{permit} icmp \textbf{any} \textbf{any} nd-na}
\item \texttt{\textbf{permit} icmp \textbf{any} \textbf{any} nd-ns}
\item \texttt{\textbf{permit} icmp \textbf{any} \textbf{any} router-advertisement}
\item \texttt{\textbf{permit} icmp \textbf{any} \textbf{any} router-solicitation}
\item \texttt{\textbf{deny\phantom{it}} ipv6 \textbf{any} \textbf{any}}
\end{enumerate}
\item Disse reglene tillater Neighbor Discovery, og blokkerer all
annen IPv6-trafikk
\item Dine egne regler kommer \textit{alltid\/} før de 5 reglene
over, og kanskje må du kopiere de innebygde reglene og gjøre dine
egne justeringer, for eksempel slå på logging av blokkert trafikk
\framebreak
\item Ønsker du logging av blokkert trafikk, men vil samtidig ikke
blokkere Neighbor Discovery, så må du gjøre slik:
\begin{enumerate}
\item \texttt{\textbf{remark} Øvrige regler kommer før denne linja}
\item \texttt{\textbf{permit} icmp \textbf{any any} nd-na}
\item \texttt{\textbf{permit} icmp \textbf{any any} nd-ns}
\item \texttt{\textbf{permit} icmp \textbf{any any} router-advertisement}
\item \texttt{\textbf{permit} icmp \textbf{any any} router-solicitation}
\item \texttt{\textbf{deny\phantom{it}} ipv6 \textbf{any any \alert{log}}}
\item \texttt{\textbf{remark} Her kommer de skjulte, implisitte reglene}
\item \texttt{\textit{\textbf{permit} icmp \textbf{any} \textbf{any} nd-na}}
\item \texttt{\textit{\textbf{permit} icmp \textbf{any} \textbf{any} nd-ns}}
\item \texttt{\textit{\textbf{permit} icmp \textbf{any} \textbf{any} router-advertisement}}
\item \texttt{\textit{\textbf{permit} icmp \textbf{any} \textbf{any} router-solicitation}}
\item \texttt{\textit{\textbf{deny\phantom{it}} ipv6 \textbf{any} \textbf{any}}}
\end{enumerate}
\end{itemize}
\end{frame}
\subsection{DHCPv6}
\begin{frame}%[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{Cisco IOS: DHCPv6}
\pause
\begin{itemize}[<+->]
\item \texttt{ipv6 dhcp pool offisiell}
\begin{itemize}[<+->]
\item \texttt{dns-server 2001:700:1100:1::3}
\item \texttt{dns-server 2001:700:1100:1::2}
\item \texttt{domain-name fig.ol.no}
\item \texttt{sntp address 2001:700:1100:1::2}
\item \texttt{sntp address 2001:700:1100:1::3}
\item \texttt{sntp address 2001:700:1100:1::4}
\item \texttt{information refresh 0 2}
\end{itemize}
\item \texttt{interface Vlan48}
\begin{itemize}[<+->]
\item \texttt{ipv6 dhcp server offisiell}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{Cisco IOS: DHCPv6}
%\pause
\begin{itemize}%[<+->]
\item \texttt{ipv6 dhcp pool ULA}
\begin{itemize}%[<+->]
\item \texttt{dns-server 2001:700:1100:1::3}
\item \texttt{dns-server 2001:700:1100:1::2}
\item \texttt{domain-name fig.netlocal}
\item \texttt{sntp address 2001:700:1100:1::2}
\item \texttt{sntp address 2001:700:1100:1::3}
\item \texttt{sntp address 2001:700:1100:1::4}
\item \texttt{information refresh 0 2}
\end{itemize}
\item \texttt{interface Vlan31}
\begin{itemize}%[<+->]
\item \texttt{ipv6 dhcp server ULA}
\end{itemize}
\end{itemize}
\end{frame}
\section{OS-konfig}
\begin{frame}%[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{OS-konfig}
\pause
\begin{itemize}[<+->]
\item De fleste moderne operativsystemer har IPv6-støtte
\item Windows 2000 har en eksperimentell IPv6-protokoll, men mangler
DNS-oppslag for \texttt{AAAA}
\item IPv6 må installeres manuelt i Windows XP og Server 2003
\begin{itemize}[<+->]
\item DNS-oppslag sendes alltid over \alert{IPv4}
\end{itemize}
\item IPv6 er påskrudd i Windows Vista, Server 2008 og nyere versjoner
\item Linux og *BSD har hatt IPv6-støtte i lang tid
\item Autokonfig med tilfeldig grensesnittidentifikator er det mest
vanlige for skrivebordssystemer
\item Manuell konfigurasjon er mest vanlig for serversystemer
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Konfigurasjon av IPv6}
\framesubtitle{OS-konfig}
%\pause
\begin{itemize}[<+->]
\item Windows: \texttt{netsh interface ipv6 set address\ "\textit{navn-på-grensesnitt}"\ \textit{IPv6-adresse}}
\begin{itemize}[<+->]
\item \texttt{netsh interface ipv6 set address\ "Lokal tilkobling"\ 2001:700:1100:8008::1337}
\end{itemize}
\item Konfigurasjon gjennom grafisk grensesnitt i «Kontrollpanelet» er også mulig
\item *BSD: \texttt{ifconfig \textit{navn-på-grensesnitt} inet6 \textit{IPv6-adresse} prefixlen \textit{prefikslengde}}
\begin{itemize}[<+->]
\item \texttt{ifconfig em0 inet6 2001:700:1100:8008::1337 prefixlen 64}
\end{itemize}
\item Vanligvis lagres slike innstillingene permanent, for eksempel i \texttt{/etc/rc.conf}
\end{itemize}
\end{frame}
\part{Noen RFC-er om IPv6}
\begin{frame}
\partpage
\end{frame}
\section*{Oversikt over del~12: Noen RFC-er om IPv6}
\begin{frame}[allowframebreaks]
\frametitle{Oversikt over del~12: Noen RFC-er om IPv6}
\tableofcontents%[pausesections]
\end{frame}
\section{Noen RFC-er om IPv6}
\begin{frame}%[allowframebreaks]
\frametitle{Noen RFC-er om IPv6}
%\pause
\begin{itemize}%[<+->]
\item IPv6-spesifikasjon: \rfc{2460}, \rfc{5095}, \rfc{5722},
\rfc{5871}, \rfc{6437}, \rfc{6564}, \rfc{6935} og \rfc{6946}
\item ICMPv6: \rfc{4443} og \rfc{4884}
\item Neighbor Discovery: \rfc{4861}, \rfc{5942} og \rfc{6980}
\item Krav til IPv6-noder: \rfc{6434}
\item Path MTU: \rfc{1981}
\item DHCPv6: \rfc{3315}, \rfc{4361}, \rfc{5494}, \rfc{6221},
\rfc{6422} og \rfc{6644}
\item Overføring av IPv6-pakker over Ethernet: \rfc{2464} og
\rfc{6085}
\item Adressearkitektur: \rfc{4291}, \rfc{5952} og \rfc{6052}
\item Unicastadresser: \rfc{3587}
\item ULA: \rfc{4193}
\end{itemize}
\end{frame}
\begin{frame}%[allowframebreaks]
\frametitle{Noen RFC-er om IPv6}
%\pause
\begin{itemize}%[<+->]
\item Autokonfigurering av adresser: \rfc{4862}
\item Tilfeldig grensesnittidentifikator: \rfc{4941}
\item Prefiks-baserte multicastadresser: \rfc{3306}, \rfc{3956} og
\rfc{4489}
\item IPsec: \rfc{4301}, \rfc{4302}, \rfc{4303}, \rfc{4304},
\rfc{4307}, \rfc{4308}, \rfc{4309}, \rfc{4312}, \rfc{4835} og
\rfc{5996}
\item For programmerere av nettverksprogrammer: \rfc{4038}
\item Grunnleggende krav til IPv6-routere hos sluttbrukere (CER): \rfc{7084}
\end{itemize}
\end{frame}
\end{document}
Local Variables:
TeX-PDF-mode:t
End: