Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Podobne dokumenty
Sieci komputerowe - Protokoły warstwy transportowej

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

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

Programowanie sieciowe

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Dr Michał Tanaś(

MODEL WARSTWOWY PROTOKOŁY TCP/IP

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

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Sieci komputerowe - warstwa transportowa

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

1. Model klient-serwer

Warstwa transportowa

Laboratorium Sieci Komputerowych - 2

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

Architektura aplikacji sieciowych. Architektura klient-serwer

Stos TCP/IP Warstwa transportowa Warstwa aplikacji cz.1

Warstwa transportowa. mgr inż. Krzysztof Szałajko

Protokoły sieciowe - TCP/IP

Sieci komputerowe Wykład dla studentów Informatyki Stosowanej studia niestacjonarne

Sieci komputerowe Warstwa transportowa

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

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

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

PROTOKOŁY WARSTWY TRANSPORTOWEJ

Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński.

Programowanie współbieżne i rozproszone

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Bazy Danych i Usługi Sieciowe

pasja-informatyki.pl

Programowanie Sieciowe 1

Programowanie w Internecie

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Transmisja bezpołączeniowa i połączeniowa

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Adresy w sieciach komputerowych

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Sieci Komputerowe Protokół TCP

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

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

I.Wojnicki, Tech.Inter.

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Którą normę stosuje się dla okablowania strukturalnego w sieciach komputerowych?

I.Wojnicki, JiTW. Języki i Technologie Webowe. Protokół HTTP, Przegladarki. Igor Wojnicki

Programowanie w Internecie

Technologie internetowe

Klasy adresów IP. Model ISO - OSI. Subnetting. OSI packet encapsulation. w.aplikacji w.prezentacji w.sesji w.transportowa w.

Model sieci OSI, protokoły sieciowe, adresy IP

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Technologie cyfrowe semestr letni 2018/2019

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Architektura INTERNET

Sieci Komputerowe Model DoD TCP/IP

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

DNS - jest "klejem" łączącym adresy sieciowe z obiektami (komputerami / host'ami) z nazwami jakimi się posługują wszyscy użytkownicy.

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Moduł 11.Warstwa transportowa i aplikacji Zadaniem warstwy transportowej TCP/IP jest, jak sugeruje jej nazwa, transport danych pomiędzy aplikacjami

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Warsztaty z Sieci komputerowych Lista 1

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Wdrażanie i zarządzanie serwerami zabezpieczającymi Koncepcja ochrony sieci komputerowej

TIN Techniki Internetowe zima

Charakterystyka grupy protokołów TCP/IP

To systemy połączonych komputerów zdolnych do wzajemnego przesyłania informacji, do dzielenia się zasobami, udostępniania tzw.

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Klient-Serwer Komunikacja przy pomocy gniazd

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

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Zadanie 6. Ile par przewodów jest przeznaczonych w standardzie 100Base-TX do transmisji danych w obu kierunkach?

ZiMSK. mgr inż. Artur Sierszeń mgr inż. Łukasz Sturgulewski ZiMSK 1

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

Podstawy sieci komputerowych

Bazy Danych i Usługi Sieciowe

Bezpieczeństwo systemu GNU/Linux - podstawy. Robert Jaroszuk <zim@iq.pl>

Całkowita długość nagłówka zróżnicowane. Numer identyfikacyjny Flagi Przesunięcie

PBS. Wykład Organizacja zajęć. 2. Podstawy obsługi urządzeń wykorzystywanych podczas laboratorium.

Sieci komputerowe Warstwa aplikacji

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

IP Spoofing is still alive... Adam Zabrocki ( nie działa ;) ) pi3@itsec.pl (lub oficjalnie: adam@hispasec.com)

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Administracja serwerami

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

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

1. Informacje ogólne: 2. Standardy TCP/IP. 2.1 Adresowanie IPv4

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Adresy URL. Zaawansowane technologie Javy 2019

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Qt in Education. Sieć I drukowanie

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Sieci Komputerowe Modele warstwowe sieci

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Transkrypt:

Sieci komputerowe Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Warstwa transportowa Sieci Komputerowe, T. Kobus, M. Kokociński 2

Sieci Komputerowe, T. Kobus, M. Kokociński 3 Warstwa transportowa - Zapewnienia bezbłędną komunikację między komputerami (end-to-end). - Odpowiada za dzielenie danych na fragmenty i kontrolę ich przesyłania. - Ustanawia wirtualne połączenia, utrzymuje je i poźniej likwiduje. - Przykładowe standardy: - TCP - UDP - UDPlite - DCCP - SCTP

Sieci Komputerowe, T. Kobus, M. Kokociński 4 Połączenia w warstwie transportowej Połączenie jest identyfikowane przez: - adres lokalny, port lokalny, - protokół, - adres zdalny, port zdalny. Połączeniom w systemie op. odpowiadają gniazda (sockets). Port: - 16-bitowy identyfikator usługi/aplikacji/procesu działajacego na konkretnym urządzeniu (na konkretnym adresie IP): 1 1023 uprzywilejowane (system/well-known/privileged) 1024 49151 zarejestrowane (user/registered) 49152 65535 efemeryczne (dynamic/private/ephemeral) - lista numerów portów przydzielona do usług przez IANA (link), - lista podstawowych numerów portów /etc/services.

Sieci Komputerowe, T. Kobus, M. Kokociński 5 Aktywne połączenia (1) # netstat -tunap Active Internet connections (servers and established) Prot RQ SQ Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 1618/dropbox tcp 0 0 127.0.0.1:17600 0.0.0.0:* LISTEN 1618/dropbox tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 972/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 971/cupsd tcp 38 0 150.254.31.4:55148 108.160.172.204:443 CLOSE_WAIT 1618/dropbox tcp 0 0 150.254.31.4:47070 108.160.163.108:443 ESTABLISHED 1618/dropbox tcp 0 0 150.254.31.4:55904 64.233.162.189:443 ESTABLISHED 1855/opera tcp 0 0 150.254.31.4:55802 54.192.228.32:443 ESTABLISHED 1618/dropbox... tcp6 0 0 :::22 :::* LISTEN 972/sshd tcp6 0 0 ::1:631 :::* LISTEN 971/cupsd udp 0 0 0.0.0.0:17500 0.0.0.0:* 1618/dropbox udp 0 0 0.0.0.0:50321 0.0.0.0:* 751/avahi-daemon udp 0 0 0.0.0.0:5353 0.0.0.0:* 751/avahi-daemon udp 0 0 0.0.0.0:2046 0.0.0.0:* 1277/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 1277/dhclient udp6 0 0 :::39661 :::* 1277/dhclient

Sieci Komputerowe, T. Kobus, M. Kokociński 6 Aktywne połączenia (2) # netstat -tunap grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 972/sshd tcp 0 0 150.254.31.4:60824 150.254.30.50:22 ESTABLISHED 3985/ssh tcp6 0 0 :::22 :::* LISTEN 972/sshd # netstat -tuap grep ssh tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 972/sshd tcp 0 0 dcs-rw-2.cs.put.p:60824 hpc.cs.put.poznan.p:ssh ESTABLISHED 3985/ssh tcp6 0 0 [::]:ssh [::]:* LISTEN 972/sshd

Sieci Komputerowe, T. Kobus, M. Kokociński 7 Zadanie 1 1. Przy pomocy programu netstat zbadaj, na jakich portach uruchamiane są serwery: - HTTP, - HTTPS, - FTP, - telnet, - DNS.

Sieci Komputerowe, T. Kobus, M. Kokociński 8 User Datagram Protocol (UDP) - Bezpołączeniowy protokół transportowy. - Brak kontroli przepływu i gwarancji dostarczenia weryfikacja niezawodności w komunikacji musi być implementowana przez aplikacje. - Weryfikacja integralności przez sumy kontrolne. - Struktura nagłówka datagramu: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Source port Length Destination port Checksum - Protokoły/programy wykorzystujące UDP: - DNS - DHCP - RIP - strumieniowanie multimediów - gry sieciowe

Sieci Komputerowe, T. Kobus, M. Kokociński 9 Transmission Control Protocol (TCP) (1) - Połączeniowy protokół sterowania transmisją. - Kontrola przepływu (strumień), potwierdzenia, buforowanie. - Struktura nagłówka segmentu: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Source port Destination port Data offset Reserved NS CWR ECE URG ACK PSH RST SYN FIN Checksum Sequence number Window size Urgent pointer (if URG set) Options (if data offset > 5; padded at the end with 0 bytes if necessary) - Protokoły/programy wykorzystujące TCP: - HTTP - HTTPS - SMTP - POP3 - IMAP - SSH - FTP

Transmission Control Protocol (TCP) (2) Sieci Komputerowe, T. Kobus, M. Kokociński 10

ch: 10B] ACK, seq=b+1, ack=a+53 [danych: 20B] Transmission Control Protocol (TCP) (3) ACK, seq=a+53, ack=b+21 [danych: 0B] SYN, seq=a LISTEN ACK, seq=c, ack=d SYN-SENT Δt=0 ESTABLISHED SYN, ACK, seq=b, ack=a+1 ACK, seq=a+1, ack=b+1 ACK, seq=a+1, ack=b+1 [danych: 42B] ACK, seq=b+1, ack=a+43 [danych: 0B] Δt=0 SYN-RCVD ESTABLISHED FIN-WAIT 1 (nic nie dotarło) FIN-WAIT 2 (dotarł ACK pakietu z FIN) CLOSING (dotarł FIN z drugej strony) [danych: 1448B] ACK, seq=d, ack=c+1448 window size=w [danych: 0B] FIN, ACK, seq=e, ack=f FIN, ACK, seq=f+1, ack=e+1 ACK, seq=a+43, ack=b+1 [danych: 10B] ACK, seq=b+1, ack=a+53 [danych: 20B] TIME-WAIT Δt=0 ACK, seq=e+1, ack=f+1 LAST-ACK CLOSE-WAIT ACK, seq=a+53, ack=b+21 [danych: 0B] ACK, seq Rysunek w całości: link Sieci Komputerowe, T. Kobus, M. Kokociński 11

