ProtokolIP.doc

(68 KB) Pobierz
ICT Anti-collision Radar for Road Traffic

SIECI KOMUNIKACYJNE I INTERNETOWE. ROLA PROTOKOŁU IP

 

Józef Pawelec

 

I. WPROWADZENIE

 

Zazwyczaj mówi się o protokolarnym bloku TCP/IP. W niniejszym opracowaniu też będzie mowa o obu protokołach, jednakże z wyraźnym akcentem na IP z uwagi na jego rolę w kreowaniu nowoczesnych sieci komunikacyjnych, zwanych internetowymi. Prezentowany materiał powstał głównie na bazie publikacji RFC1180-TCP/IP Tutorial [1] i jest przeznaczony dla studentów oraz osób spoza kręgu informatycznego.

Do czasu powstania TCP/IP (lata 70/80.) informację - także tę cyfrową pod postacią strumienia bitów – przenoszono przez zwykłe sieci telekomunikacyjne. Abonenci, jakby nie byli dzieleni (segregowani) w dziedzinie czasu, częstotliwości, czy systemem kodowym – musieli mieć na czas rozmowy wydzielony stały kanał, np. parę przewodów fizycznych. Przy długich trasach wymagało to uczestnictwa dziesiątek automatycznych łącznic, które zestawiały połączenie – nierzadko długo i zawodnie – na podstawie numerów obu abonentów. Jeśli gdziekolwiek na trasie nastąpiło przeciążenie lub uszkodzenie, to odbijało się to na jakości łącza, w skrajnym przypadku następowała przerwa. Uszkodzenie centrali skutkowało awarią systemu na dużym obszarze.

     Wprowadzenie protokołu IP zrewolucjonizowało proces komutacji przez to, że wszystkim użytkownikom w całej sieci Internet przyporządkowano jednakowe postaciowo, ale unikalne numery IP i na tej bazie dokonywano transmisji małych porcji informacji przez różne, wolne w danej chwili kanały (wirtualne) mając na względzie szybkość i niezawodność przekazu. Uzyskano przez to nadzwyczajne uporządkowanie struktury sieciowej na całym globie, zwiększono efektywność wykorzystania łączy i zapewniono niezawodność transmisji do ~100% (dla informacji tolerujących opóźnienia). Mowa i wizja stwarza jeszcze pewne problemy, ale stopniowo co raz mniejsze. Zniszczenie centrali nie powoduje już awarii w całej sieci

 

II. HISTORIA TCP/IP   

 

Do powstania TCP/IP przyczyniła się w zasadniczym stopniu stworzona w 1972 roku w USA sieć ARPANET (DARPA – Defense Advanced Research Project Agency – Agencja zaawansowanych projektów badawczych DoD USA; NET – network - sieć). ARPANET miała służyć dla niezawodnej komunikacji na wypadek wojny atomowej.

Oto osoby oraz instytucje, które miały decydujacy udział w powstaniu TCP/IP:

- Robert Kahn i Vinton Cerf – Biuro Technologii Transmisji DARPA, USA

- Xerox PARC, Stanford, University College, London, Internet Architecture Board, USA.

      Opracowano aż cztery kolejne wersie protokołu IP. Dopiero ostatnia wersja po próbach międzykontynentalnych USAAnglia -Norwegia została zaakceptowana w roku 1982 przez IAB dla wszystkich sieci wojskowych. W roku 2005 Kahn i Cerf otrzymali z rąk Prezydenta USA Medal of Freedom za znaczący wkład do kultury amerykańskiej.

   

W późniejszych latach protokoły TCP/IP były jeszcze wielokrotnie doskonalone. Ostatnią dużą zmianą jest przejście z protokołu IPv4 do IPv6 (128 bitów)

III. STRRUKTURA LOGICZNA WĘZŁA SIECI

 

