Wykład dla studentów Informatyki Stosowanej studia...

48
Sieci komputerowe Wykład dla studentów Informatyki Stosowanej studia niestacjonarne UJ 2007/2008 Michał Cieśla pok. 440a, email: [email protected] http://users.uj.edu.pl/~ciesla/ 1

Transcript of Wykład dla studentów Informatyki Stosowanej studia...

Sieci komputerowe

Wykład dla studentów Informatyki Stosowanej

studia niestacjonarne

UJ

2007/2008

Michał Cieślapok. 440a, email: [email protected]

http://users.uj.edu.pl/~ciesla/1

Plan wykładu

1. Podstawowe informacje o sieciach TCP/IP.

2. Popularne protokoły i usługi sieciowe.

3. Programowanie sieciowe w oparciu o interfejs gniazd.

4. Elementy programowania rozproszonego.

5. Współczesne technologie w programowaniu rozproszonym.

2

Literatura

1. D.E. Comer, D. L. Stevens „Sieci komputerowe TCP/IP tom 3”, WNT

1997 (Internetworking with TCP/IP vol. III).

2. W. R. Stevens „UNIX programowanie usług sieciowych”, WNT 1999.

(UNIX Network Programming).

3. R. Scrimger, P. LaSalle, M.Parihar, M. Gupta, C. Leitzke „Biblia

TCP/IP”, Helion 2002 (TCP/IP Bible).

4. http://www.ietf.org/rfc.html

5. http://java.sun.com

6. http://www.google.pl

3

Wprowadzenie

1. Infrastruktura sieciowa.

2. Rodzaje sieci● sieci lokalne i globalne,● sieci scentralizowane i zdecentralizowane.

3. Konfiguracja urządzeń do pracy w sieci● adresowanie IP,● usługi DNS i DHCP,● konfiguracja urządzeń do pracy w sieci.

4. Model ISO/OSI

4

karta sieciowa

5

Karta sieciowa umożliwia podłączenie komputera do sieci

switch (przełącznik)

6

Switch przekazuje sygnał pomiędzy połączonymi z nim komputerami.

router

7

Router łączy sieci komputerowe (np. sieć lokalną z internetem).

skrętka

8

Elementy sieciowe łączymy za pomocą skrętki (przewód ze skręconymi

czterema parami kabli) zakończonej wtykami RJ45

Infrastruktura sieciowa

WANklienci sieci

(hosty)

serwery

huby, switche

router

drukarka9

Rodzaje sieci

Podział ze względu na rozmiar:● sieci lokalne (LAN – Local Area Network),● sieci rozległe (WAN – Wide Area Network).

Podział ze względu na konfigurację:● zdecentralizowane (równorzędne, każdy z każdym (peer to peer)),● scentralizowane (klient – serwer (client - server)).

10

Sieci zdecentralizowane

Nie istnieje żaden centralny serwer. Każdy klient sieci może żądać

i dostarczać informacji (Windows, Lantastic).

Podstawowe cechy:● zarządzanie usługami i użytkownikami na poziomie klientów,

zarządzanie na poziomie sieci nie jest wymagane.● niewielkie rozmiary – typowo nie więcej niż kilkunastu klientów.● niski poziom bezpieczeństwa - każdy klient musi być z osobna

zabezpieczony i administrowany. Zwykle użytkownik komputera jest

jego administratorem.

11

Sieci scentralizowane

Istnieje przynajmniej jeden serwer, który świadczy usługi dla klientów

(Novell, Windows 2003 Server).

Podstawowe cechy:● zarządzanie usługami i użytkownikami na poziomie sieci,

zarządzanie poszczególnymi klientami jest ograniczone do minimum.● brak ograniczeń na liczbę klientów - często z zasobów serwera mogą

korzystać wszystkie komputery na świecie (www).● centralne zarządzanie bezpieczeństwem sieci - administrator sieci

realizuje jednolitą politykę bezpieczeństwa.

12

Podstawy konfiguracji sieci

1. Adres IP (149.156.74.65)

2. Maska podsieci (255.255.255.0)

3. Brama (149.156.74.1)

4. Adresy serwerów DNS (149.156.74.21)

13

Adres IP

Adres IP identyfikuje komputer w sieci. Jest on połączeniem adresu sieci

z adresem hosta (komputera) wewnątrz tej sieci.

Przykład:149.156.74.65: 10010101.10011100.01001010.01000001

sieć: 149.156.0.0 host: 74.65adres rozgłoszeniowy: 149.156.255.255zakres adresów hostów: 0.1 – 255.254 (216 – 2 adresy)

