sk1:transport
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sk1:transport [2016/05/09 22:20] – jkonczak | sk1:transport [2018/05/13 21:42] (current) – [TCP] jkonczak | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ====== Protokoły warstwy transportowej ====== | ====== Protokoły warstwy transportowej ====== | ||
| - | Przypomnienie: skąd wiadomo jaki jest używany | + | Przypomnienie skąd wiadomo jaki protokół warstwy transportowej |
| Lista przydzielonych numerów protokołów | Lista przydzielonych numerów protokołów | ||
| Line 11: | Line 11: | ||
| ===== Port, połączenie ===== | ===== Port, połączenie ===== | ||
| - | System operacyjny wybiera do jakiego programu ma trafić wiadomość na podstawie **numeru portu** – adresu na warstwie transportowej.\\ | + | System operacyjny wybiera do jakiego programu ma trafić wiadomość na podstawie |
| - | < | + | |
| + | Program który chce używać sieci może: | ||
| + | * **nasłuchiwać** – czekać na nowe wiadomości / nowe połączenia – nazywa się go wtedy **serwerem** | ||
| + | * wysłać wiadomość / połączyć się pod wskazany adres – nazywa się go wtedy **klientem** | ||
| + | |||
| + | Żeby system operacyjny wiedział który proces czeka na wiadomości kierowane na konkretny port (nasłuchuje), proces musi wpierw zażądać nasłuchiwania na wybranym porcie. | ||
| Lista domyślnych portów: | Lista domyślnych portów: | ||
| Line 25: | Line 31: | ||
| * portu lokalnego. | * portu lokalnego. | ||
| - | Protokoły warstwy transportowej używają zwykle numerów portu z zakresu 0÷65535.\\ | + | Protokoły warstwy transportowej używają zwykle numerów portu z zakresu |
| - | Ten zakres jest podzielony na porty: | + | Ten zakres jest podzielony na porty [[https:// |
| - | * uprzywilejowane (system / well-known / privileged) – 1÷1023 | + | * uprzywilejowane (system / well-known / privileged) – 1÷1023 |
| - | * // | + | * // |
| - | * efemeryczne (dynamic / private / ephemeral) | + | * efemeryczne (dynamic / private / ephemeral) – < |
| | | ||
| ===== Monitorowanie bieżących połączeń ===== | ===== Monitorowanie bieżących połączeń ===== | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| + | Przełączniki dla netstat / ss: | ||
| + | ┌ (domyślnie) tylko już nawiązane połączenia | ||
| + | │ -l | ||
| + | └ -a | ||
| + | ┌ (domyślnie) wszystkie wspierane protokoły sieciowe | ||
| + | │ -t | ||
| + | └ -u | ||
| + | -p nazwa i pid programu do którego należy połączenie | ||
| + | -n | ||
| + | Więcej: netstat -h / ss -h | ||
| + | </ | ||
| * ''/ | * ''/ | ||
| + | |||
| + | < | ||
| + | # netstat -atunp | ||
| + | Active Internet connections (servers and established) | ||
| + | Proto Recv-Q Send-Q Local Address | ||
| + | <span title=" | ||
| + | tcp 0 0 <span title=" | ||
| + | tcp 0 0 <span title=" | ||
| + | <span title=" | ||
| + | tcp 0 0 <span title=" | ||
| + | <span title=" | ||
| + | <span title=" | ||
| + | udp 0 0 10.0.1.1: | ||
| + | <span title=" | ||
| + | </ | ||
| ===== Testowanie łączności na warstwie aplikacji | ===== Testowanie łączności na warstwie aplikacji | ||
| Line 41: | Line 73: | ||
| < | < | ||
| - | Najpopularniejszy program netcat / nc ma wiele wersji, między innymi: | + | |
| + | Najpopularniejszy program netcat / nc ma wiele wersji | ||
| + | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | | + | * [[http:// |
| - | | + | |
| * [[http:// | * [[http:// | ||
| < | < | ||
| ^ ^ < | ^ ^ < | ||
| - | | TCP|< | + | | TCP|< |
| | UDP|< | | UDP|< | ||
| Mniej popularny, bardziej rozbudowany (i wciąż rozwijany) [[http:// | Mniej popularny, bardziej rozbudowany (i wciąż rozwijany) [[http:// | ||
| ^ ^ Serwer | ^ ^ Serwer | ||
| - | | | + | | |
| - | | | + | | |
| - | | | + | | |
| - | | SCTP|'' | + | | SCTP|'' |
| + | Zamiast '' | ||
| < | < | ||
| - | Adresy IPv6 podaje się w nawiasach kwadratowych | + | Adresy IPv6 podaje się w nawiasach kwadratowych, |
| - | Inne przykłady: | + | ++++ Przykłady: |
| - | * Przykład | + | * HTTP: Wyślij na port 80 adresu www.put.poznan.pl |
| - | </code> (pusta linia ma znaczenie) | + | </pre></ |
| - | * < | + | * Uruchom '' |
| - | * < | + | * Dowiedz się po co socat ma dwa argumenty: '' |
| - | * < | + | * FTP: Przez połączenie '' |
| - | * < | + | |
| PASS anonymous | PASS anonymous | ||
| EPSV</ | EPSV</ | ||
| QUIT</ | QUIT</ | ||
| - | < | + | |
| + | ++++ | ||
| ====== UDP ====== | ====== UDP ====== | ||
| Line 87: | Line 121: | ||
| | | ||
| Wielkość **datagramów** ograniczona do 64k (zwykle wysyła się mniejsze). | Wielkość **datagramów** ograniczona do 64k (zwykle wysyła się mniejsze). | ||
| - | |||
| - | Realizuje dokładnie zadania warstwy transportu w modelu ISO/OSI | ||
| < | < | ||
| Line 96: | Line 128: | ||
| ====== TCP ====== | ====== TCP ====== | ||
| Nagłówek TCP - [[http:// | Nagłówek TCP - [[http:// | ||
| - | * flagi - syn, ack, fin, rst [[http:// | + | * flagi - syn, ack, fin, rst [[http:// |
| * numery sekwencyjne i numery potwierdzenia, | * numery sekwencyjne i numery potwierdzenia, | ||
| * rozmiar okna, | * rozmiar okna, | ||
| Line 112: | Line 144: | ||
| * **[[http:// | * **[[http:// | ||
| - | * Relizuje zadania warstwy transportu i sesji (!) w modelu ISO/OSI, | ||
| * na jego podstawie zdefiniowana jest warstwa transportowa w modelu TCP/IP. | * na jego podstawie zdefiniowana jest warstwa transportowa w modelu TCP/IP. | ||
| | | ||
| - | < | + | < |
| < | < | ||
| Line 123: | Line 154: | ||
| Poza TCP (75%-95% | Poza TCP (75%-95% | ||
| - | * UDPlite | + | * UDP-lite |
| * DCCP | * DCCP | ||
| * SCTP | * SCTP | ||
sk1/transport.1462832456.txt.gz · Last modified: (external edit)