Protokoły, Protokół PPP, Protokół PPP:


Protokół PPP:

PPP (ang. Point to Point Protocol) jest protokołem warstwy łącza używanym przy połączeniach między dwoma węzłami sieci (m.in. we wdzwanianych połączeniach modemowych). PPP może być również skonfigurowany na interfejsie szeregowym asynchronicznym i synchronicznym. Służy również do prostego zestawiania tuneli. PPP jest stosowany w technologii WAN. Z protokołem tym wiąże się uwierzytelnianie PAP lub CHAP. Preferowany jest CHAP, ponieważ w przeciwieństwie do PAP jest uznawany za bezpieczniejszy (używa MD5).

Zazwyczaj występuje w dwóch odmianach: PPPoE oraz PPPoA, w zależności od zastosowanej enkapsulacji.

PPP tworzy dwie podwarstwy w warstwie łącza danych w modelu OSI: Link Control Protocol i Network Control Protocol. Do pierwszej podwarstwy można zaliczyć np. autoryzację, a druga odpowiada za komunikację z warstwą sieciową.

Rozszerzona detekcja błędów

PPP wykorzystuje pola Frame Check Sequence (FCS) aby wykryć błędy powstałe w ramkach podczas transmisji. Gdy liczba nieprawidłowych przekazów nadmiernie wzrośnie, łącze może ulec zerwaniu.

Dodatkowe opcje PPP

Protokół kontroli połączenia (ang. link control protocol - LCP) jest integralną częścią PPP zdefiniowaną w RFC i zawiera wykrywanie zapętlonych połączeń. Opiera się to na wykorzystywaniu liczby magicznej (ang. magic number). Każdy z uczestników komunikacji wysyła komunikaty LCP zawierające różniące się liczby. Jeżeli pojawi się połączenie zapętlone, to odbiornik dostanie wysłaną przez siebie wartość. W ten sposób może to wykryć. Częścią specyfikacji PPP jest również protokół Internet Protocol Control Protocol (IPCP), który pozwala na automatyczne określenie adresów IP lokalnego komputera oraz zdalnej maszyny. Dodatkowo często wykorzystuje się DHCP do przekazywania takich informacji jak adres IP serwera DNS.

|zawiera datagram |- |FCS |2 (rzadziej 4) |suma kontrolna, kontrola błędów |}

RFC

Protokół PPP został opisany przez IETF w specyfikacji RFC 1661.

RFC 1994 opisuje protokół Challenge Handshake Authentication Protocol (CHAP) wykorzystywany w połączeniach dodzwanianych przez dostawców Internetu.

RFC 2516 definiuje PPPoE, czyli wersję PPP, gdzie połączenie między modemem DSL lub ADSL i komputerem jest realizowane poprzez Ethernet.

Implementacje PPP

W Linuksie i innych Uniksach obsługa protokołu PPP jest możliwa dzięki demonowi pppd.

Point-to-Point Protocol

Standardowy protokół typu punkt-punkt warstwy sieciowej Internetu, gwarantujący niezawodną transmisję w komutowanych lub stałych łączach szeregowych bez ograniczania szybkości, jeden z dwóch datagramowych protokołów IP (SLIP, PPP). PPP może obsługiwać zarówno bitowo zorientowaną transmisję synchroniczną, jak też zorientowaną bajtowo asynchroniczną transmisję danych.

Połączenie interakcyjne przez modem jest najwygodniejszym sposobem łączenia się przez Internet dla wielu osób prywatnych i małych firm. Korzystając z takiego połączenia, przybliżamy się coraz bardziej do pełnego dostępu do Internetu. Dla wielu osób pełny dostęp oznacza możliwość korzystania z Telnetu, FTP i poczty elektronicznej. Jednak to nie jest jeszcze wszystko, czego można chcieć. Łącząc się przez modem, nie stajemy się częścią Internetu, ale korzystamy z innego komputera, który jest podłączony do sieci. Dopiero ten komputer ma adres w sieci, a my tylko korzystamy z jego możliwości. Protokoły Serial Line Internet Protocol (SLIP; Protokół Internetu dla Linii Szeregowych) i Point-to-Point-Protocol (PPP; Protokół Punkt do Punktu) umożliwiają pełne połączenie, będąc ogniwem pośrednim między komputerem wyposażonym w modem oraz łączem sieciowym z prawdziwego zdarzenia. SLIP i PPP pozwalają na połączenie za pomocą zwykłych łączy telefonicznych, dając jednocześnie możliwość zostania pełnoprawnym węzłem Internetu, z własnym adresem i wszystkimi innymi atrybutami. Oznacza to, że SLIP i PPP pozwalają w szczególności na przesyłanie plików bezpośrednio do naszego komputera, bez pośrednictwa komputera usługodawcy. To samo dotyczy połączeń interakcyjnych za pomocą Telnetu. Tego typu system, w którym zastosowano protokół sieciowy, ma jeszcze tę przewagę nad zwykłymi połączeniami modemowymi, że może być wykorzystywany przez kilku użytkowników równocześnie.

