% IP routing, by mj, 08-04-97

\input mjmac.tex

\hrule
\smallskip
\line{\offinterlineskip
\vtop{\hbox{}\hbox{\big TCP/IP Routing}} \hfil
\vtop{\hbox{}\hbox{\strut Martin Mare�}\hbox{\strut 10. 4. 1997}}}
\smallskip
\hrule
\medskip

\def\hh#1{\medskip \leftline{\large #1}\smallskip}
\def\\{\noalign{\hrule}}
\parindent=1em

\hh{1. Struktura protokolu a vrstvy}

$$\vbox{\offinterlineskip\halign{\vrule\strut \quad # \quad\hfil & \vrule \quad # \quad \hfil \vrule \cr\\
Vrstva & Protokoly \cr\\
1. Linkov� vrstva lok�ln� s�t� & PPP, Ethernet, Arcnet\dots \cr\\
2. S��ov� vrstva & IP, ICMP \cr\\
3. Transportn� vrstva & TCP, UDP \cr\\
4. Aplika�n� vrstva & FTP, TELNET, SMTP\dots \cr\\}}$$

\itemize\ibull
  \:Postupn� rostouc� spolehlivost jednotliv�ch vrstev (1: ��dn� \dots\ 4: maxim�ln�)
\endlist

\hh{2. Struktura lok�ln�ch s�t�}

\itemize\ibull
  \:R�zn� druhy lok�ln�ch s�t�:
    \itemize\istar
       \:Point-To-Point (typicky s�riov� linky -- SLIP, HDLC, PPP)
       \:Multi-Address-Non-Broadcast (ATM)
       \:Multi-Address-Broadcast (Ethernet, Arcnet, FDDI)
    \endlist
  \:Propojov�n� s�t� na r�zn�ch �rovn�ch (1: bridge, 2: routery, 3: proxying, 4: gatewaying)
  \:Jeden stroj m��e b�t p�ipojen do v�ce s�t�
\endlist

\hh{3. Adresov�n� v~IP}

