WYKŁAD. Telnet FTP SMTP DNS BOOTP DHCP TCP UDP SCTP. ARP IP (v4, v6) ICMP IGMP PPP RFC 826 ARP RFC 792 ICMP RFC 1112 IGMP



Podobne dokumenty
Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

Adresy IP v.6 IP version 4 IP version 6 byte 0 byte 1 byte 2 byte 3 byte 0 byte 1 byte 2 byte 3

Sieci komputerowe - administracja

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

MODEL OSI A INTERNET

Internet Protocol v6 - w czym tkwi problem?

Internet Control Messaging Protocol

Protokoły sieciowe - TCP/IP

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

ADRESY PRYWATNE W IPv4

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Adresy w sieciach komputerowych

Warstwa sieciowa. mgr inż. Krzysztof Szałajko

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT

ZiMSK. Routing statyczny, ICMP 1

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Przesyłania danych przez protokół TCP/IP

ARP Address Resolution Protocol (RFC 826)

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Charakterystyka grupy protokołów TCP/IP

Połączenie sieci w intersieci ( internet ) Intersieci oparte o IP Internet

Sieci Komputerowe. Protokół ICMP - Internet Control Message Protocol Protokół ICMP version 6. dr Zbigniew Lipiński

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

Instrukcja 5 - Zastosowania protokołu ICMP

Architektura INTERNET

Laboratorium 6.7.2: Śledzenie pakietów ICMP

polega na opakowaniu danych - w każdej warstwie modelu OSI, kolejno idąc z góry na dół - w konieczne nagłówki/stopki odpowiednich protokołów

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

IPv6 Protokół następnej generacji

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 24

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Protokoły sterujące i warstwy aplikacji. Protokół kontrolny ICMP Internet Control Message Protocol Protokoły inicjowania i konfiguracji hostów

Laboratorium Sieci Komputerowych - 2

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Przewodowe sieci dostępu do. Dr inż. Małgorzata Langer

Sieci Komputerowe. Protokół IPv4 - Internet Protocol ver.4 Protokół IP ver.6. dr Zbigniew Lipiński

Programowanie sieciowe

host, aby móc działać w Internecie, host musi otrzymać globalnie unikatowy adres

TCP/IP formaty ramek, datagramów, pakietów...

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

Część I Warstwa interfejsu sieciowego

Protokół IPX (Internetwork Packet Exchange)

Sieci komputerowe - adresacja internetowa

Sieci komputerowe - Protokoły wspierające IPv4

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Routing i protokoły routingu

Stos TCP/IP Warstwa Internetu. Sieci komputerowe Wykład 4

Skalowanie adresów IP

SIECI KOMPUTEROWE wykład dla kierunku informatyka semestr 4 i 5

Warstwa sieciowa w Internecie

TCP/IP (Transmission Control Protocol / Internet Protocol) komunikacji otwartej stosem protokołów

Protokoły wspomagające. Mikołaj Leszczuk

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Technologie WAN transmisja synchroniczna i asynchroniczna

NAGŁÓWEKI ROZSZERZONE IPv6

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Serwer DHCP (dhcpd). Linux OpenSuse.

DLACZEGO QoS ROUTING

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Sieci komputerowe Warstwa transportowa

Sieci komputerowe. Protokoły warstwy sieciowej modelu OSI-ISO. dr inż. Andrzej Opaliński

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

DHCP + udostępnienie Internetu

Serwer i klient DHCP w systemie Linux

WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka

Protokół IP. III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z:

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Komunikacja w sieciach komputerowych

Sieci komputerowe Warstwa sieci i warstwa transportowa

Rodzina protokołów TCP/IP

Sieci Ethernet. Autor: dr inŝ. K. Miśkiewicz

Protokół DHCP. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Laboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych

Protokół ICMP. Autor: Grzegorz Burgiel 4FDS

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

ZiMSK NAT, PAT, ACL 1

Sieci komputerowe W4. Warstwa sieciowa Modelu OSI

Przyczyny zastąpienia IPv4. MoŜe częściej stosować NAT? Przestrzeń adresowa. PROTOKÓŁ IPv6 SIECI KOMPUTEROWE

Sieci Komputerowe Protokół TCP

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Transkrypt:

