Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałKaja Tobolski Został zmieniony 10 lat temu
1
Protokół UDP i TCP – Transfer Control Protocol
2
1. Protokół UDP 2. Format UDP 3. Kapsułkowanie UDP 4. Multipleksowanie i demultipleksowanie 5. TCP – Transfer Control Protocol 6. Sliding window 7. Segment TCP 8. Porty i połączenia 9. Porty i połączenia
3
Protokół UDP UDP - User Datagram Protocol – protokół datagramów użytkownika zapewnia porty protokołów używane do rozróżniania programów wykonywanych na pojedynczej maszynie. Oprócz danych każdy komunikat zawiera numer portu odbiorcy i numer portu nadawcy, dzięki czemu UDP może dostarczyć komunikat do właściwego adresata. Do przesyłania komunikatów UDP używa podstawowego protokołu IP i ma tę samą niepewną semantykę dostarczania datagramów co IP. Dlatego komunikaty UDP mogą być gubione, duplikowane lub przychodzić w innej kolejności. Program korzystający z UDP musi zadbać o rozwiązanie takich problemów.
4
W PAMIĘCI CMOS PRZECHOWYWANE SĄ WSZELKIE NIEZBĘDNE INFORMACJE O KONFIGURACJI SPRZĘTOWEJ KOMPUTERA, DACIE I CZASIE, KTÓE KAŻDORAZOWO PO WŁĄCZENIU KOMPUTERA, ODCZYTUJE PROCEDURA DIAGNOSTYCZNA POST. POBRANE DANE PORÓWNYWANE SĄ Z FAKTYCZNYM STANEM KOMPUTERA. W SKŁAD PODSTAWOWEGO OPISU KONFIGURACJI SPRZETOWEJ WCHODZĄ INFORMACJE O RODZAJACH ZAINSTALOWANYCH DYSKÓW ELASTYCZNYCH, PARAMETRACH DYSKÓW TWARDYCH(LICZBIE GŁOWIC, ŚCIEŻEK I SEKTORÓW)ORAZ INFORMACJI O OBECNOŚCI KOPROCESORA. PIERWSZE PAMIĘCI CMSO,PRODUKOWANE PRZEZ FIRMĘ MOTOROLLA DLA IBM, MIAŁA WIELKOŚC 64KB. OBECNE PAMIĘCI CMOS RÓŻNIĄ SIĘ OD POPRZEDNICZEK M.IN. ZAIMPLEMENTOWANYMI FUNKCJAMI PŁUG AND PLAY.ZAWIERAJĄ TEŻ WIELE DODATKOWYCH FUNKCJI ZARZĄDZAJĄCYCH ZASOBAMI KOMPUTERA, TAKICH JAK NP. WYBUR RODZAJU ZŁĄCZA KARTY GRAFICZNEJ, KTÓRA BĘDZIE PIERWSZA W KOLEJNOŚCI INICJALIZOWANA, WŁĄCZENIE I WYŁĄCZENIE ZINTEGROWANEGO Z PŁYTĄ PROCESORA DZWIĘKOWEGO ITP.W PAMIĘCI CMOS PRZECHOWYWANE SĄ WSZELKIE NIEZBĘDNE INFORMACJE O KONFIGURACJI SPRZĘTOWEJ KOMPUTERA, DACIE I CZASIE, KTÓE KAŻDORAZOWO PO WŁĄCZENIU KOMPUTERA, ODCZYTUJE PROCEDURA DIAGNOSTYCZNA POST. POBRANE DANE PORÓWNYWANE SĄ Z FAKTYCZNYM STANEM KOMPUTERA. W SKŁAD PODSTAWOWEGO OPISU KONFIGURACJI SPRZETOWEJ WCHODZĄ INFORMACJE O RODZAJACH ZAINSTALOWANYCH DYSKÓW ELASTYCZNYCH, PARAMETRACH DYSKÓW TWARDYCH(LICZBIE GŁOWIC, ŚCIEŻEK I SEKTORÓW)ORAZ INFORMACJI O OBECNOŚCI KOPROCESORA. PIERWSZE PAMIĘCI CMSO,PRODUKOWANE PRZEZ FIRMĘ MOTOROLLA DLA IBM, MIAŁA WIELKOŚC 64KB. OBECNE PAMIĘCI CMOS RÓŻNIĄ SIĘ OD POPRZEDNICZEK M.IN. ZAIMPLEMENTOWANYMI FUNKCJAMI PŁUG AND PLAY.ZAWIERAJĄ TEŻ WIELE DODATKOWYCH FUNKCJI ZARZĄDZAJĄCYCH ZASOBAMI KOMPUTERA, TAKICH JAK NP. WYBUR RODZAJU ZŁĄCZA KARTY GRAFICZNEJ, KTÓRA BĘDZIE PIERWSZA W KOLEJNOŚCI INICJALIZOWANA, WŁĄCZENIE I WYŁĄCZENIE ZINTEGROWANEGO Z PŁYTĄ PROCESORA DZWIĘKOWEGO ITP. Format UDP Komunikat UDP nazywany jest datagramem użytkownika. Nagłówek składa się z czterech 16-bitowych pól: PORT NADAWCY i PORT ODBIORCY DŁUGOŚĆ – liczba bajtów datagramu wliczając nagłówek i dane. SUMA KONTROLNA Port UDP nadawcyPort UDP odbiorcy Długość komunikatu UDP Suma kontrolna UDP dane
5
W PAMIĘCI CMOS PRZECHOWYWANE SĄ WSZELKIE NIEZBĘDNE INFORMACJE O KONFIGURACJI SPRZĘTOWEJ KOMPUTERA, DACIE I CZASIE, KTÓE KAŻDORAZOWO PO WŁĄCZENIU KOMPUTERA, ODCZYTUJE PROCEDURA DIAGNOSTYCZNA POST. POBRANE DANE PORÓWNYWANE SĄ Z FAKTYCZNYM STANEM KOMPUTERA. W SKŁAD PODSTAWOWEGO OPISU KONFIGURACJI SPRZETOWEJ WCHODZĄ INFORMACJE O RODZAJACH ZAINSTALOWANYCH DYSKÓW ELASTYCZNYCH, PARAMETRACH DYSKÓW TWARDYCH(LICZBIE GŁOWIC, ŚCIEŻEK I SEKTORÓW)ORAZ INFORMACJI O OBECNOŚCI KOPROCESORA. PIERWSZE PAMIĘCI CMSO,PRODUKOWANE PRZEZ FIRMĘ MOTOROLLA DLA IBM, MIAŁA WIELKOŚC 64KB. OBECNE PAMIĘCI CMOS RÓŻNIĄ SIĘ OD POPRZEDNICZEK M.IN. ZAIMPLEMENTOWANYMI FUNKCJAMI PŁUG AND PLAY.ZAWIERAJĄ TEŻ WIELE DODATKOWYCH FUNKCJI ZARZĄDZAJĄCYCH ZASOBAMI KOMPUTERA, TAKICH JAK NP. WYBUR RODZAJU ZŁĄCZA KARTY GRAFICZNEJ, KTÓRA BĘDZIE PIERWSZA W KOLEJNOŚCI INICJALIZOWANA, WŁĄCZENIE I WYŁĄCZENIE ZINTEGROWANEGO Z PŁYTĄ PROCESORA DZWIĘKOWEGO ITP.W PAMIĘCI CMOS PRZECHOWYWANE SĄ WSZELKIE NIEZBĘDNE INFORMACJE O KONFIGURACJI SPRZĘTOWEJ KOMPUTERA, DACIE I CZASIE, KTÓE KAŻDORAZOWO PO WŁĄCZENIU KOMPUTERA, ODCZYTUJE PROCEDURA DIAGNOSTYCZNA POST. POBRANE DANE PORÓWNYWANE SĄ Z FAKTYCZNYM STANEM KOMPUTERA. W SKŁAD PODSTAWOWEGO OPISU KONFIGURACJI SPRZETOWEJ WCHODZĄ INFORMACJE O RODZAJACH ZAINSTALOWANYCH DYSKÓW ELASTYCZNYCH, PARAMETRACH DYSKÓW TWARDYCH(LICZBIE GŁOWIC, ŚCIEŻEK I SEKTORÓW)ORAZ INFORMACJI O OBECNOŚCI KOPROCESORA. PIERWSZE PAMIĘCI CMSO,PRODUKOWANE PRZEZ FIRMĘ MOTOROLLA DLA IBM, MIAŁA WIELKOŚC 64KB. OBECNE PAMIĘCI CMOS RÓŻNIĄ SIĘ OD POPRZEDNICZEK M.IN. ZAIMPLEMENTOWANYMI FUNKCJAMI PŁUG AND PLAY.ZAWIERAJĄ TEŻ WIELE DODATKOWYCH FUNKCJI ZARZĄDZAJĄCYCH ZASOBAMI KOMPUTERA, TAKICH JAK NP. WYBUR RODZAJU ZŁĄCZA KARTY GRAFICZNEJ, KTÓRA BĘDZIE PIERWSZA W KOLEJNOŚCI INICJALIZOWANA, WŁĄCZENIE I WYŁĄCZENIE ZINTEGROWANEGO Z PŁYTĄ PROCESORA DZWIĘKOWEGO ITP. Kapsułkowanie UDP Datagram UDP przed wysłaniem w sieć jest kapsułkowany w datagram IP. Nagłówek IP identyfikuje maszynę źródłową i docelową, nagłówek UDP – port nadawcy i port odbiorcy. U odbiorcy pakiet dociera do najniższej warstwy oprogramowania sieciowego i wędruje ku coraz wyższym warstwom. Każda z nich usuwa jeden nagłówek, więc oczekujący proces otrzymuje komunikat bez nagłówków. Datagram IP Komunikat UDP nagłówekdane (192.16872.54,3)
6
Multipleksowanie i demultipleksowanie Przy wysyłaniu komputer nadawcy dołącza do danych dodatkowe bity, które wskazują typ komunikatu, program, który go nadał oraz używane protokoły. Wszystkie komunikaty są umieszczane w przeznaczonych do przesyłania ramkach sieciowych i łączone w strumień pakietów. Przykładowo, gdy interfejs sieciowy zdemultipleksuje ramki i prześle te z nich, które zawierają datagramy IP do modułu IP, oprogramowanie IP wydobędzie z nich datagramy i dalej je zdemultipleksuje w warstwie IP. Aby zdecydować, w jaki sposób obsłużyć datagram, oprogramowanie sprawdza nagłówek datagramu i wybiera na podstawie typu datagramu odpowiednie procedury. W warstwie IP oprogramowanie IP wybiera odpowiednia procedurę obsługi na podstawie znajdującego się w nagłówku datagramu pola typu protokołu. Oprogramowanie UDP musi przyjmować datagramy UDP pochodzące od wielu programów użytkowych i przekazywać je warstwie IP w celu przesłania, a także odbierać datagramy UDP nadchodzące od warstwy IP i przekazywać odpowiednim programom użytkowym. Aby to zrealizować musi multipleksować datagramy UDP tak aby datagramy pochodzące z różnych portów mogły być przekazane do warstwy IP i demultipleksować datagramy przychodzące z warstwy IP tak by skierować je do właściwego portu. Rozróżnienie następuje przy pomocy pola PORT UDP NADAWCY i ODBIORCY.
7
TCP – Transfer Control Protocol Protokół IP jest odpowiedzialny za zawodne przesyłanie pakietów, co wymaga od programisty uwzględnienia w każdym programie obsługi błędów wynikających z niedostarczenia danych. Transfer Control Protocol (TCP), bierze odpowiedzialność za wiarygodne dostarczenie datagramu. Organizuje dwukierunkową współpracę między warstwą IP, a warstwami wyższymi, uwzględniając przy tym wszystkie aspekty priorytetów i bezpieczeństwa. Musi prawidłowo obsłużyć niespodziewane zakończenie aplikacji, do której właśnie wędruje datagram. Musi też bezpiecznie izolować warstwy wyższe od skutków awarii w warstwie protokołu IP. Warstwa TCP rezyduje powyżej warstwy IP, jednak tylko w węzłach sieci, w których są przetwarzane datagramy przez aplikacje, więc routery warstwy TCP nie posiadają. Z punktu widzenia aplikacji użytkownika TCP można potraktować jako wirtualny kanał realizujący komunikację między końcówkami. Rzeczywisty przepływ informacji odbywa się jednak przez warstwy IP i niższe. Aby zagwarantować, że dane przesyłane z jednej maszyny do drugiej nie są tracone ani duplikowane używa się podstawowej metody znanej jako pozytywne potwierdzanie z retransmisją. Metoda ta wymaga, aby odbiorca komunikował się z nadawcą, wysyłając mu w momencie otrzymania danych komunikat potwierdzenia (ACK). Nadawca zapisuje informację o każdym wysłanym pakiecie i przed wysłaniem następnego czeka na potwierdzenie. Oprócz tego nadawca uruchamia zegar w momencie wysyłania pakietu i wysyła ten pakiet ponownie gdy minie odpowiedni czas, a potwierdzenie nie nadejdzie.
8
TCP – Transfer Control Protocol Protokół IP jest odpowiedzialny za zawodne przesyłanie pakietów, co wymaga od programisty uwzględnienia w każdym programie obsługi błędów wynikających z niedostarczenia danych. Transfer Control Protocol (TCP), bierze odpowiedzialność za wiarygodne dostarczenie datagramu. Organizuje dwukierunkową współpracę między warstwą IP, a warstwami wyższymi, uwzględniając przy tym wszystkie aspekty priorytetów i bezpieczeństwa. Musi prawidłowo obsłużyć niespodziewane zakończenie aplikacji, do której właśnie wędruje datagram. Musi też bezpiecznie izolować warstwy wyższe od skutków awarii w warstwie protokołu IP. Warstwa TCP rezyduje powyżej warstwy IP, jednak tylko w węzłach sieci, w których są przetwarzane datagramy przez aplikacje, więc routery warstwy TCP nie posiadają. Z punktu widzenia aplikacji użytkownika TCP można potraktować jako wirtualny kanał realizujący komunikację między końcówkami. Rzeczywisty przepływ informacji odbywa się jednak przez warstwy IP i niższe. Aby zagwarantować, że dane przesyłane z jednej maszyny do drugiej nie są tracone ani duplikowane używa się podstawowej metody znanej jako pozytywne potwierdzanie z retransmisją. Metoda ta wymaga, aby odbiorca komunikował się z nadawcą, wysyłając mu w momencie otrzymania danych komunikat potwierdzenia (ACK). Nadawca zapisuje informację o każdym wysłanym pakiecie i przed wysłaniem następnego czeka na potwierdzenie. Oprócz tego nadawca uruchamia zegar w momencie wysyłania pakietu i wysyła ten pakiet ponownie gdy minie odpowiedni czas, a potwierdzenie nie nadejdzie.
10
Sliding window Przy takiej metodzie, nadawca nie wyśle pakietu dopóki nie dostanie potwierdzenia od odbiorcy. Wówczas dane płyną tylko w jednym kierunku, nawet przy połączeniach typu duplex. Ponadto sieć nie jest używana gdy maszyny zwlekają z odpowiedziami. Marnuje to przepustowość sieci, dlatego wprowadza się technikę przesuwającego się okna, która umożliwia przesłanie wielu pakietów przed otrzymaniem potwierdzenia. W metodzie tej umieszcza się ciąg pakietów w ustalonego rozmiaru oknie i przesyła się wszystkie pakiety znajdujące się w jego obrębie. Gdy nadejdzie potwierdzenia dla pierwszego z wysłanych pakietów, okno przesuwa się umożliwiając wysłanie kolejnych danych. Ilość niepotwierdzonych pakietów jest uwarunkowana rozmiarem okna. Retransmitowane są tylko te pakiety, dla których nie nadeszło potwierdzenie. Protokół zapamiętuje które pakiety otrzymały potwierdzenie i ustala odrębny zegar dla każdego niepotwierdzonego pakietu. W razie błędu pakiet jest wysyłany ponownie.
11
10 informacje w 1Ah)
12
Segment TCP Segmentem TCP nazywamy jednostkową porcję danych przesyłanych międz oprogramowanie TCP na różnych maszynach. Pola: PORT NADAWCY i PORT ODBIORCY – numery portów TCP identyfikując aplikację na końcach połączenia NUMER PORZĄDKOWY – wyznacza pozycję danych segmentu w strumieniu bajtó nadawcy. NUMER POTWIERDZENIA – numer oktetu, który nadawca spodziewa się otrzyma w następnej kolejności. Dotyczy strumienia płynącego w przeciwnym kierunku. DŁUGOŚĆ NAGŁÓWKA – zawiera liczbę całkowitą, która określa długość nagłówk segmentu mierzoną w 32-bitowych jednostkach. Jest konieczne gdyż pole OPCJ ma zmienną długość. ZAREZERWOWANE – pole pozostawione na przyszłość. BITY KODU – zawiera informacje o przeznaczeniu zawartości segmentu – niektór segmenty mogą przenosić tylko potwierdzenia, inne dane, inne zaś prośbę ustanowienie/zamknięcie połączenia OKNO – zawiera rozmiar bufora proponowany przez oprogramowanie TCP odbiorc – ilość danych które może przyjąć.
13
Dostęp do komórek pamięci CMOS-RAMwpisać adres wybranej komórki pamięci CMOS. Odczyt lub zapis wybranej komórki następujepoprzez port o adresie 71h.Nie należy modyfikować najstarszego bitu portu 70h ponieważ służy on do sterowaniaprzerwaniami niemaskowalnymi komputera.W ramach laboratorium należy napisać program w PASCAL'u, który umożliwia odczytaniewybranych bajtów konfiguracyjnych i danych zegara RTC z pamięci CMOS-RAM.Dostęp do portów w komputerze można uzyskać wykorzystując wstawkę asemblerową wprogramie PASCAL'owym np.:asmin al, 70h ;odczyt portu adresowegoand al, 10000000b ;zerowanie bitow poza najstarszymor al, 14h ;adres komorki pamieci CMOSout 70h, al ;zapis portu adresowegoin al, 71h ;odczyt portu z danymimov odczytany_bajt,al ;przepisanie odczytanego bajtu;do zmiennej w PASCAL'uend;Dostęp do komórek pamięci CMOS-RAMwpisać adres wybranej komórki pamięci CMOS. Odczyt lub zapis wybranej komórki następujepoprzez port o adresie 71h.Nie należy modyfikować najstarszego bitu portu 70h ponieważ służy on do sterowaniaprzerwaniami niemaskowalnymi komputera.W ramach laboratorium należy napisać program w PASCAL'u, który umożliwia odczytaniewybranych bajtów konfiguracyjnych i danych zegara RTC z pamięci CMOS-RAM.Dostęp do portów w komputerze można uzyskać wykorzystując wstawkę asemblerową wprogramie PASCAL'owym np.:asmin al, 70h ;odczyt portu adresowegoand al, 10000000b ;zerowanie bitow poza najstarszymor al, 14h ;adres komorki pamieci CMOSout 70h, al ;zapis portu adresowegoin al, 71h ;odczyt portu z danymimov odczytany_bajt,al ;przepisanie odczytanego bajtu;do zmiennej w PASCAL'uend;
14
Porty i połączenia Protokół TCP umożliwia wielu działającym na jednej maszynie programom użytkowym jednoczesne komunikowanie się oraz rozdziela między programy użytkowe przybywające pakiety TCP. Podobnie jak UDP, TCP używa numerów portów protokołu do identyfikacji w ramach maszyny końcowego odbiorcy. Każdy z portów ma przypisaną małą liczbę całkowitą, która jest używana do jego identyfikacji Porty TCP są jednak bardziej złożone, gdyż dany numer nie odpowiada bezpośrednio pojedynczemu obiektowi. TCP działa wykorzystując połączenia, w których obiektami są obwody wirtualne a nie poszczególne porty. Tak więc podstawowym pojęciem TCP jest pojęcie połączenia, a nie portu. Połączenia są identyfikowane przez parę punktów końcowych. TCP definiuje punkt końcowy jako parę liczb całkowitych (węzeł, port), gdzie węzeł oznacza adres IP węzła, a port jes portem TCP w tym węźle. Np. punkt końcowy (128.10.2.3, 25) oznacza port 25 maszyny o adresie IP 128.10.2.3. W efekcie może istnieć połączenie np. pomiędzy: (18.26.0.36, 1069) oraz (128.10.2.3, 25), w tym samym czasie może też istnieć (128.9.0.32, 1184) oraz (128.10.2.3, 25). Zwróćmy uwagę, że w związku z tym, że TCP identyfikuje połączenie za pomocą pary punktów końcowych, dany numer portu może być przypisany do wielu połączeń na danej maszynie.
15
Przyszłość TCP/IP Gdy powstawała wersja 4 protokołu IP, 32-bitowy adres wydawał się wystarczający na długie lata rozwoju Internetu; wyczerpanie się adresów (jest ich teoretycznie 232, w praktyce mniej z uwagi na sposób adresowania, istnienie adresów grupowych i zarezerwowanych) traktowano jako coś zupełnie niemożliwego. Rzeczywistość szybko przerosła jednak wyobraźnię. Internet rozrasta się w postępie geometrycznym, ilość przyłączonych hostów podwaja się z każdym rokiem. Groźba wyczerpania się możliwości 32-bitowego adresowania stała się faktem. W związku z tym pojawiło się kilka propozycji rozwiązania tego problemu. Zaowocowały one pewnym kompromisem będącym punktem wyjścia dla opracowania kolejnej wersji protokołu IP. Wersja ta znana jest pod roboczą nazwą IP Next Generation (w skrócie IPng) lub IP wersja 6 i znajduje się obecnie w zaawansowanym stadium eksperymentów.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.