Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

35
1 Technologie Internetu wykład 1: Architektura Internetu Piotr Habela Polsko-Japońska Wyższa Szkoła Technik Komputerowych

description

Technologie Internetu wykład 1: Architektura Internetu Piotr Habela Polsko-Japońska Wyższa Szkoła Technik Komputerowych. Plan wykładu. Sieci i intersieci – motywy, rozwój, problemy Warstwa sprzętowa – zagadnienia Model warstwowy protokołów sieciowych Zestaw protokołów TCP/IP - PowerPoint PPT Presentation

Transcript of Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

Page 1: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

1

Technologie Internetuwykład 1: Architektura Internetu

Piotr Habela

Polsko-Japońska Wyższa SzkołaTechnik Komputerowych

Page 2: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

2

Plan wykładu• Sieci i intersieci – motywy, rozwój, problemy

• Warstwa sprzętowa – zagadnienia

• Model warstwowy protokołów sieciowych

• Zestaw protokołów TCP/IP

• Warstwa interfejsu sieciowego (protokół IP, adresy IP, ich odwzorowania, ICMP)

• Warstwa transportu

• Interfejsy do protokołów komunikacyjnych

• Standaryzacja protokołów internetowych

Page 3: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

3

Zagadnienia nie omawiane

• Zagadnienia fizyczne przesyłania sygnałów;

• Rodzaje łączy; technika w warstwie sprzętowej;

• Topologie sieci;

• Szczegóły protokołów niższych warstw;

Page 4: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

4

Wybrane ważne daty (1)• 1945 – Vannevar Bush – artykuł „As We May Think”

(Atlantic Monthly) z ideami leżącymi u podstaw hipertekstu;

• 1954 – Powstanie ARPA;• 1965 – Paul Baran z RAND Corporation: „On Distributed

Communication Network” – koncepcja zdecentralizowanej, odpornej na awarie licznych węzłów sieci komputerowej.

• 1971 – Ray Tomilson: pierwszy program poczty elektronicznej;

• 1972 – Telnet;• 1 września 1969 – Pierwsze węzły sieci ARPA-NET;• 1973 – Pierwsze połączenia międzynarodowe (do Wielkiej

Brytanii i Norwegii).• 1974 – Vinton Cerf i Bob Kahn: „A protocol for Packet

Intercommunication”: TCP, termin “Internet”;

Page 5: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

5

Wybrane ważne daty (2)• 1975 – zmiana statusu ARPA-NET z eksperymentalnej na

użytkową;• 1982 – ARPA-NET wprowadza protokół TCP/IP• 1984 – powstaje DNS;• 1990 – ARPA-NET kończy działalność;• 1991 – Polska dołączona do Internetu;• 1992 – Tim Berners Lee: podstawy WWW• 1993 – Mosaic – pierwsza przeglądarka• 1994 – Pierwszy SPAM: f-ma prawnicza Canter i Siegel

wysyła list do 6 tys. grup dyskusyjnych (loteria pozwoleń na pracę w US);

• 1995 – prywatyzacja Internetu, Netscape, Java;• 1995 – WWW wyprzedza FTP;

Page 6: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

6

Warstwa sprzętowa – problemy do rozwiązania• Podział strumienia danych na pakiety (ramki): istotne dla

koordynacji i podziału czasu (wspólne medium!);• Wykrywanie kolizji;• Kontrola poprawności transmisji: bity parzystości, sumy

kontrolne lub CRC (Cyclic Redundancy Check): szybki algorytm (indeksy przesuwające, bramki XOR, sprzężenie zwrotne) => wielomian komunikatu; dość skuteczny przy identyfikowaniu błędów; łatwość sprawdzenia przez odbiorcę;

• Identyfikacja adresata (sygnał dociera do wszystkich maszyn…): adresy sprzętowe;

• Interpretacja komunikatu: identyfikatory typów ramek; Postać ramki:

preambuła; stałej długości nagłówek:

adres nadawcy, adres odbiorcy, typ ramki; CRC

Page 7: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

7

Adresy sprzętowe• Zwane MAC (Media Access Control), tj. adres dostępu do

nośnika; Ethernet: 48 bitów.• Interfejs sieciowy filtruje ramki nie obciążając „cudzymi”

procesora;• Sposoby określania: statyczne, konfigurowalne,