192.168.1.133: 11000000.10101000.00000001.10000101sieć: 192.168.1.0 host: 133

adres rozgłoszeniowy: 192.168.1.255zakres adresów hostów: 1 – 254 (28 – 2 adresy)

14

Klasy adresów IP

Adresy prywatne:● 10.0.0.0 - 10.255.255.255● 172.16.0.0 - 172.31.255.255● 192.168.0.0 - 192.168.255.255

Klasa Adres

A 1 – 126 126 16777214B 128 – 191 16384 65534C 192 – 223 2097152 254D Adresowanie grupowe 224 – 239 - -E Adresy eksperymentalne 240 – 254 - -

Zakres pierwszego

oktetuLiczba sieci

Liczba hostów

0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH11NNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH

15

Maska podsieci

Maska umożliwia uzyskanie adresu (pod)sieci na podstawie adresu IP hosta. Dzięki

temu możemy podzielić sieć na wiele podsieci:

adres sieci: 11000000.10101000.00000001.00000000 (192.168.1.0)maska: 11111111.11111111.11111111.11111000 (255.255.255.248)zakres adresów hostów w podsieci: .00000001 ( .1)

.00000010 ( .2)

.00000011 ( .3)

.00000100 ( .4)

.00000101 ( .5)

.00000110 ( .6)adres rozgłoszeniowy: .00000111 ( .7)

często używana notacja: 192.168.1.0/29 (bo 29 jedynek).

16

Maska podsieci

Przykładowy podział sieci 192.168.1.0 na podsieci korzystając z maski:

192.168.1.0/29 adresy hostów: 1 – 6 adres rozgłoszeniowy: 7

192.168.1.8/29 adresy hostów: 9 – 14 adres rozgłoszeniowy: 15

192.168.1.16/28 adresy hostów: 17 – 30 adres rozgłoszeniowy: 31

192.168.1.32/27 adresy hostów: 33 – 62 adres rozgłoszeniowy: 63

192.168.1.64/26 adresy hostów: 65 – 126 adres rozgłoszeniowy: 127

192.168.1.128/25 adresy hostów: 129 – 254 adres rozgłoszeniowy: 255

w sumie 256 – 2*6 = 244 różne adresy hostów.

17

Przykłady

Przykłady konfiguracji dla hosta o adresie IP 149.156.74.65

adres IP: 149.156.74.65 maska: 255.255.255.128adres podsieci: 149.156.74.0zakres: .1 - .126

adres IP: 149.156.74.65 maska: 255.255.255.252adres podsieci: 149.156.74.64zakres: .65 - .66

adres IP: 149.156.74.65 maska: 255.255.255.0adres podsieci: 149.156.74.0zakres: .1 - .254

adres IP: 149.156.74.65 maska: 255.255.0.0adres podsieci: 149.156.0.0zakres: .0.1 - .255.254

18

Brama domyślnaBrama domyślna pełni funkcję routera - kieruje ruchem pomiędzy siecią lokalną

(LAN) i siecią rozległą (WAN). Brama sieciowa posiada zwykle dwa adresy

sieciowe: jeden dla komputerów z sieci lokalnej (LAN), drugi dla komputerów

z poza sieci lokalnej (WAN).

Wysyłając informacje nadawca sprawdza, czy odbiorca znajduje się w tej samej

sieci lokalnej. Jeśli tak, pakiet jest wysyłany bezpośrednio do odbiorcy. Jeśli nie

informacja ma zostać dostarczona poza sieć lokalną jest ona wysyłana na adres

bramy domyślnej.

Jeśli odbiorca znajduje się w tej samej sieci do której należy adres WAN routera,

brama przesyła do niego informacje. Jeśli nie brama przesyła informacje

do kolejnego routera w sieci WAN.

19

Serwery DNSSerwery DNS (Domain Name Server) tłumaczą nazwy hostów na adres IP, np.

www.if.uj.edu.pl = 149.156.89.131, umożliwiając używanie nazw w

miejsce adresów IP.

1. Aby przetłumaczyć adres www.if.uj.edu.pl należy zapytać serwera nazw

dla domeny if.uj.edu.pl,

2. Jeśli adres serwera nazw dla domeny if.uj.edu.pl jest nieznany należy

odnaleźć serwer nazw dla domeny uj.edu.pl. itd.

3. Adresy wszystkich serwerów nazw w domenie pl są przechowywane przez