Inne protokoły TCP/IP Telnet FTP SMTP DNS BOOTP DHCP PPP RFC 826 ARP RFC 792 ICMP RFC 1112 IGMP RFC 854 RFC 959 FTP TELNET RFC 821 SMTP RFC 882 DNS RFC 951 BOOTP RFC 1541 DHCP TCP UDP SCTP ARP IP (v4, v6) ICMP IGMP Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 1)

ICMP (Internet Control Message Protocol RFC 792) ICMP służy do informowania o błędach i sytuacjach awaryjnych w sieci IP, takich jak: niedostarczenie datagramu odrzucenie datagramu przez przeciążony router wyczerpanie czasu życia datagramu istnienie prostszej trasy dla przesłania datagramu Odbiorcą jest moduł IP stacji adresata (nie użytkownik końcowy). Celem ICMP jest ostrzeganie o problemach, a nie usuwanie ich. Datagramy IP mogą nie zostać dostarczone bez informowania o tym. Oczywiście nie ma też gwarancji, że komunikaty kontrolne dotrą do odbiorcy. Komunikaty ICMP o komunikatach ICMP nie są wysyłane. Komunikaty ICMP o błędach datagramów fragmentowanych wysyła się tylko dla pierwszego fragmentu. Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 2)

ICMP Komunikaty ICMP są przesyłane jako SDU IP: PDU ICMP PCI IP SDU IP w nagłówku ramki IP pole Protocol = 1 datagram IP Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 3)

ICMP PDU IPv.4 0 31 Version IHL Type of Service Total Length Identification 0 D F M F Fragment Offset Time to Live Protocol Header Checksum Options Source Address Destination Address SDU (PDU ICMP) Padding PDU ICMP 0 31 Type Code Checksum reserved fragment of original IP datagram ToS = 0 Protocol = 1 nagłówek IP + 64 pierwsze bity danych oryginalnego datagramu Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 4)

ICMP Komunikaty protokołu ICMP: 0 Odpowiedź z echem (Echo Reply) ping 3 Odbiorca nieosiągalny (Destination Unreachable) 4 Tłumienie nadawcy (Source Quench) 5 Przekierowanie (Redirect) 8 Prośba o echo (Echo) ping 9 Zdefiniowane węzły międzysieciowe (Router Advertisement) 10 Pytanie o węzły międzysieciowe (Router Solicitation) 11 Przekroczenie czasu życia datagramu (Time Exceeded) 12 Błędne wartości nagłówka (Parameter Problem) 13 Prośba o czas (Timestamp) 14 Odpowiedź z czasem (Timestamp Reply) 17 Prośba o maskę adresową (Submask Request) 18 Odpowiedź z maską adresową (Submask Reply) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 5)

ICMP Odbiorca nieosiągalny Pola IP: Destination Address (adres odbiorcy): adres nadawcy oryginalnego datagramu IP. Pola ICMP: Kod: 0 31 3 Kod Suma kontrolna 0 = sieć nieosiągalna 1 = komputer nieosiągalny 2 = protokół nieosiągalny 000... 000 fragment oryginalnego datagramu 3 = port nieosiągalny 4 = niezbędna fragmentacja przy ustawionym DF 5 = trasowanie źródłowe zawiodło Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 6)

ICMP Przekierowanie Pola ICMP: Kod: 0 31 5 Kod Suma kontrolna 0 = kieruj datagramy do sieci 1 = kieruj datagramy do komputera Gateway Internet Address fragment oryginalnego datagramu 2 = kieruj datagramy o danym typie obsługi do sieci 3 = kieruj datagramy o danym typie obsługi do komputera Gateway Internet Address: adres węzła międzysieciowego, pod który powinien zostać skierowany ruch Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 7)

ICMP Błędne wartości nagłówka Pola ICMP: Pointer (wskaźnik): 0 31 12 0 Suma kontrolna Pointer 000... 000 fragment oryginalnego datagramu wskazuje oktet nagłówka oryginalnego datagramu, który spowodował błąd (np. wartość 1 informuje, że coś jest nie tak z polem Type of Service). PDU IPv.4 0 8 16 31 Version IHL Type of Service Total Length Identification D M Fragment Offset Time to Live Protocol Header Checksum Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 8)

ICMP Przekroczenie czasu życia datagramu Jeśli węzeł międzysieciowy przetwarzający datagram, odkryje zero w polu określającym czas życia, musi odrzucić datagram. Może zgłosić to nadawcy używając komunikatu Time Exceeded. Jeśli stacja końcowa, w której odbywa się scalanie fragmentów datagramu nie jest w stanie zebrać wszystkich fragmentów przed upływem nałożonego limitu czasowego, odrzuca datagram i również może wysłać komunikat o przekroczeniu czasu. Jeśli nieosiągalny jest fragment pierwszy nie jest wysyłany ten komunikat. Dlaczego? Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 9)