Węzeł to element komutacyjny. Elementarną jego strukturę dano na rys.1. Każdy komputer korzystający z sieci internetowej ma taką warstwową strukturę. Prostokąty oznaczają tu procesy, którym podlega informacja przenoszona przez węzeł. Linie łączące te prostokąty pokazują drogę jej przenoszenia. Gwiazdką oznaczono adres IP, symbolem @ - adres w sieci Ethernetowej (ENET), a literą ‘o’ - nadajnik sieci ENET.

                           

                  network applications 

                     |                          |

                     |...  \ | /  ..  \ | /  ...|

                     |     -----      -----     |

                     |     |TCP|      |UDP|     |

                     |     -----      -----     |

                     |         \      /         |

                     |         --------         |

                     |         | IP  |         |

                     |  -----  -*------         |

                     |  |ARP|   |               |

                     |  -----   |               |

                     |      \   |               |

        Rys.1        |      ------              |

                     |      |ENET|              |

                     |      ---@--              |

                     ----------|-----------------

                               |

                     ---------o--- Ethernet Cable

  

   W zasadzie ta sama porcja informacji w zależności od tego, gdzie się znajduje, nosi inną nazwę: w sieci ENET nosi ona nazwę ramki, na odcinku między ENET i IP występuje jako pakiet, między IP i UDP – datagram, między IP i TCP – segment, a w warstwie aplikacji występuje jako wiadomość. Zastrzeżenie „w zasadzie” dotyczy tego, że właściwa informacja jest z reguły lekko wzbogacana lub zubożana na swej drodze o parametry nagłówka po to, aby komputer wiedział, co z nią zrobić, np. dokąd wysłać.

     Transmisja informacji z góry w dół, rys.1, odbywa się od warstwy aplikacji przez moduł TCP lub UDP do IP i dalej do sieci ENET. Jeśli przykładowo korzystamy z aplikacji FTP (file transport protocol), to stos protokolarny zapisze się jako FTP/TCP/ IP/ENET, jeśli korzystamy z SNMP (simple network management protocol), to odpowie-dnio SNMP/UDP/IP/ENET (TCP –transmission control p,, UDP – user datagram p.).

    

     W realnych warunkach moduły TCP/UDP oraz interfejs ENET tworzą bądź strukturę multipleksera, bądź demultipleksera, tzn. że mogą pobierać informację z kilku źródeł (aplikacji) do jednej sieci ENET n-to-1, , rys.1 (wiązka aplikacji), bądź z kilku hostów ENET do jednego komputera w internecie, m-to-1.  W obu przypadkach wiadomości i ramki mają odpowiednio wypełnione pola nagłówków. W zależności od treści tych pól, ramki wędrują bądź do ARP (address resolution protocol), bądź bezpośrednio do IP. Tutaj, w zależności od pola nagłówka IP pakiety wędrują dalej do TCP lub do UDP. Po wyjściu z tych modułów są kierowane na zewnątrz stosownie do portów w nagłówkach TCP/UDP (In accordance to header’s port fields of TCP/UDP).

 

IV. PRZYPADEK WIELU SIECI

 

Jeśli do węzła podłączone są dwie sieci ENET, mamy strukturę, jak na rys.2. W tym przypadku komputer musi znać 2 adresy IP i 2 adresy ENET, ponieważ każdej transmisji ENET-IP towarzyszy para adresów: sprzętowy MAC i IP.

 

 

                               |    network applications  |

                |                          |

                |...  \ | /  ..  \ | /  ...|

                |     -----      -----     |

                |     |TCP|      |UDP|     |

                |     -----      -----     |

                |         \      /         |

                |         --------         |

                |         |  IP  |         |

                |  -----  -*----*-  -----  |

                |  |ARP|   |    |   |ARP|  |

                |  -----   |    |   -----  |

                |      \   |    |   /      |

     Rys.2      |      ------  ------      |

                |      |ENET|  |ENET|      |

                |      ---@--  ---@--      |

                ----------|-------|---------

       Ethernet Cable 1   |       |   Ethernet Cable 2

           ---------------o--   --o---------------------------

     W ogólnym przypadku, jeśli komputer ma przyłączonych więcej niż 1 fizyczny interfejs, to jego moduł IP staje się n-to-m multiplekserem i zarazem m-to-n demultiplekserem. Moduł IP dopasowuje odpowiednie pary adresów w kierunku w górę do internetu oraz w kierunku w dół do sieci ENET, rys.3.

        1   2 3 ...   n                   1   2 3 ...   n

          \  | |      /    |                \  | |      /       ^

           \ | |     /     |                 \ | |     /        |

         -------------   flow              ----------------   flow

         |multiplexer|    of               |de-multiplexer|    of

         -------------   data              ----------------   data

           / | |     \     |                 / | |     \        |

          /  | |      \    v                /  | |      \       |

         1   2 3 ...   m                   1   2 3 ...   m

                                                          Rys.3

                                                            

     Proces wysyłania pakietów IP z jednej sieci internetowej do innej nazywany  jest po angielsku forwarding (przesyłanie do przodu). Komputer, który taką funkcję wykonuje nazywa się IP-routerem, rys.4. Widzimy, że forwarding nie angażuje zgoła warstwy transportowej TCP/UDP.

                        TCP      UDP

                             \      /

                              \    /

                          --------------

                          |     IP     |

                          |            |

                          |    ---     |

                          |   /   \    |

                          |  /     v   |

        Rys.4             --------------

                           /         \

                          /           \

                       data           data

                      comes in         goes out

Zauważamy w tym miejscu, że modułem, który właściwie kreuje sieci jest moduł IP. Możemy powiedzieć, że IP pełni rolę centralnego ogniwa w technologii internetowej. Tworzy on za pomocą swoich nagłówków IP pojedynczą wydzieloną sieć logiczną spośród dostępnych sieci fizycznych. Ta właściwość stanowi sedno sieci internetowych. Zespól połączonych sieci fizycznych za pośrednictwem modułów IP nazywa się internetem (małe i). Zespół globalny wyróżniamy dużą literą jako Internet.

      Nagłówek IP nie ujawnia (ukrywa) fizyczne połączenia. Jeśli mamy dodatkową sieć fizyczną możemy ją dołączyć do istniejącego internetu za pośrednictwem programu i nowego adresu IP (by implementing a new driver that connects the internet to the underneath IP). Aplikacje pozostają nietknięte, nie wpływają na nie zmiany w hardwarze 

 

Pytania

- When sending out an IP packet, how is the destination Ethernet address determined? Poprzez unikalny adres IP. W komputerze są przechowywane tablice i następuje przyporządkowanie IP do MAC...

Zgłoś jeśli naruszono regulamin