serwery NASK'u (Naukowa Akademicka Sieć Komputerowa).

Serwery DNS zapamiętują na jakiś czas (typowo 24 godz.) otrzymane

odpowiedzi co przyspiesza proces odszukania adresu IP. 20

Serwery DNS

Narzędzie nslookup:

21

Usługa DHCP

Usługa DHCP (Dynamic Host Configuration Protocol) [RFC 2131] umożliwia

automatyczną konfigurację (dzierżawę) parametrów sieciowych hostów.

Komunikacja pomiędzy hostem a serwerem DHCP przebiega następująco:

[host] DHCPDISCOVER (komunikat wysyłany do wszystkich)

[server] DHCPOFFER (zawiera proponowane parametry konfiguracji, wysyłany

na adres karty sieciowej hosta)

[host] DHCPREQUEST (prośba o konfiguracje lub przedłużenie jej ważności)

[server] PHCPPACK (przesłanie ostatecznych parametrów)

...

[host] DHCPRELEASE (zwolnienie konfiguracji)

22

Konfiguracja sieciWindows

23

Konfiguracja sieciWindows

24

Konfiguracja sieciWindows

25

Konfiguracja sieciWindows

26

Konfiguracja sieciWindows

27

Konfiguracja sieciWindows

28

Testowanie konfiguracjiWindows

Start / uruchom / cmdipconfig [/all]

29

Testowanie konfiguracjiWindows

Start / uruchom / cmd ping

30

Testowanie konfiguracjiWindows

Start / uruchom / cmd tracert

31

Konfiguracja sieciLinux

ifconfig (ew. /sbin/ifconfig)

32

Konfiguracja sieciLinux

Przykład:

ifconfig eth0 hw ether 000e0e0e0e0e netmask 255.255.255.0 192.168.0.2

skonfiguruje interfejs sieciowy eth0 do pracy w standardzie ethernet z adresem sprzętowym 00:0E:0E:0E:0E:0E.Do interfejsu zostanie przypisany adres IP: 192.168.0.2 i maska sieciowa 255.255.255.0.

33

Konfiguracja sieciLinux

route (ew. /sbin/route)

34

Konfiguracja sieciLinux

Przykład:

route add default gw 192.168.0.1

dodaje (add) domyślną (default) bramę (gw) o adresie IP 192.168.0.1. 

Aby zmieniać konfiguracje sieciową za pomocą poleceń ifconfig i route zwykle

należy mieć prawa root'a.

35

Program netstat (Linux)m02 ~ # netstatActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 268 m02.gdziestam.pl:ssh ja.uj.edu.pl:1325 ESTABLISHEDtcp 0 0 m02.gdziestam.pl:ssh inny.jakis.pl:45808 ESTABLISHED...m02 ~ # netstat -lActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 *:imaps *:* LISTENtcp 0 0 *:pop3s *:* LISTENtcp 0 0 localhost:mysql *:* LISTENtcp 0 0 *:pop3 *:* LISTENtcp 0 0 *:imap *:* LISTENtcp 0 0 *:http *:* LISTENtcp 0 0 *:ssh *:* LISTENtcp 0 0 *:smtp *:* LISTENudp 0 0 *:1033 *:*udp 0 0 *:1036 *:*udp 0 0 *:1037 *:*udp 0 0 *:2845 *:*udp 0 0 *:snmp *:*... 36

Model OSI/ISO

Model OSI (Open System Interconnection) opracowany przez ISO

(International Organization for Standarization) opisuje przekształcenia

informacji z postaci jaką widzi użytkownik do formatu nadającego się do

użycia w sieci.

37

Model OSI/ISO

aplikacji

łącza danych

fizyczna

sieciowa

transportowa

sesji

prezentacji

komunikacja wirtualnaK

ompu

ter

A

Kom

pute

r B

aplikacji

łącza danych

fizyczna

sieciowa

transportowa

sesji

prezentacji

Warstwy w modelu OSI

38

Warstwa aplikacji

Interakcja z aplikacją użytkownika.Warstwa aplikacji świadczy usługę aplikacji sieciowej odpowiedzialnej za

żądanie użytkownika – przykłady:● użytkownik wysyła email – dostęp do usługi SMTP (Simple Mail Transfer

Protocol),● transfer pliku – udostępniony protokół FTP (File Transfer Protocol),● dostęp do strony http://www.if.uj.edu.pl – rozwiązanie nazwy przez DNS

a następnie żądanie dla protokołu HTTP (HyperText Transfer Protocol).