ICMP Tłumienie nadawcy Odbiorca lub węzeł międzysieciowy może odrzucić datagramy jeśli nie posiada dostępnej przestrzeni potrzebnej do zbuforowania ich. Jeśli odrzuca datagram, może przesłać do nadawcy żądanie tłumienia nadawania. W odpowiedzi na ten komunikat nadawca powinien zmniejszać częstotliwość wysyłania tak długo, aż nie będzie już otrzymywał żądań tłumienia. Nadawca może później stopniowo zwiększać prędkość nadawania. Odbiorca lub węzeł międzysieciowy może wysłać komunikat o tłumieniu również w przypadku, gdy zbliża się do granicy pojemności swojego bufora, nie czekając na jej przekroczenie. Oznacza to, że dane datagramu który spowodował wysłanie komunikatu mogły jednak zostać dostarczone. Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 10)

ICMP Zdefiniowane węzły międzysieciowe Węzły międzysieciowe mogą okresowo rozgłaszać swoją tożsamość w sieciach lokalnych, w których pracują, wspierając automatyczną konfigurację stacji sieciowych Jest to szczególnie użyteczne w sieciach ze złożoną topologią i wieloma dostępnymi współbieżnie węzłami międzysieciowymi (tzw. konfiguracja wielopoziomowa) Stacja sieciowa może też po starcie jawnie zażądać przesłania tych informacji komunikatem Pytanie o węzły międzysieciowe (Router Solicitation) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 11)

IGMP (Internet Group Management Protocol) RFC 1112, 2236 zajmuje się rejestracją adresów grupowych IP-multicast (klasa D) rejestracja grupowego adresu IP (IGMP) join port 5000 Serwer 224.2.30.1 138.25.10.10 port 5000 Serwer 224.2.30.1 150.254.1.30 224.2.30.1 operacje join i leave query port 5000 Serwer 150.254.1.31 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 12)

IGMP Komunikaty IGMP są przesyłane jako SDU IP: PDU IPv.4 0 31 Version IHL Type of Service Total Length Identification 0 D F M F Fragment Offset Time to Live Protocol Header Checksum Options Source Address Destination Address SDU (PDU IGMP) Padding PDU IGMP 0 31 Type Response Time Checksum Group Address ToS = 0 TTL=1 Protocol = 2 Destination = 224.0.0.22 join = 22 leave = 23 query = 17 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 13)

ARP (Address Resolution Protocol RFC 826) znajdowanie adresu MAC stacji na podstawie adresu warstwy sieciowej (np. adresu Ethernet odbiorcy datagramu na podstawie znanego jego adresu IP) IP Eth (SDU) NADAWCA nie można uzależnić adresu IP od posiadanego przez komputer adresu Ethernet nie da się zakodować 48-bitowego adresu Ethernet w 32-bitowym adresie IPv4 nie można więc automatycznie odwzorować adresu IP na adres Ethernet danej maszyny (nie można go wyliczyć ) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 14)

ARP Działanie: NADAWCA PYTANIE ARP ODPOWIEDŹ ARP NADAWCA ODBIORCA Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 15)

ARP PDU protokołu ARP: 0 31 RODZAJ ADRESU MAC (np. 0001h) DŁ. ADRESU MAC DŁ. ADRESU SIEC. ADRES MAC NADAWCY ADRES SIECIOWY NADAWCY ADRES MAC ODBIORCY ( = 0 ) RODZAJ PROT. SIECIOWEGO (np. 0800h) ADRES SIECIOWY ODBIORCY OPERACJA ( = 1 ) dla Ethernetu rodzaj adresu MAC = 0001 h dla IPv4 rodzaj adresu sieciowego = 0800 h operacja: pytanie =1; odpowiedź =2 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 16)

ARP Komunikaty ARP są przesyłane jako SDU MAC: PDU ARP PCI Eth SDU Eth w nagłówku ramki Ethernet pole TYP = 0806 h ramka Ethernet Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 17)