PPP jest protokołem typu każdy-z-każdym, nie ma technicznej różnicy między komputerem który nawiązuje połączenie i komputerem które na nie odpowiada. Jednak wygodnie jest myśleć o tym jako o systemie klient - serwer. Kiedy dzwonimy aby nawiązać połączenie jesteśmy klientem. Komputer z którym chcemy się połączyć jest serwerem. Kiedy konfigurujemy system operacyjny, aby mógł odpowiadać na przychodzące połączenia, wtedy konfigurujemy serwer. każdy komputer może być zarówno klientem i serwerem - nawet równocześnie, jeśli mamy tylko więcej niż jeden port szeregowy (i modem, jeśli to jest konieczne). Tak jak stwierdziliśmy wcześniej, tak naprawdę nie ma różnicy pomiędzy klientem i serwerem, przynajmniej tak długo, jak dotyczy to samego PPP od momentu zestawienia połączenia. Komputery które inicjują połączenie ("dzwonią do") nazywamy KLIENTAMI. Komputery, które odbierają połączenie, sprawdzają tożsamość dzwoniącego (za pomocą haseł lub innych mechanizmów) nazywamy SERWERAMI.

Większość użytkowników, która jest zainteresowana podłączeniem przez PPP swojego komputera do Internetu przy wykorzystaniu w tym celu serwera dostarczanego przez swojego dostawcę Internetu nie musi starać się o przydział własnego numeru IP. Jeśli pragniemy przyłączyć do Internetu małą podsieć, dostawcy Internetu mogą zapewnić dedykowaną podsieć kilku numerów z puli własnych numerów IP. W przypadku większości użytkowników przyłączających za pomocą PPP własny komputer do Internetu, większość dostawców stosuje dynamicznie przydzielany numer IP. To znaczy, że w fazie połączenia, serwer PPP przekaże naszemu komputerowi, który numer IP mamy przydzielony na czas zestawionego połączenia. W przypadku dynamicznego przydzielania adresów IP, za każdym razem kiedy się łączymy możemy otrzymać inny numer IP. Ma to znaczenie dla programów pracujących na naszym komputerze w trybie serwera, np.: sendmail , ftp, http i inne.

Zasadniczo nie ma żadnej różnicy pomiędzy łączeniem pojedynczego komputera z serwerem PPP, a łączeniem dwóch sieci LAN za pomocą PPP na dwóch komputerach należących do tych sieci (należy pamiętać że PPP to protokół każdy-z-każdym). W celu połączenia dwóch sieci LAN trzeba używać dwóch różnych adresów sieci IP (lub dwóch różnych podsieci tej samej sieci) oraz trzeba używać statycznych numerów IP. Musi nastąpić konfiguracja adresów IP. Trzeba uzgodnić z administratorem drugiej sieci LAN, które adresy IP będą używane do zestawienia połączenia PPP. W przypadku korzystania ze statycznych numerów IP, trzeba dzwonić pod określony numer. Bardzo ważna jest także konfiguracja routingu. Trzeba sprawić aby pakiety z lokalnej sieci były przesyłane przez zestawione połączenie PPP. Jest to proces dwuetapowy. Na początku trzeba określić trasę od komputera zestawiającego połączenie PPP do sieci znajdującej się na drugim końcu tego połączenia. Jeśli jest to połączenie z Internetem, może być obsłużone przez domyślną trasę wprowadzoną do tabeli routingu. Jeśli ma to być jedynie połączenie dwóch sieci LAN, wtedy należy dla konkretnej sieci dodać pozycję w tabeli routingu. Drugą rzeczą jaką trzeba zrobić jest powiadomienie innych komputerów należących do twojej sieci lokalnej, że komputer stał się 'bramą' do odległej sieci leżącej po drugiej stronie połączenia PPP. Oczywiście administrator sieci po drugiej stronie połączenia musi zrobić to samo. Ponieważ będzie on przesyłał pakiety do konkretnej sieci, wymagana będzie pozycja w tabeli routingu do konkretnej sieci, a nie pozycja domyślnej trasy (chyba, że sieć po drugiej stronie połączenia łączy się z Internetem właśnie przez naszą sieć).