Warstwa aplikacji jako jedyna komunikuje się bezpośrednio z

oprogramowaniem użytkownika.

39

Warstwa prezentacjiUsługi sieciowe niewidoczne dla użytkownika.Warstwa prezentacji przyjmuje pakiet z warstwy aplikacji i dokonuje

wyboru poprawnej usługi sieciowej (urządzenia sieciowego) – usługa

serwera, usługa stacji roboczej (hosta). Ponadto warstwa prezentacji

odpowiada za konwersje języka:● konwersje pomiędzy różnymi wersjami i typami protokołów,● konwersja zestawu znaków, szyfrowanie i kompresja danych,● przekierowywanie żądań wejścia i wyjścia.

Usługi aplikacji sieciowych są wywoływane przez użytkownika funkcjonują

w warstwie aplikacji. Usługi sieciowe są niewidoczne dla użytkownika i

funkcjonują w warstwie prezentacji.

40

Warstwa sesji

Zarządzanie wirtualnym połączeniem sieciowym.Warstwa sesji ustanawia punkty kontrolne (checkpoint) w przesyłanych

danych. W przypadku zerwania połączenia transfer jest ponawiany od

ostatniego odebranego punktu kontrolnego. Ponieważ połączenie w

warstwie sieci jest wirtualne, nie ma gwarancji dostarczenia pakietu.

41

Warstwa transportowa

Sprawdzenie poprawności i kontrola przepływu danych.Warstwa transportowa dzieli dane na pakiety i przesyła je używając

protokołu TCP (Transmission Control Protocol) lub UDP (User Datagram

Protocol).

TCP korzysta z pakietów potwierdzających. Dzięki temu dostarcza pakiety

w sposób niezawodny.

UDP oferuje jedynie kontrolę integralności pakietu. Dzięki temu jest

zazwyczaj szybszy niż TCP.

42

Warstwa sieciowa

Adresowanie i trasowanie w sieci.Warstwa sieciowa dodaje do pakietu adres nadawcy i odbiorcy. Dodatkowo

dokonuje fragmentacji i składania pakietów. W warstwie sieciowej

dokonywany jest także wybór trasy.

43

Warstwa łącza danych

Przygotowanie danych do przesłania przez sieć.Warstwa łącza danych jest podzielona na dwie podwarstwy:● kontroli łącza logicznego – dodaje na końcu pakietu sumę kontrolną CRC,

dzięki której można sprawdzić poprawność transmisji danych,● kontroli dostępu do nośnika – dopisuje do pakietu fizyczne adresy kart

interfejsu sieciowego (MAC – Media Access Control).

Warstwa łącza danych zapewnia poprawną obsługę topologii sieci.

44

Warstwa fizyczna

Umieszczenie danych w sieci.Warstwa fizyczna (sprzętowa) określa rodzaj przewodu (kabel

koncentryczny, skrętka, światłowód, sieć bezprzewodowa), interfejsu

sieciowego oraz sposób sformatowania i umieszczenia danych w sieci

(czasy trwania impulsów elektrycznych, świetlnych itp.)

45

Transmisja w modelu OSI

aplikacji

łącza danych

fizyczna

sieciowa

transportowa

sesji

prezentacji

Nadawca: składanie Odbiorca: rozkładanie+ nagłówek

+ nagłówek

+ nagłówek

+ nagłówek

+ nagłówek

+ nagłówek i stopka

+ nagłówek

- nagłówek

- nagłówek

- nagłówek

- nagłówek

- nagłówek

- nagłówek i stopka

- nagłówek46

Model OSI a model TCP/IP

warstwa aplikacji

warstwa prezentacji

warstwa sesji

warstwa transportowa

warstwa sieciowa

warstwa łącza danych

warstwa fizyczna

Model OSI

warstwa aplikacji(zastosowań)

TCP

IPv4, IPv6

sterownikprogramowy i sprzęt

Model TCP/IP

UDP

47

Podsumowanie

Podstawowe urządzenia potrzebne do zbudowania sieci to: karty sieciowa,

ew. switch i router oraz kabel(skrętka) z wtyczkami RJ-45.

Aby skonfigurować komputer do pracy w sieci TCP/IP należy podać adres

IP i maskę. Dodatkowo, aby komunikować się z siecią rozległą należy podać

adres domyślnej bramy (routera). Jeśli chcemy używać nazw zamiast

adresów IP musimy skorzystać z usług serwerów DNS.

Ogólny model transmisji danych przez sieć został wyspecyfikowany

w modelu ISO/OSI.

48