6558/g558 datakommunikation
DESCRIPTION
6558/G558 DATAKOMMUNIKATION. Kapitel 4: Internät. Internät. OSI-nätverksmodellens nätverksnivå Målsättning: att koppla ihop nätverk av olika hårdvaruuppbyggnad till ett transparent samverkande nätverk Globalt adresseringssystem Servicemodell: kända egenskaper och kända tillkortakommanden!. - PowerPoint PPT PresentationTRANSCRIPT
6558/G558DATAKOMMUNIKATION
Kapitel 4: Internät
Internät
• OSI-nätverksmodellens nätverksnivå
• Målsättning: att koppla ihop nätverk av olika hårdvaruuppbyggnad till ett transparent samverkande nätverk
• Globalt adresseringssystem
• Servicemodell: kända egenskaper och kända tillkortakommanden!
Nätverksnivåns servicemodell
• Datagrambaserad (connectionless)• Best effort-befordran (opålitlig)
– paket försvinner, inget försök att korrigera!– paket kommer fram i oordning– paket skickas dubbelt– paket kan dröja en lång stund
• Datagramformat: Internet Protocol IPv4
Sammanlänkning av nätverk
• Heterogen fysisk nivå och datalänksnivå: hur överbrygga dem?
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 4(point-to-point)
H7 R3 H8
Network 3 (FDDI)
Protokollstack
R1 R2 R3
H1 H8
ETH FDDI
IP
ETH
TCP
FDDI PPP PPP ETH
IP
ETH
TCP
IP IP IP
Internet protokollet: paket
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Checksum
SourceAddr
DestinationAddr
Options (variable) Pad(variable)
0 4 8 16 19 31
Data
Internet protokollet: paket
• Version– Internetprotokollets version: 4, 6, ...
• HLen – Headerns längd (enhet: 32-bitars ord), max 15, header max 60
bytes– 5 ord om inga Options finns
• TOS– Type of Service: differentiering av befordringsprioritering
• Length– Datagrammets (paketets) längd, inkluderande headern, i bytes.– Maximum 65535
• Fragmentation: Ident, Flags, Offset– ursprungliga datagrammets id, sändaren väljer– flag = 0 om paketet är hela datagrammet eller första fragmentet– flag = 1 om paketet är andra eller senare fragment– offset != 0 ifall flag = 1
Internet protokollet: paket• TTL
– Time To Live, dekrementeras vid varje router– normalt 64
• Protocol– demultiplexer för högre protokoll, 6 (TCP), 17 (UDP)
• Checksum– header checksum: antag att den är noll både då man beräknar
den och när man kollar den. OBS! Data ingår inte!• Adressering:
– SourceAddr, 4 bytes, IP-adress– DestinationAddr, 4 bytes, IP-adress
• Options– max (15-5)*4 = 40 bytes
• Pad– 0-3 bytes så att headern är n x 32-bitar
Fragmentering och Assemblering
• Varje datalänksprotokoll har sin maximum transmission unit MTU: eventuellt måste IP-paketet fragmenteras i mindre delar
• Fragmenteringskriterier– fragmentera när det behövs (MTU < datagram)– undvik fragmentering hos sändaren– fragmenteringen kan vara rekursiv– fragmenten blir enskilda datagram– assemblering hos mottagaren– ingen felkontroll (borttappade fragment etc.)
Fragmentering och Assemblering
H1 R1 R2 R3 H8
ETH FDDI
PPP IP (376)
PPP IP (512)
PPP IP (512) (512)
ETH IP
ETH IP
(512)ETH IP
(376)
IP (1400) IP (1400)
R1 R2 R3
(a)
Ident = x
Start of header
Rest of header
1400 data bytes
Offset = 00
(b)
Ident = x
Start of header
Rest of header
512 data bytes
Offset = 01
Ident = x
Rest of header
512 data bytes
Offset = 641
Start of header
Ident = x
Start of header
Rest of header
376 data bytes
Offset = 1280
Global IP-adressering
• Egenskaper– globalt unika– hierarkiskt: nätverk +
nod
• Beteckning m.h.a. decimaltal och punkter– 10.3.2.4– 130.233.168.254– 192.168.123.56
Network Host
7 24
0(a)
Network Host
14 16
1 0(b)
Network Host
21 8
1 1 0(c)
Subnet mask
• Addera ytterligare en hierarkisk nivå till nätverksadresseringen: undernät (subnet)
• Subnet mask definierar en del av hostadressen som nätverksdel
Network number Host number
Class B address
Subnet mask (255.255.255.0)
Subnetted address
11111111111111111111111100000000
Network number Host IDSubnet ID
Exmpel på undernät
Subnet mask: 255.255.255.128Subnet number: 128.96.34.0
128.96.34.15128.96.34.1
H1 R1
128.96.34.130 Subnet mask: 255.255.255.128Subnet number: 128.96.34.128
128.96.34.129128.96.34.139
R2H2
128.96.33.1128.96.33.14
Subnet mask: 255.255.255.0Subnet number: 128.96.33.0
H3
Dynamisk IP-adressallokering
• DHCP Dynamic Host Configuration Protocol
• Möjliggör en effektivare användning av tillgängliga IP-adresser
• En nystartad nod sänder ett DCHPDISCOVER-paket till IP-adressen 255.255.255.255 (UDP-port 68)
• DCHP-server svarar och ger en tillfällig IP-adress
• Kan också vidarebefordras av en DHCP-relay
DHCPrelay
DHCPserver
Unicast to server
Broadcast
Host
Other networks
Dynamisk IP-adressallokering
• Protokollets paket innehåller bl.a.– chaddr (client hardware
address)– yiaddr (your IP address)– options: subnet mask,
default router, lease time, ...
• Baseras på BOOTP-protokollet
Operation HType HLen Hops
Xid
ciaddr
yiaddr
siaddr
giaddr
chaddr (16 bytes)
sname (64 bytes)
file (128 bytes)
options
Secs Flags
Befordring av Datagram
• Sändningsstrategi var som helst i nätet– datagrammen innehåller destinationsadressen– om destinationen finns på samma nätverk så skicka
direkt till destinationen– om destinationen är på ett annat nätverk skicka då till
en router– routern skickar vidare på basen av nätverksadressen– varje nod har en default-router att skicka till– varje router upprätthåller vidarebefordringstabeller
Befordring av Datagram
• Exempel R2
Nätverksnummer Nästa hopp
1 R3
2 R1
3 adaptor 1
4 adaptor 0
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 4(point-to-point)
H7 R3 H8
Network 3 (FDDI)
Adresstranslation
• Översätt IP-adresser till hårdvaruadresser– destinationsnods hårdvaruadress– hårdvaruadress för router för nästa hopp
• Metoder1. hårdvaruadressen är del av IP-adressen2. tabellöversättning: på basen av en tabell ersätts varje IP-
adress av en hårdvaruadress
• ARP Address Resolution Protocol– kopplingar mellan IP-adresser och hårdvaruadresser– broadcastförfrågan om IP-adressen inte finns i tabellen– destinationsnoden svarar och meddelar sin hårdvaruadress– tabellinnehållet förkastas efter timeout
ARP paketformat
TargetHardwareAddr (bytes 2 – 5)
TargetProtocolAddr (bytes 0 – 3)
SourceProtocolAddr (bytes 2 – 3)
Hardware type = 1 ProtocolType = 0x0800
SourceHardwareAddr (bytes 4 – 5)
TargetHardwareAddr (bytes 0 – 1)
SourceProtocolAddr (bytes 0 – 1)
HLen = 48 PLen = 32 Operation
SourceHardwareAddr (bytes 0 – 3)
0 8 16 31
ARP
• Formatet för förfrågan– HardwareType: nätverkets fysiska typ, t.ex. Ethernet– ProtocolType: Typ av högre protokoll, t.ex. IP– HLEN och PLEN: längden för den fysiska adressen och det
högre protokollets adress– Operation: förfrågan eller svar– Source/Target-Physical/Protocol addresser
• Övrigt– tabellinformationen har en timeout på 10 minuter– mottagaren uppdaterar sin tabell med sändarens info– updatera tabellens timeout om infon redan finns– om info inte finns i tabellen och noden är inte mottagare -> sätt
inte in i tabellen
Internet Control Message Protocol
• ICMP– ping – redirect (från router till sändare)– Destination unreachable– TTL exceeded– Checksum failed– Reassembly failed– Cannot fragment
Vad behövs för nätkonfiguration?
• IP-adress
• Subnet mask
• Default router
• Domain name system server DNS
Övning 4, exempel 1
0
132
0
1 3
2
013
2
Switch 3
Switch 2
Switch 4
Host A
Host BHost J
Switch 1
Host C
Host D
Host E
Host I
213
0
Host H
Host F
Host G
Övning 4, exempel 2
A
C
E
D
B
F
H
J
G
I
B7
B1
B2
B5
B6
B3
B4
Övning 4, exempel 3
B3 C
A B1 B2
B4 D
Övning 4, exempel 5
Network Subnet mask Next Hop
128.96.170.0 255.255.254.0 interface 0
128.96.168.0 255.255.254.0 interface 1
128.96.166.0 255.255.254.0 R2
128.96.164.0 255.255.252.0 R3
default R4