Protokół PPP składa się z trzech głównych komponentów: a. Funkcja obsługująca enkapsulację datagramów IP przy pracy na łączu szeregowym. PPP obsługuje zarówno łącza asynchroniczne z 8 bitami danych i bez kontroli parzystości (tzn. typowy interfejs szeregowy stosowany w większości komputerów), jak i łącza synchroniczne. b. Protokół kontroli łącza (LCP-Link Control Protocol), który odpowiada za nawiązanie, skonfigurowanie i przetestowanie połączeń w warstwie łącza danych. c. Rodzina protokołów kontroli sieci (NCP-Network Control Protocol), które są specyficzne dla różnych protokołów pracujących w warstwie sieci. Dokumenty RFC definiują obecnie protokoły dla IP, warstwę sieci OSI, DECnet i AppleTalk.

Format ramki PPP

Format ramki PPP został tak dobrany, aby wyglądał jak standard ISO HDLC (high-level data link control). Format ramek PPP wygląda następująco:

0x01 graphic

Każda ramka rozpoczyna się i kończy bajtem flagi, której wartością jest 0x7e. Po tym polu następuje bajt adresu, którego wartością jest zawsze 0xff, a następnie bajt kontrolny o wartości 0x03. Dalej występuje pole protokołu, którego funkcja jest taka sama, jak pola typ w ramce Ethernet (czyli określa typ przesyłanych danych). Wartość tego pola wynosząca 0x0021 oznacza, że polem informacji jest datagram IP, a wartość 0xc021 oznacza, że w polu informacji znajdują się dane kontrolne łącza. Jeśli pole protokołu ma wartość 0x8021, to przesyłanymi danymi są dane kontroli sieci. Pole CRC jest polem sprawdzenia nadmiarowości, pozwalającym wykryć błędy w samej ramce. Problem pojawia się wtedy, gdy bajt 0x7e pojawia się w polu informacji (ponieważ jest znakiem typu flaga). PPP musi pominąć ten bajt. Na łączach synchronicznych realizowane jest to sprzętowo, z użyciem techniki zwanej bit stuffing. Na łączach synchronicznych specjalny bajt 0x7d używany jest jako znak wyjścia. Jeśli taki znak pojawi się w ramce PPP, to kolejny znak w ramce jest jego 6-bitowym dopełnieniem, zgodnie z następującymi zasadami:

Kompresja ramki PPP

Ponieważ PPP używany jest często na wolnych łączach szeregowych, to opóżnienie w pracy aplikacji interaktywnych zmniejsza się, jeśli zredukujemy liczbę bajtów w ramce. używając protokołu kontroli łącza, większość aplikacji negocjuje połączenie, tak aby pominąć pola flaga i adres, a także zredukować rozmiar pola protokół z 2 bajtów do 1 bajtu. Jeśli porównamy ramki przesyłane po PPP z ramkami SLIP(Serial Line IP), zobaczymy, że PPP dodaje 3 dodatkowe bajty: 1 bajt dla pola protokół i 2 bajty dla CRC. Ponadto, używając protokołu kontroli sieci IP, większość implementacji może negocjować stosowanie kompresji nagłówków metodą Vana Jacobsona, aby zredukować długość nagłówków IP i TCP (taką samą metodą, jaka jest używana w CSLIP, czyli w nowszej wersji SLIP z kompresją - użycie tego protokołu redukuje wielkość nagłówka z 40 bajtów do 3 lub 5).

Zalety PPP w stosunku do SLIP

Wartość MTU dla łączy PPP

W RFC 1191 jest wymienionych kilka typowych wartości MTU. Dla łączy punkt-punkt wynosi 296 bajtów (dla porównania FDDI-4352, Ethernet-1500). Tak mała wartość nie wynika z fizycznego ograniczenia medium lecz jest określona tak, by gwarantowała odpowiedni dla aplikacji interaktywnych czas odpowiedzi.



Wyszukiwarka

Podobne podstrony:
Protokół PPP i sieć ISDN, Komputer, informatyka(hasło - 123)
Protokół z doświadczenia, PPP
Wykład12 Sieć z protokołem X 25 i Frame Relay
Wykład10a Sieć z protokołem X 25 i Frame Relay
05 LAN Protokol IPid 5733 ppt
Protokół o zapobieganiu, zwalczaniu oraz karaniu handlu ludźmi
protokol2
PROTOKOL DYPLOMATYCZNY manulas MBak
II seria, Protokól 11ME wersjab
3 Wzm operacyjny protokol zima
ćw 10 tabelki do protokołu
Protokół sekcji zagadnienia
II seria, Protokól 2ME b
034 ROZ M I w sprawie wzoru protokołu obowiązkowej kontroli
protokol nr2
Protokoly 291004
chromatografia jonowymienna 2, Rok I, chemia fizyczna, chemia fizyczna-protokoły
Protokół końcowego odbioru robót, BUDOWNICTWO, potrzebne druki

więcej podobnych podstron