Title: Z
1Základy TCP/IP
Libor Forst
- Motivace, historie, model
- Principy adresování, DNS
- Tok dat, topologie, routing
- Základní protokoly, aplikace
- E-mail, FTP, BSD príkazy
2Literatura
- D. E. Comer, D. L. Stevens Internetworking With
TCP/IP Prentice Hall International 1991 - C. Hunt TCP/IP Network Administration O'Reilly
Associates 1992 - P. Šmrha, V. Rudolf Internetworking pomocí
TCP/IPKopp 1994 - P. Satrapa, J. A. Randus LINUX - Internet
server Neokortex 1996 ISBN 80-902230-0-1 - L. Dostálek, A. Kabelová Velký pruvodce
protokoly TCP/IP a systémem DNS Computer Press
2002 - Request For Comment (RFC)
3Vznik pocítacových sítí
izolované výpocetní systémy
terminály
point-to-point propojení
robustní kompaktní aplikace
emulace terminálu klient-server aplikace
rozlehlá sít
lokální sít
4Pocítacové síte
- Lokální síte (Local Area Network)
- zvyšování produktivity díky sdílení prostredku
- menší vzdálenost, vyšší rychlost
- príklady Novell, napojení bezdiskových stanic,
databázové n. tiskové servery - Rozlehlé síte (Wide Area Network)
- konektivita, komunikace
- velké vzdálenosti, nižší výkon
- príklady Internet, Bitnet
5Historie Internetu
- 1969 - Defense Advanced Research Project Agency
zrizuje projekt "packet switching network" - pol. 70. let - ARPANET, point-to-point, pevné
linky - 1980 - Internet, propojení sítí, ARPANET páterí
- 1983 - zavedení TCP/IP v ARPANETu
- pol. 80. - TCP/IP soucástí BSD UNIXu
- soucasnost - boom Internetu
6Vývoj Internetu v císlech
5 000 000 000
Pocet obyvatel Zeme
500 000 000
50 000 000
Pocet pocítacu v Internetu
Pocet uživatelu Internetu
5 000 000
500 000
50 000
5 000
Zdroj MIDS, Austin TX, based on historical data
500
2001
82 84 86 88 90 92 94 96 98
7Typy sítových propojení
Sbernice (napr. 10base2)
Point-to-point prímé
?
?
?
?
?
Point-to-point pres modemy
Hvezda (napr. 10baseT, ATM)
?
?
?
?
?
?
?
Point-to-point bezdrátové (napr. laser,
radioreléové, WiFi)
Kruh (napr. FDDI, Token-ring)
?
?
?
?
?
8Typy sítových rozhraní
- Loopback - tento pocítac, žádné fyzické
zarízení - PPP - sériové propojení point-to-point
- Ethernet - spolecná sbernice soucasný prístup,
rešení kolizí (CSMA/CD) - Token ring - predávání volného-obsazeného tokenu
po kruhu - FDDI - jednoduchý nebo dvojitý kruh (preklene
prerušení vlákna) - ATM - systém prepínacu a virtuálních cest pro tok
dat, hlasu,... - Výpis nakonfigurovaných rozhraní netstat -i
9OSI model
Poradí Vrstva Úkol 7 aplikacní
komunikace mezi programy 6 prezentacní
datové konverze 5 relacní navázání relace
mezi pocítaci 4 transportní korektnost
prenosu informace 3 sítová dosažení
cílového pocítace 2 linková prenos dat po
navázaném spojení 1 fyzická interpretace
elektrického signálu
protokol
rozhraní
10TCP/IP model
OSI
Vrstva
Protokoly v TCP/IP (príklady)
aplikacní
7
FTP
NFS
6
XDR
5
RPC
TCP
transportní
4
UDP
ICMP
ARP
internet
3
IP
network interface
2
Ethernet, FDDI, ATM, SLIP, X.25
-
hardware
1
11Spojované/nespojované služby
- spojované (connection-oriented) služby
- obdoba telefonního spojení
- zaruceno dorucení datagramu ve správném poradí
(stream) - aplikace je jednodušší, ale nemuže rídit
komunikaci - TCP je komplikované
- nespojované (connectionless) služby
- obdoba poštovního spojení
- není zaruceno poradí ani dorucení datagramu
- kontrolu musí provádet aplikace
- aplikace muže lépe rídit komunikaci
- UDP je jednodušší
12TCP okna
00
10
20
30
40
50
00
00
00
10
10
00
10
20
20
ACK 10
10
20
30
30
10
20
30
40
40
13Zahájení a ukoncení spojení
SYN
Seq c
Ack 0
SYN, ACK
Seq s
Ack c1
ACK
Seq c1
Ack s1
- Jednostranné uzavrení spojení
FIN, ACK
Seq x
Ack y
ACK
Seq y
Ack x1
14Typy adresování
- HW (linková vrstva)
- SW(sítová vrstva)
- Lidé (aplikacní vrstva)
- MAC (ethernetová) adresa (napr.
8020ae61f) - dána výrobcem
- nerespektuje topologii
- IP adresa (napr. 194.50.16.71)
- pridelována podle topologie
- urcuje jednoznacne sít a v jejím rámci pocítac
- Doménová adresa (napr. whois.cuni.cz)
- pridelována podle organizacní struktury
- snazší zapamatování
15Konverze adres
- doménové adresy
- IP adresy
- MAC adresy
- name resolver
- rízení statické (/etc/hosts) nebo dynamické (DNS,
NIS) - konfiguracní soubor /etc/resolv.conf
- ARP/RARP
- ARP tabulka (cache)
- broadcastová výzva/odpoved
16Trídy IP adres
Trída
Tvar adresy
Pocet sítí stroju
Zacátek adresy
1.byte
2.byte
3.byte
4.byte
A B C D E
1-126 128-191 192-223 224-239 240-255
net
host
0
10
net
host
110
net
host
multicast experimental
1110
net
1111
17Speciální adresy
- loopback
- 127.0.0.1
- adresa loopback rozhraní
- privátní adresy
- 10.0.0.0, 172.16.0.0-31, 192.168..0
- nepridelované, k použití pro lokální síte
- nesmí opustit sít
- network broadcast
- ltadresa sítegt.ltsamé jednickygt
- všem v dané síti
- normálne se dorucí do cílové síte
- limited broadcast
- 255.255.255.255
- všem v této síti
- nesmí opustit sít
18Subnetting
- Subnetting dovoluje rozšírit sítovou cást
adresy pomocí specifikace tzv sítové
masky (netmask), v tomto prípade
255.255.255.192 - Nedoporucuje se používat subnet "all-zeros" a
"all-ones", takže v tomto prípade máme pouze 1022
x 62 adres. - V definici je prípustná nespojitá maska, ale
vetšinou se neimplementuje. - V soucasnosti se casto ignorují trídy (classless)
a místo masky uvádí jen pocet bitu (napr.
193.84.56.71/26).
net
host
subnet
11111111
11111111
11111111
000000
11
19Supernetting
- router agreguje smerovací informace
(192.168.4.0/23)
- single homed server
- veškerý provoz ze síte ...4.0 jde pres router
- dual homed neroutující server
- je zapotrebí ruzné DNS pro síte ...4.0 a ...5.0
192.168.4
192.168.5
20IPv6
- IPv6 adresy jsou dlouhé 128 bitu (16 bytu).
Zápis fec018005a123456 - Rozeznáváme adresy
- unicastové - slouží k adresaci jediného rozhraní,
krome globálních adres existují ješte site-local
adresy (jsou platné pouze v rámci organizace) a
link-local adresy (platné v rámci lokálního
propojení síte) - multicastové - slouží k adresaci skupiny rozhraní
(IPv6 prevzal a mírne modifikoval IGMP) - anycastové - formálne se jedná o unicastové
adresy, které jsou prideleny více rozhraním
(strojum) - Další vlastnosti
- autokonfigurace, Duplicate Address Detection,
Router Discovery, Neighbor Discovery Protocol
(místo ARP), Path MTU Discovery, tunelování IPv4
21Doménový systém
server pro domény cuni.cz a ruk.cuni.cz
sk
edu
cz
cesnet
cuni
?
?
ns
ruk
mff
?
whois
vutbr
dec59
net
de
nordu
?
server pro doménu cz
fzi
?
nic
fixlink
server pro root doménu
22Vyrizování DNS dotazu
a.root-servers.net .
ns.cesnet.cz cz
cz NS192...
www.mff.cuni.cz
nerekurzivní
www.mff.cuni.cz
cuni.cz NS195...
ns.fzi.de fzi.de
www.mff.cuni.cz
ns.cuni.cz cuni.cz, mff.cuni.cz
IP193...
rekurzivní
IP193...
www.mff.cuni.cz
?
fixlink.fzi.de
23Tok dat v TCP/IP
stream message
Aplikace
Data
Transport
packet
TCP/UDP header
Data
...
IP
datagram
IP header
packet
Interface
frame
datagram
Interface header
CRC
24Multiplexing, demultiplexing
Aplikace
Aplikace
rozhodování podle císla portu
ICMP
UDP
TCP
rozhodování podle IP protokolu
ARP
IP
IPX
rozhodování podle typu (délky) Ethernet rámce
Ethernet
25Socket, port
- Port
- ... 16bitové císlo identifikující jeden konec
spojení - aplikaci, proces, který má zpracovávat
príchozí pakety - destination-port musí být znám, typicky je to
nekterý z tzv. well-known services (viz
/etc/services) - source-port navazovatele (gt1024) spojení
prideluje lokální systém - Socket
- ... jeden konec komunikacního kanálu mezi
klientem a servrem - oznacení (adresa) jednoho konce kanálu
ltIPadresa, portgt - Výpis otevrených socketu netstat -an
26Aplikacní protokoly TCP/IP
- 21/TCP FTP - File Transfer Protocol (prenos
souboru) - 22/TCP SSH - Secure Shell (prenos souboru)
- 23/TCP telnet - Telecommunication
network (interaktivní prístup ke vzdáleným
pocítacum) - 25/TCP SMTP - Simple Mail Transfer
Protocol (prenos elektronické pošty) - 53/TCP,UDP DNS Domain Name System (preklad
jmen na IP adresy a naopak) - 67,68/UDP DHCP - Dynamic Host Configuration
Protocol (vzdálená konfigurace) - 80,443/TCP HTTP - HyperText Transfer
Protocol (prenos stránek informacního systému W
W W) - 119/TCP NNTP - Network News Transfer
Protocol (prenos zpráv v systému UseNet,
NetNews)
27Struktura ethernetového rámce
Ethernet v2
Destination MAC address
Source MAC address
Type
Data
CRC
IP 0x0800 ARP 0x0806 RARP 0x8035 IPX 0x8137
IEEE 802.3
Destination MAC address
Source MAC address
Len
Data
CRC
lt 1500
28Struktura IP datagramu
Version
HeaderLength
Service Type (priorita)
Total Length
Identification (poradové císlo)
Flags
Fragment Offset
Protocol(/etc/protocols)
Header Checksum
Time-to-live
Source IP Address
Destination IP Address
Options
Padding
Data
29Struktura TCP paketu
Source Port
Destination Port
Sequence Number
Acknowledgement Number
DataOffset
(rsvd)
Flags (SYN,URG,ACK,...)
Window
Urgent Pointer
Checksum
Options
Padding
Data
30Spojování segmentu síte
Vrstva
Vrstva
Sítové zarízení
aplikacní
aplikacní
gateway (brána)
transportní
transportní
sítová
sítová
router (smerovac)
linková
linková
bridge, switch
fyzická
fyzická
repeater, HUB
31Porovnání HUB vs. switch
S
S
S
S
S
- Switch, více serveru
- S gt 10 Mbit/s
S
- Switch s uplinkem
- S up to 100 Mbit/s
32Príklad topologie síte
Lokální sít
Klient 3
Klient 2
Klient 1
Ethernet segment
Repeater
Klient 5
Klient 4
Server 1
Provoz
Bridge
Klient 7
Klient 6
Server 2
Router
Lokální sít
WAN
?
Klient 8
Klient 9
33Principy firewallu
IP filtr
?
NAT
?
vnitrní adresy
vnejší adresy
Proxy-server
?
klient - server
klient - server
34Address Resolution Protocol
- konverze MAC (Ethernetových) a sítových (IP)
adres - ARP tabulka (cache) je v pameti na každé stanici
- neznámé adresy se zjištují broadcastovou výzvou
Ethernet1
IP0x0800
ARPreq1
Sender MAC
Sender IP
FFFFFFFFFFFF
Target IP
- unicastová odpoved (odpovídající si nejprve musí
sám upravit svoji ARP tabulku) - výpis ARP tabulky arp -a
- ARP je omezeno na lokální sít, mezi sítemi je v
cinnosti OSI 3
35Proxy ARP