\itemize\ibull
  \:IP adresa: 32 bit�, s�ti odpov�d� blok adres: rozd�len� adresy na network number a host number
  \:Adresy se p�id�luj� interfac�m, nikoliv po��ta��m
  \:Tradi�n� t��dy adres: A~(0, $7+24$ bit�), B~(10, $14+16$ bit�), C~(110, $21+8$ bit�), D~(1110 -- multicasty), E~(1111 -- reserved)
  \:Subnetting, supernetting $\Rightarrow$ Classless Addressing (net prefixes, netmasks)
  \:Priv�tn� s�t� (network 10 etc.)
  \:Domain Name System -- textov� adresy, p��m� reversn� mapov�n�, nejv�t�� distribuovan� datab�ze na sv�t�
  \:Uniform Resource Locators (|ftp://ftp.hell.org:23/pub/customers/faust|)
\endlist

\hh{4. Routing}

\itemize\ibull
  \:Host-intelligent vs. router-intelligent routing
  \:Source-based vs. next-hop-based routing
  \:Router nem��e zn�t cel� Internet (�as i prostor)
  \:Forwarding table: adresa, netmask, metrika, c�l (router nebo za��zen�)
  \:Resolu�n� pravidlo $\Rightarrow$ default route, sink route
  \:Typick� struktura s�t�: ��sti staticky a dynamicky routovan�
\endlist

\hh{5. IP packety}

$$\vbox{
\newdimen\bit
\bit=12pt
\offinterlineskip
\def\hh{\vrule width 0pt height 1pt depth 0pt}
\def\HH{\hh &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}
\def\af#1#2{\multispan{#1}\strut\vrule\hfil #2\hfil}
\def\x#1{\omit\hfil\strut #1\hfil}
\halign{
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil &
\vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil & \vrule \hfil # \hfil \vrule \cr
\x{0}&\x{1}&\x{2}&\x{3}&\x{4}&\x{5}&\x{6}&\x{7}&\x{8}&\x{9}&\x{10}&\x{11}&\x{12}&\x{13}&\x{14}&\x{15}%
&\x{16}&\x{17}&\x{18}&\x{19}&\x{20}&\x{21}&\x{22}&\x{23}&\x{24}&\x{25}&\x{26}&\x{27}&\x{28}&\x{29}&\x{30}&\x{31}\cr\\
\hh \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit &
\hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit &
\hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit &
\hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit & \hskip\bit \cr
\af{4}{Ver(4)}&\af{4}{IHL/32}&\af{8}{Type Of Service}&\af{16}{Total Length ($\ge 576$ supported)}\vrule \cr
\HH \cr \\ \HH \cr
\af{16}{Packet Identification}&\af10&\af1D&\af1M&\af{13}{Fragment Offset / 8}\vrule\cr
\HH \cr \\ \HH \cr
\af{8}{Time To Live}&\af{8}{Protocol}&\af{16}{Header Check Sum}\vrule\cr
\HH \cr \\ \HH \cr
\af{32}{Source Address}\vrule\cr
\HH \cr \\ \HH \cr
\af{32}{Destination Address}\vrule\cr
\HH \cr \\ \HH \cr
\af{32}{Options\dots}\vrule\cr
\HH \cr \\ }}$$

\itemize\ibull
\:Fragmentace packet�: line MTU, v�echny fragmenty mimo posledn�ho maj� nastaven� bit |M|.
\:Flag |D| (Don't Fragment) a Path MTU Discovery Process
\:Internet Checksum: v~jedni�kov�m dopl�ku (snadn� v�po�et)
\:Type Of Service:
  \itemize\idot
  \:3 bity precedence (0=routine \dots\ 7=network control)
  \:Bity |D| (low delay), |T| (high througput), |R| (high reliability); |DTR| = high security
  \endlist
\:Time To Live: za ka�dou sekundu se sni�uje o~1, p�i ka�d�m forwardu nejm�n� o~1
\:Vyu�it� TTL: |traceroute| trick
\:Options: loose source route, strict source route, record route
\endlist

\hh{6. P�eklad IP-adres na lok�ln� adresy}

\itemize\ibull
\:P��m� mapov�n�
\:Address Resolution Protocol
\:Proxy ARP
\:Disklessy -- probl�m autokonfigurace, RARP, BOOTP, DHCP
\endlist

\hh{7. Dynamick� routovac� protokoly}

\itemize\ibull
\:Bellman-Ford�v algoritmus (RIP)
\:Link-state algoritmus (OSPF)
\:Border Gateway Protocol
\endlist

\hh{8. New-Generation IP}

\itemize\ibull
\:Probl�my s~mno�stv�m adres a velikost� routovac�ch tabulek p�te�n�ch router�
\:�e�en�: systemati�t�j�� alokace adres
\:|IPv6| -- 128-bitov� adresy, pouze end-to-end fragmentace, rozumn�ji definovan� options
\:Experimenty: |DNS|-based routing, |GPOS|-based routing
\:|6bone| -- tunneling (|IPv6| skrz |IPv4|)
\endlist

\hh{9. Reference}

{\def\fntdesignsize{5}\def\fnttokprefix{five}\setfont
\normalbaselineskip=5pt\normalbaselines
\def\ref#1{\indent #1 \par}

\ref{RFC 774: Internet Protocol Handbook}
\ref{RFC 768: User Datagram Protocol}
\ref{RFC 791: The Internet Protocol}
\ref{RFC 792: Internet Control Message Protocol}
\ref{RFC 793: Transmission Control Protocol}
\ref{RFC 814: Name, Addresses, Ports and Routes}
\ref{RFC 821: Simple Mail Transfer Protocol}
\ref{RFC 826: An Ethernet Address Resolution Protocol}
\ref{RFC 854: Telnet Protocol Specification}
\ref{RFC 903: A Reverse Address Resolution Protocol}
\ref{RFC 919: Broadcasting Internet Datagrams}
\ref{RFC 951: Bootstrap Protocol}
\ref{RFC 959: File Transfer Protocol}
\ref{RFC 1058: Routing Information Protocol}
\ref{RFC 1071: Computing the Internet Checksum}
\ref{RFC 1112: Host Extensions for IP Multicasting}
\ref{RFC 1122: Requirements for Internet Hosts -- Communication Layers}
\ref{RFC 1123: Requirements for Internet Hosts -- Application and Support}
\ref{RFC 1180: A TCP/IP Tutorial}
\ref{RFC 1191: Path MTU Discovery}
\ref{RFC 1300: Remembrance of Things Past}
\ref{RFC 1349: Type of Service in IP}
\ref{RFC 1402: There's Gold in Them Thar Networks! or Searching Treasure in all the Wrong Places}
\ref{RFC 1439: Uniqueness of Unique Identifiers}
\ref{RFC 1533: DHCP Options and BOOTP Vendor Extensions}
\ref{RFC 1541: Dynamic Host Configuration Protocol}
\ref{RFC 1542: Clarifications and Extensions for the Bootstrap Protocol}
\ref{RFC 1583: OSPF Version 2}
\ref{RFC 1591: Domain Name System Structure and Delegation}
\ref{RFC 1605: SONET to Sonnet Translation}
\ref{RFC 1624: Computation of Internet Checksum via Incremental Update}
\ref{RFC 1723: RIP Version 2 -- Carrying Additional Information}
\ref{RFC 1771: A Border Gateway Protocol 4}
\ref{RFC 1772: Application of the Border Gateway Protocol in the Internet}
\ref{RFC 1812: Requirements for IPv4 Routers}
\ref{RFC 1880: Internet Official Protocol Standards}
\ref{RFC 1882: 12 Days of Technology Before Christmas}
\ref{RFC 1883: Internet Protocol, Version 6}
\ref{RFC 1884: IP Version 6 Addressing Architecture}
\ref{RFC 1885: Internet Control Message Protocol for IPv6}
}

\bye