Sieci Komputerowe, T. Kobus, M. Kokociński 12 Operacje na gniazdach ncat jak cat, ale dla gniazd a nie dla plików - kopiowanie danych przez sieć, - przekierowywanie ruchu dla istniejących połączeń, - tworzenie prostych usług i klientów usług, -... (server) # ncat -l 127.0.0.1 74 > out.txt (client) # ncat 127.0.0.1 74 < in.txt

Sieci Komputerowe, T. Kobus, M. Kokociński 13 Zadanie 2 Połączenie TCP (server) # ncat -l 127.0.0.1 74... [ENTER] (client) # ncat 127.0.0.1 74... [ENTER] Połączenie UDP (server) # ncat -ul 127.0.0.1 74... [ENTER] (client) # ncat -u 127.0.0.1 74... [ENTER] 1. Co widać w wiresharku? 2. Co pokazuje netstat (na różnych etapach uruchomienia programów)? 3. Kto pierwszy może pisać, klient czy serwer? 4. Jaka usługa jest przypisana do portu 74 (patrz /etc/services)?

Sieci Komputerowe, T. Kobus, M. Kokociński 14 Serwer stron WWW (1) http://www.cs.put.poznan.pl/tkobus # ncat www.cs.put.poznan.pl 80 GET /tkobus/ HTTP/1.0 [ENTER] [ENTER] HTTP/1.1 200 OK Date: Fri, 04 Dec 2015 13:15:54 GMT Server: Apache Last-Modified: Fri, 20 Nov 2015 22:02:53 GMT ETag: "191a67-2887-52500097d7d40" Accept-Ranges: bytes Content-Length: 10375 Connection: close Content-Type: text/html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">... </html>