ARP Podręczna pamięć protokołu (ARP cache) rozgłaszanie jest kosztowne po otrzymaniu odpowiedzi pytający umieszcza adresy w pamięci podręcznej na ograniczony czas (wymiatanie po timeout) przy kolejnej okazji sprawdza, czy wymagany adres nie figuruje już w cache aktualizacja cache: odebranie odpowiedzi ARP odebranie ARP pytania odpowiadający zapamiętuje adresy pytającego odebranie dowolnej ramki pozwalającej na odwzorowanie odebranie ogłoszenia ARP Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 18)

RARP (Reverse Address Resolution Protocol RFC 903) znajdowanie adresu sieciowego stacji na podstawie jej adresu MAC (np. adresu IP na podstawie adresu Ethernet) PDU RARP ( = PDU ARP): operacja: pytanie =3; odpowiedź =4 0 31 RODZAJ ADRESU MAC DŁ. ADRESU MAC DŁ. ADRESU SIEC. ADRES MAC NADAWCY RODZAJ PROT. SIECIOWEGO ADRES SIECIOWY NADAWCY ( = 0 ) ADRES MAC ODBIORCY (broadcast) OPERACJA ( = 3 ) ADRES SIECIOWY ODBIORCY ( = 0 ) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 19)

RARP Działanie: PYTANIE RARP KLIENT ODPOWIEDŹ RARP KLIENT SERWER RARP Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 20)

RARP Ograniczenia RARP: implementacja sprzętowa trudna (praktycznie niewykonalna) modyfikacja oprogramowania zaszytego w sprzęcie marnotrawienie pojemności ramki w ramce Ethernet można bez dodatkowych kosztów przesłać znacznie więcej dodatkowych informacji Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 21)

BOOTP (BOOTstrap Protocol RFC 951) stacje protokołu BOOTP implementuje się w postaci programów aplikacyjnych na UDP (również model klient-serwer) efektywność w jednej odpowiedzi od serwera klient otrzymuje: adres IP maskę podsieci adres routera adres serwera nazw adresy innych potrzebnych serwerów np. serwera z obrazem pamięci (boot server), serwera zdalnego systemu plików, serwera wydruków aktualną datę i czas Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 22)

BOOTP Działanie: klient BOOTP wysyła rozgłoszeniowy datagram IP (!) serwer BOOTP odsyła odpowiedź do klienta po zaktualizowaniu tablicy ARP adresem MAC klienta (jeśli jako aplikacja może to zrobić) rozgłaszając odpowiedź (kolejny datagram rozgłoszeniowy) Niezawodność w protokole BOOTP: suma kontrolna timeout i retransmisja datagramów UDP pole DF=1 (uwzgl. chudych klientów) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 23)

DHCP (Dynamic Host Configuration Protocol RFC 1541) dynamiczny przydział adresu IP stacji tylko na czas jej aktywności (limit czasu) możliwe statyczne przydziały Działanie klient rozgłasza (lub wysyła na predefiniowany adres) żądanie DHCPDISCOVER KLIENT DHCPDISCOVER Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 24)

DHCP serwer odsyła ofertę (DHCPOFFER) z jednym z dostępnych adresów (i pozostałymi parametrami konfiguracyjnymi) wstępna rezerwacja adresu KLIENT DHCPOFFER 10.0.0.100 SERWER DHCP pula adresowa: 10.0.0.100 10.0.0.130 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 25)

DHCP klient akceptując ofertę zleca zatwierdzenie rezerwacji adresu (DHCPREQUEST) KLIENT DHCPREQUEST 10.0.0.100 SERWER DHCP przydzielono: 10.0.0.100 wolna pula: 10.0.0.101 10.0.0.130 serwer potwierdza przydział adresu (DHCPACK) lub odrzuca zlecenie, jeśli w międzyczasie zdążył już przydzielić ten adres innej stacji (DHCPNAK) przed upływem limitu czasu przydziału klient może wznowić żądanie przydziału Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 26)

DHCP Wiele serwerów: klient wybiera arbitralnie jedną odpowiedź (potwierdzenie DHCPREQUEST kierowane jest tylko do wybranego serwera) KLIENT DHCPOFFER 10.0.0.72 pula: 10.0.0.60 10.0.0.90 SERWER 1 DHCPOFFER 10.0.0.100 SERWER 2 DHCPOFFER 10.0.0.211 pula: 10.0.0.100 10.0.0.130 SERWER 3 pula: 10.0.0.200 10.0.0.230 z tym serwerem klient komunikuje się by utrzymać przydzielony adres po upływie limitu czasu Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 27)

