PROTOKÓŁ TCP/IP
TCP/IP v.4
• Adresowanie
– Każdy interfejs sieciowy w TCP/IPv4 posiada unikalny 32-bitowy adres
– Przestrzeń adresowa
• 232 = 4 294 967 298 – Notacje
• Dziesiętna 10.0.2.1
• Binarna 00001010 .00000000 .00000010 .00000000
• Szesnastkowa 0x0A000201
– Sposób adresowania
• klasowa
• bezklasowe
TCP/IP v.4
• Konfiguracja opiera się na podaniu
– Numeru IP
– Maski
– Adresu rozgłoszenia
– numeru domyślnej bramy lub bram (router, gateway)
•
lub na pobraniu tych parametrów z serwera DHCP,
czyli z serwera dynamicznie przyznającego adresy
IP komputerom, które go nie posiadają.
TCP/IP v.4, numer IP
• Jeżeli w naszej podsieci mamy do dyspozycji 255 kolejnych adresów IP od 149.156.112.0 do 149.156.112.255 to
– adres 149.156.112.0 lub 149.156.112. jest adresem naszej podsieci
– adres 149.156.112.255 jest adresem rozgłoszeniowym
– maska będzie 255.255.255.0
– binarnie dziesiętnie
– IP 10010101.10011100.1110000.00110111 149.156.112.55
– maska 11111111.11111111.1111111.00000000 255.255.255.0 – Rozgł. 10010101.10011100.1110000.11111111 149.156.112.255 – Inny sposób zapisu adr I maski 149.156.112.55/24
– jeżeli wynik mnożenia każdej pary bitów maski i adresu IP da adres różny od adresu podsieci to wszelkie odwołania do tego adresu
wysyłane są do domyślnej bramy
• poprzez odpowiedni dobór maski i adresu sieci lub komputera można wyznaczać różne drogi przesyłania informacji
TCP/IP v.4, numer IP
• Numer IP najczęściej podawany jest jako cztery liczby dziesiętne z zakresu 0-255 (0-FF szesnastkowo, 0-
11111111 dwójkowo) rozdzielone kropkami
– www.xxx.yyy.zzz - 149.156.112.55
• Maska i jej przeciwieństwo czyli adres rozgłoszeniowy służą do odróżnienia adresów z podsieci lokalnej od adresów
zewnętrznych. Jeżeli szukany adres nie znajduje się w sieci lokalnej ruch kierowany jest do domyślnej bramy.
• Jest to pierwsza reguła routowania.
TCP/IP v.4
• Klasy adresów
– Przestrzeń adresowa podzielona jest na 5 klas w zależności od pierwszych bitów najstarszego bajtu
• Najstarszy bit 0 - klasa A
• Najstarsze bity 10 - klasa B
• Najstarsze bity 110 - klasa C
• Najstarsze bity 1110 - klasa D
• Najstarsze bity 1111 - klasa E
– Obecnie nie stosowane rozwiązanie
TCP/IP v.4
• Adresowanie – Klasy
– Klasa A
• Zakres od 1.0.0.0 do 127.255.255.255
• 7 bitów identyfikuje sieć
• 224 bitów (16 777 214) identyfikuje interfejs
– Klasa B
• Zakres od 128.0.0.0 do 191.255.255.255
• 14 bitów identyfikuje sieć
• 16 bitów (65 535) identyfikuje interfejs
TCP/IP v.4
• Adresowanie – Klasy
– Klasa C
• Zakres od 192.0.0.0 do 223.255.255.255
• 21 bitów identyfikuje sieć ( 2 097 152 )
• 8 bitów (254) identyfikuje interfejs
– Klasa E
• Zakres zarezerwowany dla przyszłego użycia (??)
TCP/IP v.4
• Adresowanie – Klasy
– Klasa D
• Zakres od 224.0.0.0 do 239.255.255.255
• Specjalne adresy rozgłoszeniowe (multicast, multipoint)
• 224.0.0.0 – 224.0.0.255 – lokalny blok kontrolny (nieroutowalny)
– 224.0.0.1 - wszystkie lokalne hosty
– 224.0.0.2 - wszystkie routery w podsieci – 224.0.0.4 – routery DVMRP
– 224.0.0.9 – routery RIP
– 224.0.1.0 – 238.255.255.255 – zakres ogólny
– 239.0.0.0 – 239.255.255.255 – zakres ograniczony – 239.253.0.0 – zakres ograniczony do jednej siedziby – 239.192.0.0 – zakres ograniczony do jednej organizacji
TCP/IP v.4
• Adresowanie – bezklasowe
– Duże straty adresów w przypadku adresowania z wykorzystaniem klas
• Zakres od 224.0.0.0 do 239.255.255.255
• Specjalne adresy rozgłoszeniowe (multicast, multipoint)
• 224.0.0.0 – 224.0.0.255 – lokalny blok kontrolny (nieroutowalny)
– 239.192.0.0 – zakres ograniczony do jednej organizacji
TCP/IP v.4
• Adresy specjalne RFC 1918
– 0.0.0.0 – host nienależący do tej podsieci (wszystkie inne sieci)
– 127.0.0.0
• 127.0.0.1 - loopback
255.255.255.255 – ograniczony broadcast ( do 1 hosta)
• Adresy prywatne
– 10.0.0.0/8 10.0.0.0 - 10.255.255.255 – 172.16.0.0/16 172.16.0.0 - 172.16.255.255 – 192.168.0.0/24 192.168.0.0 - 192.168.255.255
TCP/IP nawiązanie połączenia
• W obrębie jednego numeru IP komunikacja odbywa się poprzez porty.
– Zapis <adres IP>:port np. www.xxx.yyy.zzz:port
– ilość portów to 216 (FFFF) = 65535
– porty od 0 - 1024 są używane przez typowe usługi
– porty pow. 1024 nie są przypisane do konkretnych usług, są używane do nawiązania połączenia.
• Połączenie jest identyfikowane przez
– adres_IP_nadawcy(klienta):port_nadawcy (port >1024)
– aders_IP_odbiorcy(serwera):port_odbiorcy
Protokół TCP/IP
Aplikacji Transportowa
Internetowa Podsieci 1
2 3 4
- nazywana warstwą dostępu do sieci
- połączenie punkt-punkt (np. IP) - reliability (e.g. TCP)
- aplikacje (np. email)
– W rzeczywistości warstwa podsieci podzielona jest na dwie podwarstwy jak w modelu OSI:
• warstwa łącza danych
• warstwa fizyczna
OSI vs TCP/IP
OSI
W. aplikacji W. prezentacji
W. sesji
W. transportowa W. sieci
W. łącza danych W. fizyczna
TCP/IP
W. aplikacji W. transportowa
W. internetowa W. podsieci
Warstwa aplikacji
• Standardy warstwy aplikacyjnej
– pozwalają programom różnych
producentów współdziałać ze sobą – Np. przeglądarka na komputerze
użytkownika i program udostępniający strony WWW
Przeglądarka
Program serwera
WWW
aplikacji aplikacji transportowa
internetowa podsieci
Warstwa aplikacji
• HTTP (HyperText Transfer Protocol)
– Standard wymiany danych pomiędzy
przeglądarką i programem serwera WWW
Przeglądarka
Program serwera
WWW HTTP
aplikacji aplikacji transportowa
internetowa podsieci
Warstwa transportowa
• Protokoły warstwy transportowej
– pozwalają na wymianę wiadomości
pomiędzy komputerami niezależnie od producentów programu i systemu
operacyjnego
– Np. komputer PC i Unixowy serwer WWW
PC
PC lub
inny komputer
Aplikacji Transportowa Transportowa Internetowa
Podsieci
Warstwa transportowa
• Warstwa transportowa daje niezależność od platformy i niezawodność
– Komputery o rożnych systemach operacyjnych
• Użytkownik PC nawet nie wie na jakim sprzęcie i systemie pracuje serwer WWW
PC ???
Aplikacji Transportowa Transportowa Internetowa
Podsieci
• W architekturze Internetowej
protokołami warstwy są TCP i UDP
– Transmission Control Protocol (Protokół kontroli transmisji) daje pewność dostarczenia całości informacji
• Nawiązywana jest sesja - połączenie
• Trójkierunkowe potwierdzenie
– UDP nie daje pewności czy informacja dotrze do celu
• Protokół bezpołączeniowy - datagram
TCP/UDP
Warstwa transportowa
TransportowaTransportowaAplikacji InternetowaPodsieci
Warstwa internetowa
• Protokoły warstwy internetowej
– pozwalają pakietom przechodzić (routing, trasowanie) przez wiele routerów z komputera źródłowego do docelowego
– Pozwala na połączenie między dwoma komputerami –
Protokoły IP, ICMP, IGMP
Trasa
Aplikacji Transportowa
Internetowa Internetowa
Podsieci
• Protokołem służącym do przekazywania pakietów w sieciach TCP/IP jest IP
– Internet Protocol (Protokół międzysieciowy/ Internetowy)
– IP w “TCP/IP”
IP
Warstwa internetowa
• Protokoły kontrolne
– ICMP
• Zestaw komunikatów przesyłanych w datagramach IP
• Informuje o błędach, przeciążeniu, krótszej trasie, odrzuceniu pakietu z powodu TTL
– IGMP
• Wspomaga transmisje grupowe oraz routing
Warstwa internetowa
• Rodzaje routingu/trasowania
– Routing statyczny
• Realizowany poprzez wpisanie do tablicy routingu określonych tras
• Polecenia route, ip – Routing dynamiczny
• Realizowany za pomocą protokołów routingu
pozwalających na publikowanie tablic routingu lub ogłaszanie się routerów
• Protokoły IRD (ICMP), RIP, IGRP, OSPF ...
Warstwa internetowa
Warstwa podsieci
• Podsieci
–
Pojedyncze sieci (LAN, WAN, połączenia punkt-punkt)
–
Pakiet przechodzi przez wiele podsieci w Internecie
–
Protokoły ARP i RARP
Podsieć
Podsieć
Podsieć
Aplikacji Transportowa
Internetowa Podsiec Podsieci
• Podsieci mogą mieć różne w. fizycznej protokoły
–
protokół IP może być przenoszony za pomocą protokołów sieci lokalnych (np. Ethernet), PPP (np. połączenia modemowe) lub sieci
rozległych (np. ATM)
LAN podsieć 1
WAN podsieć 2
PPP podsieć 3
Warstwa podsieci
• Warstwa podsieci modelu TCP/IP nie są wydzielone
–
można użyć modelu OSI
–
W modelu OSI odpowiadają jej:
• Warstwa łącza danych
• Warstwa fizyczna
Aplikacji Transportowa
Internetowa Podsieci:
warstwy OSI Łącza danych fizyczna
Warstwa podsieci
• Standardy w. Internetowej i w. podsieci
–
Warstwa Internetowa zapewnia połączenie między punktami końcowymi poprzez podsieci
–
Warstwa podsieci zapewnia transmisję w obrębie jednej podsieci
Warstwa Internetowa
Warstwa podsieci
Zależność między warstwą internetową
a warstwą podsieci
Rutery
• Łączą podsieci
• Współpraca pakietów zapewnia transmisję pomiędzy punktami końcowymi
Rutery
Rutery
TCP/IP: przykłady
• Dostęp do serwera WWW z domu
Aplikacja Transport
Internet Łącza d.
Fizyczna Komputer
domowy
Int ŁD
F
Ruter Serwer WWW
HTTP TCP IP
PPP Modem
IP
?
?
Aplikacja Transport
Internet Łącza d.
Fizyczna
Enkapsulacja(kapsułkowanie)
• Polega na zamykaniu protokołu wyższej warstwy w protokole niższej warstwy
• Sytuacja może się jeszcze bardziej komplikować w przypadku tworzenia tuneli czy VPN (wirtualnych sieci prywatnych)
ATM/Ethernet/ppp...
IP
TCP/UDP HTTP/POP3.
..
TCP/IP v.4
• Jest to rodzina protokołów (UDP, TCP, ICMP...)
• Wraz ze wzrostem popularności Internetu zdominował także sieci lokalne NetWare 4.1x i MS Netwok.
• Zalety
– duża szybkość działania w dużych sieciach
– dostępny na wszystkich platformach systemowych
• Wady
– w małych sieciach jest wolniejszy od NetBEUI czy IPX/SPX
– skomplikowana konfiguracja
– Transmisja jest nieszyfrowana
• Uwagi
– Dominujący
– Jest protokołem Internetu
Protokoły sieciowe
TCP/IP porty i usługi
• Większość portów z zakresu 0-1024 jest przypisane do konkretnych usług.
– Port 20,21 FTP
– 22 ssh
– 23 TELNET
– 25 SMTP
– 53 DNS
– 80 HTTP
– 110 POP3
• Usługi używają protokołu TCP lub UDP. Protokół UDP jest prostszy i nie posiada pewnych mechanizmów kontroli danych.
TCP/IP v.6
• Zmiany w stosunku do IP v.4
• Dłuższy adres IP (128b)
• Możliwość zapewnienia nienaruszalności informacji
• Możliwość szyfrowania połączeń (IPSec jest częścią v6)
• Łatwe tworzenie wirtualnych sieci prywatnych
• Uwagi
• Nowe systemy sieciowe są dostosowane do IP v.6
(Linux/Unix, MS Windws 2000, NetWare 5.x, MS Windows 98)
• Nie istnieje infrastruktura sieciowa mogąca połączyć tym protokołem (konieczność wymiany dużej ilości urządzeń routery, przełączniki itd...)