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:09] – 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, | ||
| * opcje. | * opcje. | ||
| - | * **Segment** TCP | + | * Pojedyncze wiadomości TCP nazywa się **segmentami** < |
| - | * **Strumieniowy** – strumień | + | * **Strumieniowy** – przenosi |
| - | * **Kontrola przepływu**, | + | * **Kontrola przepływu**, |
| * Buforowanie | * Buforowanie | ||
| - | * **Połączeniowy** (punkt-punkt) i **stanowy** [[http:// | + | * **Połączeniowy** (punkt-punkt) i **stanowy** |
| * nawiązanie połączenia, | * nawiązanie połączenia, | ||
| * podtrzymywanie połączenia, | * podtrzymywanie połączenia, | ||
| * zakończenie połączenia, | * zakończenie połączenia, | ||
| - | * zerwanie połączenia, | + | * zerwanie połączenia. |
| - | * [[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. | ||
| | | ||
| - | * [extra] [[http:// | + | < |
| - | + | < | |
| Protokoły / programy używające TCP - " | Protokoły / programy używające TCP - " | ||
| ===== Inne protokoły warstwy transportu ===== | ===== Inne protokoły warstwy transportu ===== | ||
| - | UDPlite\\ | + | |
| - | DCCP\\ | + | Poza TCP (75%-95% |
| - | SCTP | + | * UDP-lite |
| + | * DCCP | ||
| + | | ||
sk1/transport.1462831787.txt.gz · Last modified: (external edit)