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