Sieci Komputerowe, T. Kobus, M. Kokociński 15 Serwer stron WWW (2) hello.html: <html> <body> <font color="green">hello world!</font> </body> </html> # ncat -l 127.0.0.1 80 < hello.html

Sieci Komputerowe, T. Kobus, M. Kokociński 15 Serwer stron WWW (2) hello.html: <html> <body> <font color="green">hello world!</font> </body> </html> # ncat -l 127.0.0.1 80 < hello.html GET / HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9, image/webp,*/*;q=0.8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 OPR/33.0.1990.58 Accept-Encoding: gzip, deflate, lzma, sdch Accept-Language: en-us,en;q=0.8

Sieci Komputerowe, T. Kobus, M. Kokociński 16 Serwer stron WWW (3) Wiele połączeń: -k, --keep-open # ncat -lk 127.0.0.1 80 -c echo -e "HTTP/1.1 200 OK\n"; cat hello.html # ncat -o out -lk 127.0.0.1 80 -c \ echo -e "HTTP/1.1 200 OK\n"; \ echo -e "<html><body>it is $(date)</body></html>"

Sieci Komputerowe, T. Kobus, M. Kokociński 17 Inne fajne przykłady # ncat -lk 127.0.0.1 8081 -c while true; do read i && echo [echo] $i; done # ncat -lk 192.168.1.101 8081 --max-conns 3 --allow 192.168.1.0/24 --exec "/bin/bash" (server) # ncat -l 127.0.0.1 74 --chat (client) # ncat 127.0.0.1 74