DHCP DHCPNACK: serwer odrzuca (DHCPNACK) żądanie przydziału adresu (DHCPREQUEST), jeśli zdążył zaoferować proponowany wcześniej adres (DHCPOFFER) innej stacji KLIENT DHCPOFFER 10.0.0.100 SERWER 2 pula: 10.0.0.101 10.0.0.130 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 28)

DHCP DHCPNACK: serwer odrzuca (DHCPNACK) żądanie przydziału adresu (DHCPREQUEST), jeśli zdążył zaoferować proponowany wcześniej adres (DHCPOFFER) innej stacji KLIENT timeout SERWER 2 pula: 10.0.0.100 10.0.0.130 DHCPDISCOVER KLIENT 2 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 29)

DHCP DHCPNACK: serwer odrzuca (DHCPNACK) żądanie przydziału adresu (DHCPREQUEST), jeśli zdążył zaoferować proponowany wcześniej adres (DHCPOFFER) innej stacji KLIENT DHCPREQUEST 10.0.0.100 SERWER 2 DHCPOFFER 10.0.0.100 pula: 10.0.0.101 10.0.0.130 KLIENT 2 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 30)

DHCP DHCPNACK: serwer odrzuca (DHCPNACK) żądanie przydziału adresu (DHCPREQUEST), jeśli zdążył zaoferować proponowany wcześniej adres (DHCPOFFER) innej stacji KLIENT DHCPNACK SERWER 2 pula: 10.0.0.101 10.0.0.130 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 31)

IPv6 Dlaczego nowa wersja? IPv4 pozostaje bez większych zmian od lat 70-tych od tego czasu szybkość procesorów wzrosła ponad dwa rzędy wielkości, typowe rozmiary pamięci zwiększyły się 32-krotnie, przepustowość sieci szkieletowej wzrosła 800 razy, a liczba przyłączonych do Internetu stacji wzrosła z dziesiątek do milionów wyczerpała się przestrzeń adresowa rozwinęły się techniki multimedialne (a wraz z nimi wymagania) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 32)

IPv6 podstawowe zmiany IPv6 (RFC2460, 1998 r.) w stosunku do IPv4: adresy 128-bitowe (340283366920938463374607431768211456 adresów) elastyczny format nagłówka (zamiast stałego formatu sekwencja opcjonalnych nagłówków) wsparcie dla QoS (rezerwacja zasobów, potoki) bezpieczeństwo (IPsec) nowe opcje np. jumbogram > 64 kb (RFC 2675), max. 4 GB (2 32-1) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 33)

IPv6 Ogólna postać datagramu IPv6: NAGŁÓWEK PODSTAWOWY NAGŁÓWEK OPCJONALNY (1)... NAGŁÓWEK OPCJONALNY (n) Prosty nagłówek podstawowy (40 oktetów): DANE PDU IP v.6 Primary Header 0 31 Version Priority Flow Label Payload Length Next Header Hop Limit Source Address (16 oct.) Destination Address (16 oct.) Next Header (RFC 3260): TCP=6, UDP=17, ICMPv6=58, Routing=43, Fragmentation=44, no_next_header=59 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 34)

IPv6 Przykłady datagramów: IPv6 Header TCP Header + Dane TCP NextHeader = TCP tylko z nagłówkiem podstawowym IPv6 Header NextHeader = Routing Routing Header NextHeader = TCP z nagłówkiem podstawowym i jednym opcjonalnym IPv6 Header NextHeader = Routing TCP Header + Dane TCP Routing Header NextHeader = Fragment Fragment Header NextHeader = TCP TCP segment fragment z nagłówkiem podstawowym i dwoma opcjonalnymi Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 35)

IPv6 Priority + Flow Label: KLASA RUCHU INDENTYFIKATOR POTOKU Potok: 4 bity: 0 7 priorytety ruchu kontrolowanego potokiem (gwarancja pasma) 8 15 priorytety ruchu poza potokami dla danego potoku węzły pośredniczące deklarują utrzymanie na ścieżkach 1. zagwarantowanej przepustowości 2. maksymalnego opóźnienia potok pozwala wiązać każdy datagram ze zdeklarowaną rezerwacją zasobów potok jest tworzony i parametryzowany przez aplikację (co najmniej 1 parę nadawca-odbiorca) QoS = Quality of Service utworzenie potoku może również zainicjować dostawca usług sieciowych, wymagając od klienta określenia potrzebnej jakości usług i używać następnie potoku do ograniczania ruchu generowanego przez aplikacje klienta Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 36)

