Dostarczanie datagramów

Transkrypt

Dostarczanie datagramów
Zasady komunikacji w praktyce
Protokół IP - Internet Protocol
Protokoły rutowane (routed) a rutowania (routing)
• Rutowanie statyczne i dynamiczne (trasowanie)
• Statyczne – administrator programuje trasy
• Dynamiczne – oparte o protokoły wymiany informacji
• Protokoły routingu
• Wewnętrzne
• RIP, IGRP
• zewnętrzne
• OSPF – Open Short Path First
• The Interior Gateway Routing Protocol
• BGP – Border Gateway Protocol
• The Exterior Gateway Routing Protocol
Lejek / drzewo protokołów IP
aPrzy nadawaniu dane z wielu aplikacji trafiają do
dwóch protokołów TCP i UDP, jednego IP, na
jeden i/f (multiplexer, lejek)
aPrzy odbieraniu dane z jednego i/f rozdzielane
są na różne protokoły do wielu aplikacji
(demultiplexer, drzewo)
1
Multiplexer/ demultiplexer
Ramki ethernet
aDwa rodzaje ramek
aKażda karata sieciowa ma unikalny adres
`MAC ADDRESS (Medium Access Control)
`BIA ADDRESS (Burn In Address)
aZapis 00:51:60:80:80:67
2
ARP– The Address Resolution
Protocol
Protokół do uzyskiwania adresu sprzętowego
Przykład: 3 połączone sieci-2*ETH +FDDI
Format komunikatu ARP
16
32
Rodzaj sprzętu
Dł. Dla sprzętu
Rodzaj protokołu
Dł dla protokołu
Operacja
Adres sprzętowy nadawcy ( oktety 0-3)
Adres sprzętowy nadawcy ( oktety 4-5)
Adres IP Nadawcy ( oktety 0-1 )
Adres IP Nadawcy oktety 2-3
Adres sprzętowy odbiorcy (oktety 0-1)
Adres sprzętowy odbiorcy (oktety 2-5)
Adres IP odbiorcy oktety 0-3
a
a
a
a
a
Ramka ETH – pole protokolu 0806 HEX
Ramka ARP/Rarp - :
Sprzęt – 1 – ETH
Protokół – 0800 HEX – IP
Operacja – ARP –1 , Odp ARP –2 , RARP – 3 Odp RARP – 4
3
Dostarczenie IP z A do B
A
IP=212.51.220.59
MAC=00:09:00:01:89:03
G
B
IP=212.51.220.5
MAC=00:09:00:01:89:03
IP=212.51.220.1
MAC=00:09:00:01:89:03
SRC xor DST and MASK ? =0
212.51.220.59 xor 212.51.220.5 and 255.255.255.128 => 0.0.0.0
Lokalny (zapakuj w ramkę i wyślij)
Przesłanie A Æ B w łączu danych
800H = IP w środku
A
IP=212.51.220.59
MAC=00:09:00:01:89:03
B
IP=212.51.220.5
MAC=00:09:00:01:89:03
IP=212.51.220.1
MAC=00:09:00:01:89:03
4
Przesłanie A Æ B
MAC stacji B musi być znany w A
Rodzaj sprzętu
Dł. Dla sprzętu
Rodzaj protokołu
Dł dla protokołu
Operacja
Adres sprzętowy nadawcy ( oktety
-3)0
FF:FF:FF:FF:FF:FF
Adres sprzętowy nadawcy ( oktety
-5)4
Adres IP Nadawcy ( oktety-10)
Adres IP Nadawcy oktety-32
Adres sprzętowy odbiorcy (oktety
-1)0
Adres sprzętowy odbiorcy (oktety
-5)2
Adres IP odbiorcy oktety-30
DO WSZYSTKICH
JA 212.51.220.59
szukam
212.51.220.5
806H = ARP w środku
A
IP=212.51.220.59
MAC=00:09:00:01:89:03
B
IP=212.51.220.5
MAC=00:09:00:01:89:03
IP=212.51.220.1
MAC=00:09:00:01:89:03
Przesłanie A Æ B
pytanie trafia do wszystkich
ale tylko B odpowie wprost do pytającego
Rodzaj sprzętu
Dł. Dla sprzętu
Rodzaj protokołu
Dł dla protokołu
Operacja
Adres sprzętowy nadawcy ( oktety
-3)0
Pobrany z pytania
Adres sprzętowy nadawcy ( oktety
-5)4
Adres IP Nadawcy ( oktety-10)
Adres IP Nadawcy oktety-32
Adres sprzętowy odbiorcy (oktety
-1)0
Adres sprzętowy odbiorcy (oktety
-5)2
Adres IP odbiorcy oktety-30
DO 212.51.220.59
JA 212.51.220.5
mam MAC =
806H = ARP w środku
A
IP=212.51.220.59
MAC=00:09:00:01:89:03
B
IP=212.51.220.5
MAC=00:09:00:01:89:03
IP=212.51.220.1
MAC=00:09:00:01:89:03
5
AÆ B
1.
2.
3.
4.
ARP req B podaj swój MAC
ARP rep słuchaj A mój MAC to …..
Przesłanie datagramu IP
Aby oszczędzić czas związki IP-MAC są pamiętane
Połączenie HTTP eksperyment
a Warunki:
`
`
`
`
Komputer 212.51.220.59 /25
Gateway 212.51.220.1
DNS serwer 212.51.220.2
Gate i DNS we własnej sieci /25
a Połączenie http://www.man.lodz.pl/bad_req
a Co powinno się dziać:
1. Połączenie UDP/53 do DNS (pyt ? www.man.lodz.pl)
2. Połączenie TCP/80 do www.man.lodz.pl przez gateway
6
Połączenie HTTP szczegóły fazy 1
pytanie DNS
1. Arp req o DNS 212.51.220.2
2. Arp rep od 212.51.220.3
3. pytanie UDP/53 do DNS (pyt ? www.man.lodz.pl)
a skierowane z portu UDP > 1024
4. odpowiedz UDP/53 na ten port
a IP UDP ma ID = 17
Teraz znamy IP 212.51.192.18 www.man.lodz.pl i
zaczyna się faza 2 TCP
Połączenie HTTP szczegóły fazy 2
pytanie HTTP i odpowiedź
www.man.lodz.pl 212.51.192.18 jest poza siecią, użyj gate
1. Arp req o GATE 212.51.220.1
2. Arp rep od 212.51.220.1
3. Nawiązanie TCP/80 212.51.192.18 (IP TCP = 6)
`
`
`
`
Z portu TCP > 1024 (3 pakiety; 3 way handshake)
Sync Æ
Å Sync = ACK
ACK Æ
4. Po nawiązaniu pytanie GET bad_request Æ
a Ewentualne dane ACK
5. Odpowiedź 404 not found Å
a Ewentualne dane ACK
6. Zamknięcie połączenia
7

Podobne dokumenty