Sieci Komputerowe i Technologie Internetowe (SKiTI) · Sieci Komputerowe i Technologie Internetowe...

Post on 28-Feb-2019

215 views 0 download

Transcript of Sieci Komputerowe i Technologie Internetowe (SKiTI) · Sieci Komputerowe i Technologie Internetowe...

© 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