IPv6 Fragmentacja: dla IPv4 fragmentacji dokonywał router dostosowując się do bieżącego MTU w IPv6 za dostosowanie odpowiada nadawca określając minimalne MTU dla całej drogi datagramów (PMTUD) zmiana trasy pociąga za sobą zmianę MTU odkrywaną w reakcji na ICMPv6 type 2 (Packet to Big) lub cyklicznie jeśli protokół zlecający SDU nie może (nie umie) go dopasować do MTU: Fragment Header 0 8 16 29 31 Next Header Reserved Fragment Offset 0 0 MF Full Datagram ID SDU Fragment Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 37)

IPv6 Fragmentacja: rozmiar wielokrotnością 8 oktetów (jak w IPv4): NAGŁÓWEK NGŁ FRG F 1 F 2 SDU-F 1 SDU NAGŁÓWEK NGŁ FRG SDU-F 2 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 38)

IPv6 Adresy w IPv6 16 oktetów (4 razy więcej niż IPv4) 104.230.140.100.0.0.0.0.0.0.0.0.104.128.0.179 maska: 255.192.0.0.0.0.0.0.0.0.0.0.0.0.0.0 notacja szesnastkowa: 68E6:8C64:0:0:0:0:6880:B3 / 10 uproszczenia zapisu: 68E6:8C64:0:0:0:0:6880:B3 68E6:8C64::6880:B3 0:0:0:0:0:0:0:1 (loopback) ::1 ( ::1 / 128 ) 0:0:0:0:0:0:0:0 (adres własny) 0::0 ( 0::0 / 128 ) obsługa adresów IPv4: 80bitów 0 + 16 bitów 0 lub 1 + 32 bity adresu IPv4 0:0:0:0:0:0:800A:201 ::128.10.2.1 (użycie tego samego adresu w obu IP) 0:0:0:0:0:FFFF:800A:201 ::FFFF:128.10.2.1 (symulowanie adresu IPv4 w IPv6) rodzaje adresów: unicast pojedynczy adresat multicast adres grupowy anycast (cluster) grono (lub reprezentant) adresatów Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 39)

IPv6 Podział przestrzeni adresowej: prefiks adres typ 001 2000:: /3 unicast (global public) 1/8 0000 0000 0:: /8 adresy IPv4 (ostatnie 32 bity) 1/256 1111 1111 FF00:: /8 multicast 1/256 1111 1100 FC00:: /8 adresy prywatne (unique local RFC 4193) 1/256 1111 1101 FD00:: /8 adresy prywatne (site-local) 1/128 1111 1110 10 FE80:: /10 adresy automatyczne (link-local) 1/1024......... Struktura adresu unicast EUI-64: prefiks TLA NLA SLA interface TLA = top-level aggregation NLA = next-level SLA = site-level np.: 001 ID usługodawcy ID subskrybenta adres podsieci adres stacji Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 40)

IPv6 Adresy muticast (RFC 4291): adres zasięg grupa FF01::1 node-local All-Nodes FF02::1 link-local All-Nodes FF01::2 node-local All-Routers FF02::2 link-local All-Routers FF05::2 site-local All-Routers FF1E:... global FF02::1:FF??:???? link-local NDP oraz DAD np.: dla adresu MAC: 02:00:0C:3A:8C:18 mamy IPv6: FE80::200:CFF:FE3A:8C18 format EUI-64 oraz grupę: FF02::1:FF3A:8C18 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 41)

IPv6 Wsparcie dla IPv6 Dostosowanie: protokołów routingu (RIPng), BOOTP, DHCP ARP NDP (RFC 4861), ICMP ICMPv6 (RFC 2463), IGMP MLD (RFC 2236) UDP i TCP dla jumbograms API np. struktury adresowe w BSDsockets i WinSock systemu DNS: localhost IN A 127.0.0.1 localhost6 IN AAAA ::1 foo.bar.com IN A 128.10.2.1 foo.bar.com IN AAAA 2001:abc::1234:5678 1.2.10.128.in-addr.arpa 8.7.6.5.4.3.2.1.0.0.0.0.0.0.0.0.0.0.0.d.c.b.a.1.0.0.2.ip6.arpa Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 42)

Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 43)

IPv6 Przejście z IPv4 do IPv6 (RFC 1933): dualne stosy protokołów utrzymywanie stosów dla obu wersji IP (SIT, RFC 2765) IPv4 IPv4 128.10.2.1 ::128.10.2.1 IPv6 IPv6 128.10.2.1 ::128.10.2.1 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 44)

