© SKiTI 2017
Sieci Komputerowe i Technologie Internetowe(SKiTI)
Wykład 6: Model TCP/IP - protokoły warstw transportowej.Dodatkowo, kilka słów o przemysłowych sieciach informatycznych.
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI – KATEDRA INŻYNIERII SYSTEMÓW STEROWANIAKierunek: Automatyka i Robotyka
Studia stacjonarne I stopnia: rok I, semestr IIdr inż. Tomasz Rutkowski
2017
Plan wykładu
• Protokół, Port, Gniazdo
• Warstwa transportowa:
• Protokół TCPProtokół TCP
• Protokół UDP
• Informacje o stanie podsystemu sieciowego (systemy
operacyjne: Windows, Linux) – polecenie netstat
• Co to przemysłowa sieć informatyczna?
• Czym jest Ethernet przemysłowy?
Protokół, Port, Gniazdo
Protokół:
– Jest to ściśle zdefiniowany standard wymiany informacji (np. Telnet, FTP, HTTP ...)
Port:Port:
– Identyfikacja przynależności transmisji do konkretnego procesu odbywa się na podstawie portu
– Numer portu jest liczbą 16-bitową związaną z procesem komunikującym się w sieci(od 0 do 65535)
–To „adresy” aplikacji które wymieniają dane
3
Protokół, Port, Gniazdo
Gniazdo:
– Połączenie numeru IP komputera i portu na którym odbywa się komunikacja
– Gniazda są tworzone zarówno na komputerze nadającym i odbierającym, definiują one jednoznacznie transmisję w danej chwili w Interneciew Internecie
– Zakres portów od 0 do 1024 (zakres portów niskich) jest zarezerwowany dla tzw. dobrze znanych portów
192.168.1.100:80 : 192.168.1.177:499
Host A Host B
IP Komputera Nr IP Komputera Nr
Nadającego Portu Odbierającego Portu.1
4
Protokół, Port, Gniazdo
Numery wybranych, dobrze znanych portów:
Nr portuNr portu ProtokółProtokół2121 FTPFTP ((ang. File Transfer Protocolang. File Transfer Protocol))
5
2222 SSHSSH ((ang. Secure Shell Loginang. Secure Shell Login))
2323 TelnetTelnet ((ang. Network Terminal Protocol)ang. Network Terminal Protocol)
2525 SMTPSMTP ((ang. Simple Mail Transfer Protocolang. Simple Mail Transfer Protocol))
6969 TFTPTFTP ((ang. Trivial File Transfer Protocolang. Trivial File Transfer Protocol))
8080 HTTPHTTP ((ang. HyperText Transfer Protocolang. HyperText Transfer Protocol))
66676667 IRCIRC ((ang. Internet Relay Chatang. Internet Relay Chat))
• Model TCP/IP:
6
• Model TCP/IP:
Warstwa transportowa
Model ISO/OSI a model TCP/IP
Warstwa aplikacjiWarstwa aplikacji
Warstwa aplikacjiWarstwa aplikacjiDNSDNS
SNMPSNMP
Telnet, SHH, Telnet, SHH, FTP, SFTP, FTP, SFTP, SMTP, POP, SMTP, POP, IMAP, HTTP, IMAP, HTTP,
SHTTPSHTTP
Warstwa prezentacjiWarstwa prezentacji
Model ISO/OSI Model TCP/IP Przykładowe protokoły
7
SHTTPSHTTPWarstwa sesjiWarstwa sesji
Warstwa Warstwa transportowatransportowa
Warstwa Warstwa transportowatransportowa
UDPUDP TCPTCP
Warstwa sieciowaWarstwa sieciowa Warstwa InternetuWarstwa Internetu IPIP ICMPICMP
Warstwa ł ącza Warstwa ł ącza danychdanych
Warstwa dost ępuWarstwa dost ępudo siecido sieci
ARP, RARPARP, RARPPPPPPPSLIPSLIP
......
Warstwa fizycznaWarstwa fizycznanp.: IEEE 802.3, np.: IEEE 802.3,
802.5, 802.11, 802.5, 802.11, 802.14802.14
Zadaniem warstwy transportowej jest zapewnienie
usług przesyłania danych pomiędzy węzłami w sieci
dla warstwy aplikacji niezależnie od specyfiki i
fizycznej struktury sieci.
• Usługa połączeniowa i bezpołączeniowa
• Realizacja w urządzeniach wymieniających dane
(przeważnie komputery), a nie rutery jak w
warstwie sieciowej
Podstawowe protokoły warstwy transportowej:
– Protokół przesyłania datagramów UDP(ang. User Datagram Protocol)
– Protokół sterowania transmisją TCP
(ang. Transmission Control Protocol)
Enkapsulacja
Nagłówek
UDP lub TCP
Dane Warstwa
transportowa
Nagłówek
IP
Dane
Nagłówek
ramki
Warstwa
sieciowa
Warstwa łącza
danych
• Protokół UDP
11
• Protokół UDP
Protokół UDP
• Bardzo prostu protokół zapewniający minimalne
usługi.
• Umożliwia wymianę danych pomiędzy
komputerami nie nawiązując połączenia komputerami nie nawiązując połączenia
pomiędzy nimi.
• Nie zapewnia niezawodności nie gwarantuje
dostarczenia pakietu. Wysyła paczkę danych i w
żaden sposób nie sprawdza czy dotarły do celu.
• Jednostka danych przesyłanych przez protokół
UDP jest pakiet (często nazywany datagramem).
• Pakiet UDP składa się z nagłówka i danych, jego
maksymalna długość to 65 515 bajtów, a
minimalna to 8 bajtów. minimalna to 8 bajtów.
• Nagłówek protokołu UDP ma długość 8 bajtów i
składa się z czterech części: port źródłowy, port
docelowy, długość, suma kontrolna .
• Struktura pakietu UDP
0 1 2 3 4 5 6 7 8 9 1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
Port źródłowy Port docelowy
Długość Suma kontrolna
DANE
• Port docelowy to jedyna informacja o adresacie.
DANE
Zastosowania UDP
• Rozsyłanie grupowe (do wielu komputerów
jednocześnie) możliwe w wyniku bezpołączeniowości
• Proste usługi sieciowe w modelu klient-serwer (np.
usługa DNS)usługa DNS)
• Prosty model komunikacji pytanie-odpowiedź, tzw.
„szybkie zapytania”
• Multimedia w czasie rzeczywistym (transmisja
dźwięku – w tym mowy, obrazu) utrata pakietu nie
jest krytyczna
Protokół UDP – podsumowanie:
• praca w trybie bezpołączeniowym
• brak gwarancji dostarczenia danych
• dowolność w interakcjach (konfiguracjach) jeżeli
chodzi wysyłanie i odbieranie danych pomiędzy chodzi wysyłanie i odbieranie danych pomiędzy
aplikacjami
• komunikacja pomiędzy aplikacjami końcowymi
• niezależność od systemu operacyjnego
• Protokół TCP
17
• Protokół TCP
Protokół TCP
• TCP jest protokołem warstwy transportowej zapewniającym niezawodność transmisji na bazie zawodnego protokołu IPzawodnego protokołu IP
• Podstawą „niezawodności” jest przesyłanie potwierdzeń oraz retransmisja
• TCP jest znacznie bardziej złożony od UDP
Protokół TCP nazywany jest protokołem obsługi końców połączeniaponieważ zapewnia połączenie bezpośrednio pomiędzyprogramami (w ogólności) na różnych komputerach. Są topołączenia programowe.
TCP wykorzystuje IP do przenoszenia komunikatów w pakietach.
IP nie interpretuje komunikatów TCP tylko traktuje je jak dane doprzesłania.
Węzeł 1
Program
TCP
IP
Interfejs sieciowy
Ruter
IP
Interfejs
sieciowy
Węzeł 2
Program
TCP
IP
Interfejs sieciowy
Sieć 1 Sieć 2
Komunikacja z punktu
widzenia TCP
Protokół TCP, cd.
• Jednostka danych przesyłanych przez protokół TCP pakiet (często nazywany segmentem)
• Segment TCP może mieć maksymalnie rozmiar 65535 bajtów, przy czym zwykle jest mniejszy – zależy od
• Segment TCP może mieć maksymalnie rozmiar 65535 bajtów, przy czym zwykle jest mniejszy – zależy od parametru tzw. Maksymalnego rozmiaru segmentuMSS (ang. Maximum Segment Size )
• Każdy segment TCP zawiera sumę kontrolną wykorzystywaną przez odbiorcę do sprawdzenia poprawności przesłanych danych
• Struktura pakietu TCP
0 1 2 3 4 5 6 7 8 9 1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
Port źródłowy Port docelowy
Numer sekwencyjny
Numer potwierdzeniaNumer potwierdzenia
Długość nagłówka
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Okno
Suma kontrolna Wskaźnik pilności
Opcje
Dane
URG – pilność, ACK – potwierdzenie, PSH - natychmiast dostarczyć
RST- zresetowanie połączenia, SYN-nawiązanie połączenia, FIN-zakończenie połączenia
• Trójfazowe nawiązywanie połączenia w TCP
(ang. three-way handshaking)
SYN n
SYN m, ACK n+1SYN m, ACK n+1
ACK m+1
czas
Węzeł 1 Węzeł 2
• Kończenie połączenia w TCP
FIN r, ACK s
ACK r+1
ACK s+1
czas
Węzeł 1 Węzeł 2
FIN s
• Uzyskiwanie niezawodności transmisji
ACK1
pakiet1
pakiet2
Retransmisja z adaptacją
umożliwia dostosowanie się
TCP do warunków w sieci.
Inny powinien być czas
czas
Węzeł 1 Węzeł 2
Retransmisja
Zgubienie
pakietu
ACK2
ACK3
pakiet3
pakiet3
Inny powinien być czas
retransmisji dla sieci LAN
inny dla WAN
Cza
s retra
nsm
isji
Bufory, kontrola przepływu, okna:
• Bufor to określony rozmiar pamięci przeznaczony na cele komunikacyjne.
• Okno to aktualny rozmiar wolnej pamięci w buforze. Propozycja okna to przysłane przez buforze. Propozycja okna to przysłane przez odbiorcę rozmiar okna gotowego do przyjęcia danych. Przy zapełnieniu bufora odbiorcy może dojść do sytuacji oferty zerowego okna. Wtedy nadawca musi wstrzymać nadawanie.
• Mechanizm okien wykorzystywany jest do kontroli przepływu.
Mechanizm kontroli przeciążeń:
• Jako miara przeciążenia używana jest liczba
utraconych pakietów. Zamiast natychmiastowego
wysłania zagubionych pakietów (i ewentualnego
pogorszenia sytuacji) wysyłany jest pojedynczy pogorszenia sytuacji) wysyłany jest pojedynczy
komunikat, jeśli przyjdzie potwierdzenie wysyłane
są dwa komunikaty itd. aż do osiągnięcia połowy
okna odbiorcy.
• W przypadku przeciążenia zmniejszana
drastycznie jest prędkość nadawania – umożliwia
to rozładowanie przeciążenia.
Protokół TCP – podsumowanie:
• praca w trybie połączeniowym
• pełna niezawodność
• komunikacja punkt-punkt
• duplexowa wymiana danych
• interfejs strumieniowy
• efektywne nawiązanie połączenia
• poprawne zakończenie połączenia
• Podstawowe informacje o stanie
28
• Podstawowe informacje o stanie
podsystemu sieciowego
Polecenie netstat w Windows i Linux służy do
wyświetlania informacji o stanie podsystemu
sieciowego:
• netstat –na• netstat –na
• netstat –se
• netstat –r
•Co to przemysłowa sieć
33
•Co to przemysłowa sieć
informatyczna?
•Czym jest Ethernet przemysłowy?
Przemysłowe Sieci Informatyczne
• Są to sieci dedykowane do komunikacji w ściśle określonych warunkach (np. przemysłowych) oraz spełniające określone wymagania (np. postulat pracy w czasie rzeczywistym – deterministyczny czas przesyłania danych).w czasie rzeczywistym – deterministyczny czas przesyłania danych).
• Nie są to sieci ogólnego przeznaczenia. Nie posiadają cech uniwersalności, a raczej ściśle dostosowane są do warunków, w których mają umożliwiać efektywne przesyłanie danych.
• Współczesna automatyka (systemy rozproszone) szeroko wykorzystuje przemysłowe sieci informatyczne.
Ethernet przemysłowy
• Dlaczego klasyczny Ethernet nie jest siecią czasu rzeczywistego?
• Metody „uprzemysławiania” Ethernetu.
• Czy spełnienie postulatu czasu rzeczywistego jest konieczne we wszelkich aspektach sieci przemysłowych?
Ethernet przemysłowy
• Od wielu lat, Ethernet zaczyna zdobywać coraz
liczniejszą rzeszę zwolenników jego stosowania w
automatyce jako sposób na ujednolicenie automatyce jako sposób na ujednolicenie
platformy sterowania i wymiany danych w
przedsiębiorstwie. Pomimo swoich wad, jak
chociażby brak determinizmu, posiada wiele
zalet.
Zalety Ethernetu jako sieci przemysłowej:
• duża prędkość w porównaniu z protokołami firmowymi (do 1 GB/s i więcej w przyszłości)
• możliwość wykorzystania popularnego okablowania miedzianego (skrętka kat. 5/6) lub światłowodów
• duże odległości między węzłami i punktami sieci dzięki światłowodowym (sieć lokalna może być zarazem siecią rozległą geograficznie) (sieć lokalna może być zarazem siecią rozległą geograficznie)
• możliwość wykorzystania dużej różnorodności już istniejącego sprzętu sieciowego, tańszego od odpowiedników dedykowanych sieciom fieldbus,
• możliwość budowy sieci składających się ze znacznie większej ilości punktów, urządzenia mogą komunikować się w trybie każdy-z-każdym(ver. tryb master-slave)
• duża skalowalność sieci, łatwość udostępniania danych w informatycznej sieci ogólnozakładowej i internecie,
• technologia ethernet jest ogólnie znana i nie wymaga specjalistycznej wiedzy.
Wady Ethernetu jako sieci przemysłowej:
• brak determinizmu: protokół TCP nie jest przystosowany do pracy w czasie
rzeczywistym,
• brak stałych opóźnień,
• występujące kolizje pakietów.
Eliminacja wad Ethernetu:Eliminacja wad Ethernetu:
• Kolizje wyeliminowano poprzez zastosowanie przełączników, w których każdy port
posiada swoje pasmo, nie kolidujące z innymi portami.
• Zastosowano czasowe znaczniki pakietów i synchronizację transmisji w wielu
urządzeniach równocześnie, poprzez wbudowanie w przełączniki zegarów. Protokoły
synchronizujące zegary to NTP (Network Time Protocol) i SNTP (Simple Network
Time Protocol), oraz najbardziej dokładny - IEEE 1588. Pozwala on na synchronizację
z dokładnością poniżej 1 ms.
• Wprowadzono protokoły oparte na fizycznej warstwie ethernetu, znacznie skracając
czas odpowiedzi i jitter (zmienność opóźnienia), zbliżając ethernet do sieci czasu
rzeczywistego. Wymaga to jednak zastosowania dedykowanych urządzeń i
konwerterów do ethernetu TCP/IP.
• Przykłady przemysłowych sieci
39
• Przykłady przemysłowych sieci
informatycznych…
Wśród wielu istniejących protokołów opartych na fizycznej warstwie Ethernetu, do najpopularniejszych można zaliczyć:
• Modbus/TCP - wspierany przez Modbus-IDA. Jest to dobrze znany Modbus w sieci TCP/IP, oparty na architekturze master/slave lub client/server.
• EtherNet/IP - wspierany przez ODVA i ControlNet. Używa Common• EtherNet/IP - wspierany przez ODVA i ControlNet. Używa CommonInterface Protocol (CIP), który jest wspólny dla sieci Ethernet/IP, ControlNet i DeviceNet. W sieci Ethernet/IP, wymiana danych krytycznych czasowo oparta jest na modelu producer/consumer. Największą zaletą tego modelu jest większa efektywność wykorzystania pasma. Dane konfiguracyjne, diagnostyczne i I/O przesyłane są przez standardowy ethernet.
• Ethernet Powerlink - wspierany przez EPSG. Ethernet Powerlink składa się z podsieci (domen) czasu rzeczywistego. Aby uniknąć kolizji, mechanizm CSMA/CD jest wyłączony. Dostęp do sieci jest podzielony na cykliczne szczeliny czasowe, przydzielane każdemu punktowi sieci przez stację zarządzającą.
• Profinet - wspierany przez PRPFIBUS International. Profinet pozwala na integrację w jednej sieci prostych urządzeń polowych oraz aplikacji krytycznych czasowo. Komunikacja ma trzy poziomy wydajności: TCP, UDP i IP dla danych niekrytycznych czasowo, Soft Real Time (SRT) dla danych krytycznych czasowo, izochroniczny tryb Real Time (IRT) do wyjątkowo wymagających zastosowań. Jako elementy aktywne wykorzystywane są switche.
• EtherCAT - wspierany przez EtherCAT Technology Group. Protokół • EtherCAT - wspierany przez EtherCAT Technology Group. Protokół wykorzystuje ramki ethernet. Interpretacja danych odbywa się "w locie", w pełni sprzętowo. EtherCAT osiąga 1000 I/O binarnych w 30µs.
• Sercos III - wspierany przez SERCOS International e. V. Protokół wykorzystywany do wymiany informacji między sterownikami i napędami. Podobny do EtherCAT ale poddany większym restrykcjom.
Bibliografia
[1] Sieci komputerowe i intersieci, Douglas E. Comer, WNT, 2000
[2] Sieci komputerowe, Andrew S. Tanenbaum, Helion, 2004
[3] Okablowanie strukturalne sieci, Rafał Pawlak, Helion, 2006
[4] Wydanie specjalne miesięcznika NetWorld Vademecum
Teleinformatyka - Sieci komputerowe, Indeks 328820; ISSN Teleinformatyka - Sieci komputerowe, Indeks 328820; ISSN
1232-8732, Czerwiec 1998
[5] Ethernet – sieci, mechanizmy, Krzysztof Nowicki, Infotech, 2006
[6] Wojciech Mielczarek, Szeregowe interfejsy cyfrowe, Helion 1993
Dziękuję za uwagę !!!Dziękuję za uwagę !!!
43