Uproszczony schemat pakietów IP podróżujących w sieci(dla
Transkrypt
Uproszczony schemat pakietów IP podróżujących w sieci(dla
Uproszczony schemat pakietów IP podróżujących w sieci(dla ułatwienia). Ramka ethernetowa (protokół najniższego poziomu) składa się z -pary adresów ethernetowych (każdy po 6 bajtów) -pola typu protokołu wyższego poziomu (2 bajty). Na podstawie tych adresów switche mogą odpowiednio przesyłać pakiety. Ponadto karty sieciowe odbierając ramki zaadresowane do innych komputerów odrzucają te dane jako zbędne przez co komputer nie musi ich w ogóle analizować. dane ramki ethernetowej mogą zawierać -nagłówki (protokołu wyższego poziomu, przypadku sieci TCP/IP jest nim protokół IP) -dane kolejnego protokołu. W nagłówku IP zawarte są -adresy IP komputera źródłowego oraz docelowego -suma kontrolna, -numer sekwencyjny, -rozmiar, -czas życia TTL itd. W części pakietu ip przeznaczonego na dane mogą znajdować się kolejne nagłówki i dane protokołów wyższego poziomu np. TCP itd. Dane przed wysłaniem z komputera są opakowywane w poszczególne protokoły. Końcowy komunikat zawiera więc też adresy IP, adresy ethernetowe itd. Protokół IP odpowiada za odnalezienie drogi od nadawcy do odbiorcy. Oznacza to iż wysyłając pakiet IP z adresem nadawcy "sieć" musi sama poradzić sobie z przekazaniem danych do wskazanego komputera. Odnajdowanie drogi jaką pakiet powinien dalej podążyć nazywamy trasowaniem (routingiem). Adresowanie IP Adres ip ma postać czterech ośmio bitowych liczb, przyjęto zapisywać liczby rozdzielone znakiem kropki. To na jego podstawie określa się czy pakiet jest zaadresowany do nas a jeśli nie, w jakim kierunku powinniśmy go wysłać by dotarł do celu. przykładowy adres 212.191.65.6 Adres ten składa się z 4 oktetów które zapisane w postaci binarnej mają wartości: 212 = 128*1 + 64*1 + 32*0 + 16*1 + 8*0 + 4*1 + 2*0 + 1*0 191 = 128*1 + 64*0 + 32*1 + 16*1 + 8*1 + 4*1 + 2*1 + 1*1 65 = 128*0 + 64*1 + 32*0 + 16*0 + 8*0 + 4*0 + 2*0 + 1*1 6 = 128*0 + 64*0 + 32*0 + 16*0 + 8*0 + 4*1 + 2*1 + 1*0 więc dla "poprawy" czytelności można zapisać go jako: 212.191.65.6 = 11010100 . 10111111 . 01000001 . 00000110 Reprezentacja binarna pozwoli nam zrozumieć w jaki sposób obliczane są adresy sieci na podstawie klas lub masek. Każdy adres sieciowy dzielony jest na dwie części numer sieci oraz numer hosta w tej sieci. Obydwa numery zawarte są w adresie IP. Numer sieci pozwala na przekazywanie pakietu w kierunku sieci natomiast (na całym świecie) natomiast numer hosta jest używany w ostatnim kroku gdy pakiet dotrze już do sieci docelowej. Zadanie: – proszę zapisać poniższe adresy w postaci dwójkowej. – 255.255.128.0 = 11111111.11111111.10000000.00000000 – 193.120.240.100 = 11000001.01111000.11110000.01100100 – 78.113.239.63 = 01001110.01110001.11101111.00111111 Adresowanie klasowe W adresowaniu klasowym zakłada się iż trzy pierwsze bity adresu IP określają klasę adresu. W zależności od klasy zmienia się ilość bitów przeznaczonych na numer sieci oraz ilość bitów przeznaczonych na numer hosta. Klasa A pierwszy bit = 0 ilość sieci = 126 ilość hostów w sieci = ponad 16 milionów ilość bitów przeznaczonych na numer sieci = 8 ilość bitów przeznaczonych na numer hosta = 24 zakres sieci = 1.0.0.0 - 126.0.0.0 Klasa B pierwszy bit = 10 ilość sieci = 16 tyś 16 384 ilość hostów w sieci = 65 tyś 65 536 ilość bitów przeznaczonych na numer sieci = 16 ilość bitów przeznaczonych na numer hosta = 16 zakres sieci = 128.1.0.0 - 191.254.0.0 Klasa C pierwszy bit = 110 ilość sieci = 2 mil. 2 097 152 ilość hostów w sieci = 254 ilość bitów przeznaczonych na numer sieci = 24 ilość bitów przeznaczonych na numer hosta = 8 zakres sieci = 192.0.1.0 - 223.255.254.0 Klasa D pierwszy bit = 1110 multicast Klasa E pierwszy bit = 1111 zarezerwowane Zarezerwowane sieci Istnieją ponadto często stosowane zarezerwowane numery sieci: Zarezerwowane adresy klasy A 10.0.0.0/255.0.0.0 aż do 10.255.255.255/255.0.0.0 Zarezerwowane adresy sieci klasy B 172.16.0.0/255.255.0.0 aż do 172.31.255.255/255.255.0.0 Zarezerwowane adresy sieci klasy C 192.168.0.0/255.255.255.0 aż do 192.168.255.0/255.255.255.0 Zarezerwowany adres (pętla zwrotna) 127.0.0.1 Infterfacy sieciowe − Najogólniej interfejsem sieciowym w systemach linux nazywamy urządzenia logiczne pozwalające na nawiązywanie połączeń różnego typu. − Należy jednak pamiętać iż mówiąc interfejs sieciowy nie mamy zawsze na myśli karty sieciowej. Interfejsem sieciowym jest np. pętla zwrotna (lo). Mogą nim być też tunele VPN lub inne programy i urządzenia pozwalające na komunikację z lokalnym lub zdalnym hostem. − Tak więc interfejs często jest reprezentacją sterownika karty sieciowej w systemie ale może też być urządzeniem "wirtualnym" które realizuje programowo pewne zadania. Konfigurowanie interfejsu sieciowego może być wykonane na wiele sposobów. Podstawowym jest polecenie inconfig za pomocą którego możemy ręcznie skonfigurować karty sieciowe bez konieczności instalowania dodatkowego oprogramowania ani edytowania plików konfiguracyjnych. Jest to polecenie standardowe systemów linuxowych i powinniśmy je zawsze znaleźć w naszym systemie. – Bardzo często korzysta się z plików konfiguracyjnych (zależnie od systemu operacyjnego mogą znajdować się w różnych miejscach i mieć różną postać). W przypadku systemów bazujących na dystrybucji Debian dostępne są skrypty uruchamiające oraz zatrzymujące karty sieciowe ifup / ifdown używające plików: /etc/network/interfaces – Narzędzia do konfigurowania kart sieciowych w środowisku tekstowym lub graficznym. Przykładem może być netcardconfig. – Automatyczne pobranie ustawień sieci od serwera DHCP za pomocą polecenia pump lub innego klienta dhcp. Ponadto konieczne może być skonfigurowanie serwera DNS oraz określenie bramy domyślnej za pomocą pliku /etc/resolv.conf oraz polecenia route. – Ręczne ustawienie sieci Aby skonfigurować kartę sieciową należy wykonać polecenie ifconfig z odpowiednimi parametrami. Składnia polecenia : ifconfig interfejs opcje np. ifconfig eth0 down ifconfig eth0 up POZOSTAŁE_OPCJE Należy pamiętać aby podać odpowiednie adres ip oraz maskę wynikające z konfiguracji naszej sieci. Wykonanie polecenia ifconfig bez parametrów pokaże informacje o aktywnych interfejsach sieciowych (bardzo użyteczne !!!). Więcej szczegółów w podręczniku do polecenia man ifconfig Ifconfig eth0 up 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 ping –c ile –n (numerycznie) –s rozmiar adresarp – protkół do przypisywania adresów ip macadresom dzial na zasadzie cachu Zadanie: – zatrzymaj program pump jeśli jest włączony (poleceniem killall pump lub pump -k) – znajdź w dokumentacji polecenia ifconfig odpowiednie parametry by skonfigurować kartę sieciową eth0 w następujący sposób: – adres IP 192.168.1.(numer komputera przylepiony na monitorze) – maska 255.255.255.0 – adres sieci 192.168.1.0 – adres rozgłoszeniowy 192.168.1.255 – sprawdź działanie karty poleceniem ping (wpisz adres IP sąsiada który skończył już to zadanie) – jeśli coś się nie uda zatrzymaj kartę i spróbuj ponownie Konfiguracja za pomocą skryptów ifup/ifdown W pliku /etc/networking/interfaces znajdują się wpisy konfiguracyjne interfejsów sieciowych. Żeby nie trzeba każdorazowo wpisywać wszystkich parametrów polecenia ifconfig można skorzystać z tego pliku. Gdy interfejs posiada wpis w /etc/networking/interfaces możemy go aktywować za pomocą polecenia ifup NAZWA_INTERFEJSU oraz wyłączyć ifdown NAZWA_INTERFEJSU czyli np. ifup eth0 Zadanie: – zapoznaj się ze składnią pliku (szczególnie sekcja INET INTERFACES FAMILY oraz jej podsekcją Static Metod) – dokumentacja dostępna jest poprzez wykonanie polecenia man interfaces - dodaj odpowiedni wpis do pliku interfaces by polecenie ifup eth0 powodowało − podniesienie interfejsu eth0 z adresem 192.168.1.(numer komputera + 100) − maska sieciowa 255.255.255.0 − sieć oraz broadcast jak w poprzednim zadaniu – Przetestuj konfigurację włączając interfejs poleceniem ifup eth0 a następnie wykonując polecenie ping do komputera sąsiada – sprawdź też poleceniem ifconfig czy wszystko się udało