dynamiczne;• Prefiksy statycznych adresów przydzielane przez IEEE

(zob. http://standards.ieee.org/regauth/oui/oui.txt ).• Ponadto istnieje zarezerwowany adres rozgłaszania; oraz

możliwość definiowania adresów grupowych;• Dalsza identyfikacja – typ ramki. Kod może

identyfikować rozwiązanie danej firmy, albo ustandaryzowany protokół wyższej warstwy.

Page 8: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

8

Model warstwowy OSI (Open Software Interconnection)

7. Aplikacji: usługi realizowane przez aplikacje.6. Prezentacji danych: format wymiany danych, ich ewentualne

szyfrowanie. (zwykle nie występuje)5. Sesji: nawiązywanie i zamykanie połączeń (związana z

dużymi systemami wielodostępnymi – straciła na znaczeniu)4. Transportu: podział danych, gwarancja dostarczenia,

weryfikacja.3. Sieciowa: logiczne adresy zamienia na sprzętowe, pakiety

logiczne dzieli na ramki danych.2. Łącza: interpretowanie przesyłanych bitów jako ramek.1. Fizyczna: przesyła nieprzetworzone bity danych przez nośnik.

Page 9: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

9

Zestaw protokołów TCP/IP• Zbudowany dla ARPAnet-u (sieci naukowej wchodzącej w

skład DDN – Defence Data Network). TCP i IP = najpopularniejsze w zestawie protokołów.

• Jest to zestaw warstwowy. Podział motywowany:– Złożonością zadania;– Heterogenicznością istniejących sieci składowych;– Specjalizacją poszczególnych protokołów do zastosowań.

• Przykładowo: poczta umożliwia przesyłanie listów; wymaga niezawodnego połączenia od TCP, IP przekazuje datagramy, Ethernet zarządza medium.

• Droga przebywana przez komunikat – całkowicie przezroczysta dla użytkownika.

• Inne zestawy – np. IPX/SPX (Novell); NetBIOS, NetBEUI (IBM).

Page 10: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

10

Zestaw protokołów TCP/IP• Zwykle wyróżnia się następujące warstwy:

– Warstwa aplikacji (Telnet, FTP, e-mail…). Także SMNP (Simple Network Management Protocol).

– Transportowa (TCP, UDP). TCP zapewnia wiarygodny (reliable) przepływ danych (porcjowanie, timeouts). UDP przesyła datagramy nie gwarantując ich dotarcia.

– Sieciowa (IP, ICMP, IGMP). Albo warstwa internetowa. Obsługuje ruch pakietów poprzez sieć. Między innymi zachodzi tu rutowanie pakietów. Internet Protocol, Internet Control Message Protocol, Internet Group Management Protocol.

– Połączeniowa (sterowniki urządzenia i karta interfejsu sieciowego; np. Ethernet, token ring, użycie ARP i RARP) Albo warstwa interfejsu sieciowego. Wszelkie szczegóły fizycznej komunikacji.

[R]ARP = [Reverse] Address Resolution Protocol

Page 11: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

11

Intersieć• Sieć wirtualna, realizująca model jednolitych usług.• Architektura musi uwzględniać heterogeniczność sieci

składowych.• Sprzętowe adresy dla intersieci nie wystarczają, gdyż

każda z podsieci może używać innego formatu => wprowadzono abstrakcyjne adresy protokołowe. Pozwalają odwoływać się do działającego na odległej maszynie procesu, bez znajomości jej adresu sprzętowego.

Page 12: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

12

Protokół IP

• Określono format niezależny od konkretnego sprzętu: uniwersalny, wirtualny pakiet, zwany datagramem. Rozmiar od 1 oktetu do 64K.

• IP nie obsługuje takich problemów jak:– duplikowanie datagramów;

– dostarczanie z opóźnieniem lub nie w kolejności;

– uszkodzenie danych;

– utrata datagramów.

• Nagłówek zawiera numery IP nadawcy i odbiorcy.

Page 13: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

13

Adresy IP

• Identyfikuje połączenie komputera z daną siecią.• IPv4 (obecny): 32 bitowa liczba (zwykle przedstawiana

jako 4 zapisane dziesiętnie segmenty).• Trzy typy adresów:

– Unicast (pojedynczy host)

– Broadcast (wszystkie maszyny danej sieci)

– Multicast (rozgłaszanie grupowe).

• Pierwsza część adresu identyfikuje sieć, zaś dalsza określa maszynę w ramach tej sieci.

Page 14: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

14

Podział puli adresów IP• 4 klasy adresów:bity sieci bity hosta

– A: do 127: 0-netid(7) hostid(24)– B: 128-191: 10-netid(14) hostid(16)– C: 192-223: 110-netid(21) hostid(8)– D: 224-239: 1110-multicastgroupID(28)– E: 240-255: 1111-zarezerwowane(28)

• Prefiksy identyfikujące sieć przydzielane przez IANA (Internet Assigned Numbers Authority): http://www.iana.org/

• Problem tego podejścia:– marnotrawstwo adresów;– duże tablice tras (zob. dalej).

Page 15: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

15

Specjalne adresy IP• Adres zerowy węzła (sufiks) = adres sieci;• Cała pula 127.*.*.* = adresy pętli zwrotnej;• Same jedynki = rozgłaszanie ograniczone (lokalna sieć

fizyczna; używane przy starcie komputera)• Same zera – oznaczenie lokalnego komputera, gdy

właściwy adres nie jest mu jeszcze znany.• Sufiks z samych jedynek = rozgłaszanie ukierunkowane

(maszyny danej sieci)• Adresy prywatne (tzw. nierutowalne) [RFC 1918]:

– od 10.0.0.0 do 10.255.255.255

– od 172.16.0.0 do 172.16.255.255

– od 192.168.0.0 do 192.168.255.255

Page 16: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

16

Nagłówek datagramu IP• Wersja = IPv4;• Długość nagłówka;• typ obsługi (trasa o minimalnym opóźnieniu czy

maksymalnej przepływności);• długość całkowita;• identyfikacja (datagramu);• znaczniki, przesunięcie fragmentu (używane przy

fragmentacji datagramu);• czas życia (max. 255; redukowany na każdym odcinku );• typ,• suma kontrolna nagłówka,• IP nadawcy i odbiorcy;• opcje IP;• uzupełnienie;

Page 17: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

17

Encapsulation (kapsułkowanie?) datagramu IP• Zapakowanie wewnątrz ramki sieciowej; zawartość nie

jest interpretowana przez niższą warstwę.• Datagram IP jako zawartość takiej ramki jest

identyfikowany odpowiednim typem ramki sieciowej. Oczywiście ramka sieciowa otaczająca datagram musi mieć wyspecyfikowany adres sprzętowy odbiorcy.

• Każdy etap na drodze datagramu wiąże się z rozpakowaniem ramki sieciowej a następnie wysłaniem go w nowej ramce.

• MTU (Maximum Transfer Unit): ogranicza wielkość danych w ramce. Jeżeli dla danej sieci rozmiar datagramu przekracza MTU, to wykonywana jest fragmentacja. Składanie datagramu odbywa się dopiero u ostatecznego odbiorcy. Odbiór datagramu: wszystko albo nic.

Page 18: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

18

Optymalizacja wykorzystania puli adresów IP• Classless Inter Domain Routing (CIDR) [RFC 1517, 1518,

1519]:– Dowolna liczba bitów na adres sieci;– Zapis adresu dla podejścia bezklasowego np: 192.9.205.22 /18

(określa się liczbę bitów maski sieci);– Możliwe agregowanie adresów sieci i hierarchiczne określanie

trasy;

• IPv6: 128-bitowe adresy => ogromna pula. Ponadto:– Zmieniony, rozszerzalny format nagłówka: pole „typ następnego

nagłówka”;– Wsparcie dla obsługi dźwięku i obrazu;– Trzy rodzaje adresów: jednostkowy, rozsyłania grupowego,

„grono” -> służy np. realizacji replik usługi.– Sposób zapisu: notacja szesnastkowa z dwukropkami; możliwość

pomijania segmentu zer: FF0C:0:0:0:0:0:0:B1 -> FF0C::B1

Page 19: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

19

Odwzorowywanie adresów (1)• Aby dostarczyć dane, należy na podstawie adresu

protokołowego ustalić adres sprzętowy.• Metody:

– Tablicowe (zwykle w sieciach rozległych);

– Obliczeniowe (gdy adres sprzętowy konfigurowalny);

– Sieciowe: pytanie-odpowiedź (zwykle w lokalnych ze statycznymi adresami).

• Adres sprzętowy można określić tylko wtedy, jeśli adresat jest w tej samej sieci fizycznej. Pakiety dla adresatów nielokalnych przejmuje ruter.

• Ruter przynależy do co najmniej dwóch sieci (posiadając tyleż adresów logicznych i sprzętowych).

Page 20: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

20

Odwzorowywanie adresów (2)• Każdy ruter przechowuje tablicę tras:

– Prefiks i maska adresowa każdej sieci;

– Odpowiadający każdej pozycji adres sprzętowy rutera.

• Odczytany adres rutera nie zostanie umieszczony w nagłówku datagramu.

• Address Resolution Protocol (ARP):– Ujednolicony protokół odwzorowywania adresów.

– Zapytanie wysyłane na adres rozgłaszania danej sieci.

– Odpowiedź tylko do pytającego.

– Generyczny, choć zwykle odwzorowuje IP na Ethernet.

– Ramki ARP identyfikowane kodem typu ramki.

Page 21: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

21

Internet Control Message Protocol (ICMP)• Zintegrowany z protokołem IP.• Umożliwia informowanie nadawcy o powstałych błędach

(mniej poważnych niż błąd sumy nagłówka).• Komunikaty o błędach mogą dotyczyć:

– tłumienia nadawcy;– przekroczenie terminu;– nieosiągalności odbiorcy;– konieczności zmiany trasy;– problemów z parametrami.

• Ponadto dostępne:– echo; odpowiedź z echem;– prośba o maske adresową; odpowiedź z maską adresową.

• Zastosowania – m.in. ping, traceroute, wyznaczanie MTU.

Page 22: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

22

Urządzenia aktywne• Repeater (wzmacniak), oraz hub -> warstwa fizyczna (1 w OSI).

Propagują również zakłócenia…• Most: podział na dwie sieci, mogące posiadać różne media

transmisyjne -> warstwa łącza (2); pracuje na adresach MAC.• Switch -> warstwa łącza danych (2). Symuluje sieć lokalną z

mostami, gdzie w każdym segmencie jest tylko jeden komputer.• Ruter -> podział na więcej podsieci IP -> warstwa łącza (2) i

sieciowa (3). Łączenie sieci heterogenicznych. Podobnie jak most = specjalizowany komputer: procesor, pamięć, interfejsy sieciowe. Różne media transmisyjne, mechanizmy adresowania sprzętowego i formaty ramek.

• Zapora sieciowa -> ogranicza dostępu z zewnątrz. Rodzaje filtrów:– bramki aplikacji: pakiety są odpowiednio tłumaczone; wymaga

skonfigurowania oprogramowania proxy dla każdej usługi sieciowej na każdej z maszyn w sieci;

– filtry pakietów: blokowanie pakietów w oparciu o adres pochodzenia, adres docelowy, protokół, nr portu czy nawet zawartość.

Page 23: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

24

TCP – Transmission Control Protocol• Warstwa transportu. Protokół niezawodnego przesyłania.• Obsługuje następujące poważne problemy transmisji:

– przywracanie właściwej kolejności odebranych pakietów: wykorzystanie numeru porządkowego pakietów;

– unikanie duplikatów – j.w.;

– retransmisja zgubionych pakietów: nadawca wysyła ponownie, jeśli w zadanym czasie nie otrzymał potwierdzenia (acknowledgment);

– unikanie powtórzeń spowodowanych nadmiernym opóźnieniem: numery pakietów dodatkowo kwalifikowane identyfikatorami sesji;

– kontrola przepływu dla uniknięcia zalewu danych: metoda przesuwającego się okna.

Page 24: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

25

TCP – właściwości (1)• Tzw. protokół połączeniowy: przed przesłaniem danych

zestawiane jest połączenie.• Komunikacja punkt do punktu: oprogramowanie TCP

niezbędne tylko w końcowych węzłach.• W pełni dwukierunkowa komunikacja. Możliwa w

dowolnym momencie i buforowana.• Interfejs strumieniowy. Brak pojęcia rekordu => dane

mogą dotrzeć w innych fragmentach.• Niezawodne połączenie: zgoda na połączenie obydwu

programów.• Łagodne kończenie połączenia. Program może zażądać

zakończenia, a protokół zapewni dostarczenie wysłanych danych przed jego zamknięciem.

Page 25: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

26

TCP – właściwości (2)• Tzw. retransmisja z adaptacją. Opóźnienie komunikacji

jest śledzone i na tej podstawie jest określany czas, po upływie którego stosuje się retransmisję (zbyt szybka transmisja doprowadziłaby do zalewu pakietów).

• Kontrola przepływu: odbiorca dostarcza potwierdzenia odbioru oraz tzw. propozycje okna (ile może przyjąć do bufora);

• Trójetapowa wymiana komunikatów przy ustawianiu i kończeniu połączeń (tzw. 3-way handshake): segmenty SYN i FIN.

• Kontrola przeciążenia: w razie zgubienia pakietu jest wysyłany najpierw jeden, a następnie tempo jest zwiększane z uwzględnieniem propozycji okna.

Page 26: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

27

Zawartość segmentu TCP• port nadawcy;• port odbiorcy;• nr porządkowy (dotyczy aktualnie wysyłanych – tj.

wychodzących danych);• numer potwierdzenia (dotyczy odebranych);• długość nagłówka;• suma kontrolna (obejmuje nagłówek i dane segmentu

TCP);• bity kodu;• okno (dostępny bufor dla odbieranych danych);• dane.

Page 27: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

28

Encapsulation - ogólnie• Każda warstwa dołącza swe nagłówki przed i niekiedy również (np.

Ethernet trailer) za przekazywanym pakietem danych.• Jednostka danych wysyłanych przez protokół TCP = segment;• Jednostka wysyłana przez protoków IP = datagram (tak naprawdę –

packet: tj. datagram IP albo fragment datagramu IP);• Jednostka w ramach Ethernetu = frame (ramka) – o określonym typie• 8-bitowy identyfikator w nagłówku IP identyfikuje protokół

datagramu: ICMP, IGMP, TCP, UDP.• Analogicznie TCP i UDP używają w nagłówku 16-bitowych

numerów portów do zidentyfikowania aplikacji: numery źródłowego i docelowego portu.

• Analogicznie (np. rozróżnienie pomiędzy IP, ARP, RARP), nagłówek Ethernetowy zawiera 16-bitowe pole typu ramki.

• Demultiplexing: po otrzymaniu ramki kolejne warstwy „rozpakowują” dane i w oparciu o identyfikatory w znanych sobie nagłówkach przekazują odpowiedniemu protokołowi warstwy wyższej.

Page 28: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

29

Numery portów• Liczby 16-bitowe.• Identyfikacja serwerów typowych usług: przez tzw. well-

known port numbers: np. FTP = 21, Telnet = 23 (zob. też /etc/services na Unix-ie).

• Przydziałem numerów od 1 do 1023 zajmuje się Internet Assigned Numbers Authority (IANA).Unix: porty zarezerwowane => tylko superuser może przydzielić taki port.

• Porty klienckie zwane efemerycznymi (ephemeral ports), gdyż używane są na czas korzystania danego klienta z usługi. Zwykle alokowane pomiędzy 1024 a 5000.

• Kanał komunikacyjny zestawiany przez protokół TCP jest wyznaczone przez dwa końce zwane gniazdami. Gniazdo = adres IP + numer portu.

Page 29: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

30

Interfejsy do protokołów komunikacyjnych• Zakres funkcjonalności określany przez specyfikację

danego protokołu. Konkretne API mogą być specyficzne dla danego systemu operacyjnego;

• Najpopularniejsze jednak – udostępnianie jednolitego interfejsu tzw. gniazd (sockets). Powstał jako część BSD; zwany też Berkeley sockets.

• Mogą być dostępne jako wywołania systemu operacyjnego, lub w postaci funkcji bibliotecznych.

• Skonstruowane w stylu UNIX-owego interfejsu wejścia-wyjścia: „otwórz-czytaj-zapisz-zamknij”. Po otwarciu pliku zwracana jest liczba – deskryptor, używana następnie w kolejnych odwołaniach. Podobnie jest w przypadku komunikacji z protokołem.

Page 30: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

31

Procedury interfejsu gniazd (1)• Utworzenie gniazda:deskryptor = socket(

rodzina, //np. PF_INET => TCP/IPtyp, //rodzaj komunikacji: SOCK_STREAM

// - połączeniowa strumieniowa, //SOCK_DGRAM – bezpoł. komunikatami

protokół);

• Zamknięcie gniazda:close(gniazdo);//closesocket w Windows Sockets

• Gniazda a wątki:– każdy nowy wątek dziedziczy kopię otwartych gniazd z wątku,

który go utworzył;– gniazda posiadają licznik odwołań.

Page 31: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

32

Procedury interfejsu gniazd (2)

• Określenie portu:bind(gniazdo, adres_lokalny, dł_adresu)

// serwer określa, na jakim porcie//będzie oczekiwał połączenia

• Oczekiwanie na komunikaty:listen(gniazdo, rozmiar_kolejki_zgłoszeń)

• Protokół połączeniowy – wymaga ponadto przyjęcia nowego połączenia:

nowe_gniazdo = accept(gniazdo, adres_klienta, długość_adresu_klienta);

Page 32: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

33

Procedury interfejsu gniazd (3)• Klient łączy się z serwerem:connect(gniazdo, adres_serwera, długość_adresu_serwera);

Def.: adres punktu końcowego = kombinacja adresu IP i nr-u portu.

• Wysyłanie danych:send(gniazdo, dane, długość, znaczniki)

// ...gdy gniazdo jest połączone

sendto(gniazdo, dane, długość, znaczniki, adres_odbiorcy, długość_adresu_odbiorcy)

// ... dla niepołączonego gniazda;

sendmsg(gniazdo, struktura_komunikatu, znaczniki) // skrót ww.

Page 33: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

34

Procedury interfejsu gniazd (4)• Odbieranie danych:

recv(gniazdo, bufor, długość_bufora, znaczniki) // z połączonego gniazda

recvfrom(gniazdo, bufor, długość, znaczniki, adres_nadawcy, długość_adresu_nadawcy)

// dla niepołączonego gniazdarecvmsg(gniazdo, struktura_komunikatu, znaczniki) // skrót ww.

• Ponadto – tradycyjne read i write (gniazdo, bufor, długość), dostępne dla gniazd połączonych.

• Inne operacje:– getpeername – adres odległego klienta;– gethostname – adres lokalny;– gethostbyname -> adres IP maszyny o podanej nazwie;– gethostbyaddr -> nazwa na podstawie podanego adresu IP;– oraz getsockopt oraz setsockopt dla obsługi wartości opcji gniazda.

Page 34: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

35

Sieciowe programy użytkowe• Protokoły transportowe umożliwiają jednoznaczne

wskazanie żądanej usługi. W TCP są to 16-bitowe numery portów. Pozwala to odbiorcy na skierowanie komunikatu do właściwego serwera (w znaczeniu programu).

• Domain Name System (DNS): – rozproszona baza danych mapująca nazwy na numery IP. Większość aplikacji pozwala stosować zamiennie nazwy i numery. Rev-DNS (konwersja odwrotna: IP na nazwę).

• Domeny najwyższego poziomu: geograficzne (Country Code Domains) lub organizacyjne. Zob. http://www.iana.org/cctld/cctld.htm

• Adres URL:– identyfikator usługi: http:// ftp:// gopher:// telnet:// news://– nazwa domeny: adres domenowy lub kropkowo-dziesiętny;– ścieżka dostępu na serwerze;

Page 35: Technologie Internetu wykład 1: Architektura Internetu Piotr Habela

36

Standaryzacja protokołów internetowych• Internet Society (ISOC) – professional society.• Internet Architecture Board (IAB) – techniczny nadzór i

koordynacja. Czuwa nad jakością standardów internetowych; podlega ISOC.

• Internet Engineering Task Force (IETF) – krótkoterminowe przedsięwzięcia zorientowane na rozwijanie standardów; podzielona na 9 obszerów. Dodatkowo: Internet Engineering Steering Group (IESG). Podlega IAB.

• Internet Research Task Force (IRTF) – długoterminowe projekty badawcze. Podlega IAB.

• Oficjalne standardy publikowane jako RFC (Request For Comments). Dostępne publicznie (łącznie ok. 75 MB). Niektóre nie mają statusu oficjalnego standardu. Zob. http://www.isi.edu i http://www.rfc-editor.org