IPv6 Dwojakie odwzorowanie adresów IPv4 w IPv6: adresat obsługuje IPv6 IPv6 ::128.10.2.1 128.10.2.1 tunelowanie IPv6 IPv6 IPv6 IPv4 128.10.2.1 IPv6 128.10.2.1 IPv6 IPv4 ::128.10.2.1 128.10.2.1 128.10.2.1 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 45)

IPv6 Dwojakie odwzorowanie adresów IPv4 w IPv6: adresat obsługuje tylko IPv4 (translacja) IPv4 128.10.2.1 128.10.2.1 tunelowanie IPv4 IPv4 IPv4 IPv6 ::FFFF:128.10.2.1 IPv6 ::FFFF:128.10.2.1 IPv6 IPv4 128.10.2.1 128.10.2.1 128.10.2.1 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 46)

IPv6 Tunelowanie 6in4 (RFC 4213): tunelowanie IPv6 w sieci IPv4 (protokół 41 IPv6 encapsulation) statyczna konfiguracja obu końców tunelu choć możliwe wykorzystanie protokołu TIC (Tunnel Information and Control Protocol) np. narzędzie aiccu + serwery TIC IPv4 6in4 IPv6 Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 47)

IPv6 Toredo (Microsoft, RFC 4380): podobnie jak 6in4 ale w datagramach UDP i nie wszystkie serwery NAT go obsługują serwer Toredo odpowiedzialny za konfigurację tunelu port 3544 prefiks 2001::/32 2001:0000: + 32b IPv4 serwera + 16b flag + 16b port klienta, który jest końcem tunelu (NAT-owany) + 32b IPv4 klienta (NAT-owany) translacja 1 adres IPv6 na 1 adres IPv4, stąd każdy NAT-owany adres musi mieć oddzielny tunel Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 48)

IPv6 NAT64 (RFC 6146): pełny NAT z klienta IPv6 na IPv4 translacja dokonywana na serwerze NAT na adres IPv4 (źródłowy) adres IPv4 docelowy wskazywany przez oryginalnego klienta w oryginalnym docelowym adresie IPv6 z prefiksem 64:FF9B::/96 (RFC 6052) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 49)

IPv6 6over4 (RFC 2529): autogenerowanie adresu IPv6 (link-local) na podstawie posiadanego adresu IPv4 adres link-local pozostawia do autokonfiguracji najmłodsze 64 bity prefiks FE80::/16 192.0.1.222 FE80::C000:01DE mechanizm ICMPv6 Neighbor Discovery (autokonfiguracja) wymaga multicast: All-Nodes (FF02::1) 239.192.0.1 All-Routers (FF02::2) 239.192.0.2 wyparty przez kolejne rozwiązania, nie wymagające multicast Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 50)

IPv6 ISATAP (Intra-Site Automatic Tunnel Addressing Protocol): RFC 5214 (patent Microsoft) powszechny w Windows autokonfiguracja jest prowadzona tunelując Neighbor Discovery w IPv4 nie wymaga multicast kontakt z routerem o predefiniowanej nazwie isatap (lub isatap.microsoft.com) wyszukiwanym lokalnie (hosts) lub w DNS prefiks FE80:0000:0000:0000:0200:5EFE: dla adresów publicznych prefiks FE80:0000:0000:0000:0000:5EFE: dla adresów prywatnych 192.0.1.222 FE80::5EFE:C000:01DE Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 51)

IPv6 6to4 (RFC 2893): prefiks 2002::/16 2002:: + IPv4 + 16bit wartości arbitralnie wybranej przez router najstarsze 64 bity adresu link-local: 192.0.1.222 2002:C000:01DE:: resztę należy uzyskać od routera na dalszym etapie autokonfiguracji (Router Advertisement) router wie gdzie odesłać wygenerowane dla pytającego młodsze 64 bity, bowiem zna jego adres z najstarszych 64 bitów adresu zapytania routing z IPv6 do IPv4 poprzez wykorzystanie specjalnych routerów (relay servers) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 52)

IPv6 Internet 2 pierwowzór: sieć IPv6 6Bone (38 krajów, w tym Polska) w ramach projektu vbns (very high performance Backbone Network Service) rozpoczętego w 1995 w USA; projekt zakończył się w 2006 r. globalna sieć kręgosłupowa Abilene ATM/WDM (USA: 1998 r., później inne kraje); 10 Gb/s; http://www.internet2.edu w 2003r. w USA powołano organizację NLR National Lambda Rail sieć optyczna 10 Gb/s (przede wszystkim 10GigEthernet WAN PHY, dodatkowo OC-192 SONET) z docelową przepustowością 100 Gb/s; http://www.nlr.net Polski Internet Optyczny PIONIER; 5,5 tys. km światłowodów DWDM; 10 Gb/s Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 53)

IPv6 National Lambda Rail Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 54)

IPv6 Sieć Pionier Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 55)

IPv6 Bezpieczeństwo w IPv6 w IPv4 brak jakichkolwiek mechanizmów bezpieczeństwa wymagane są dodatkowe protokoły, np. IPsec (RFC 2401) w IPv6 zawarto dwie opcje bezpieczeństwa zaproponowane wcześniej w IPsec i implementowane jako nagłówki: AH (Authentication Header) oferuje kontrolę autentyczności i integralności datagramu (umożliwia uwierzytelnianie) ESP (Encapsulating Security Payload) oferuje poufność treści datagramu oraz opcjonalnie kontrolę autentyczności i integralności datagramu Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 56)

IPv6 AH (Authentication Header) AH przenosi podpis cyfrowy treści datagramu i stałych pól nagłówka 0 8 16 31 Next Header Payload Length Reserved SPI Sequence Number Authentication Data... ew. fragmentacja datagramu jest dokonywana wcześniej (uwierzytelniany jest każdy fragment oddzielnie) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 57)

IPv6 ESP (Encapsulating Security Payload) stosowane są symetryczne szyfry blokowe, np. AES, 3DES, Blowfish, CAST-128 0 31 SPI Sequence Number Opaque Transform Data... (padding) Pad Length Next Header Authentication Data (opcjonalnie) format i długość zaszyfrowanych danych zależy od metody szyfracji podanej w SPI odebranie datagramu wymaga odszyfrowania i odtworzenia oryginalnej treści wraz z polem Next Header nagłówka Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 58)

SCTP (Stream Control Transmission Protocol) RFC 2960, 4960 TCP UDP SCTP Tryb połączeniowy bezpołączeniowy połączeniowy Transmisja strumień bajtów datagramy datagramy Sterowanie przepływem tak nie tak Uporządkowanie ścisłe brak częściowe Niezawodność retransmisje brak retransmisje Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 59)

SCTP Nawiązanie połączenia: 4-way handshake: otwarcie aktywne INIT COOKIE-ECHO INIT-ACK + cookie COOKIE-ACK nawiązanie połączenia stan half-opened Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 60)

SCTP Zakończenie połączenia normalne: zakończenie połączenia SHUTDOWN SHUTDOWN-COMPLETE SHUTDOWN-ACK zakończenie połączenia stan half-closed awaryjne: ABORT Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 61)

SCTP PDU protokołu SCTP (ogólna postać datagramu) NAGŁÓWEK PODSTAWOWY BLOK (1) BLOK (2)... BLOK (n) Nagłówek podstawowy protokołu SCTP 0 31 Source Port Destination Port Verification Tag Checksum chunk Blok (chunk) protokołu SCTP 0 31 Type Flags Length Data Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 62)

SCTP Przykładowe bloki Type Chunk 0 Payload Data (DATA) 1 Initiation (INIT) 2 Initiation Acknowledgement (INIT ACK) 3 Selective Acknowledgement (SACK) 4 Heartbeat Request (HEARTBEAT) 5 Heartbeat Acknowledgement (HEARTBEAT ACK) 6 Abort (ABORT) 7 Shutdown (SHUTDOWN) 8 Shutdown Acknowledgement (SHUTDOWN ACK) 9 Operation Error (ERROR) 10 State Cookie (COOKIE ECHO) 11 Cookie Acknowledgement (COOKIE ACK) 12 Explicit Congestion Notification Echo (ECNE) 13 Congestion Window Reduced (CWR) 14 Shutdown Complete (SHUTDOWN COMPLETE) Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 63)

SCTP Flagi: (U)nordered bit (B)eginning fragment (E)nding fragment Blok danych (DATA) protokołu SCTP 0 31 Type=0 U B E Length BE=11 Unfragmented data Transmission Sequence Number (TSN) Stream Identifier Payload Protocol Identifier Stream Data Stream Sequence Number Michał Szychowiak 2015 Sieci Komputerowe (inne protokoły TCP/IP 64)