TIN Techniki Internetowe zima 2019 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej
Plan wykładów 2 3 4 5 6 7 8 9, 10, 11 12 13 Intersieć, ISO/OSI, protokoły sieciowe, IP Protokół IP i prot. transportowe: UDP, TCP Model klient-serwer, techniki programowania serwisów Protokoły konweracyjne: telnet, rlogin, ssh, ftp, Poczta elektroniczna: SMTP, POP, IMAP Protokół HTTP 1.1 i 2.0 HTML, XML Aplikacje WWW, CGI, sesje, serwery aplikacji serwlety Aspekty zaawansowane: wydajność, przenośność, skalowalność P2P, WS, WSDL, SOAP, RDF
Historia Internetu
Geneza i historia Internetu 1957 - założenie ARPA (Advanced Research Projects Agency) - w odpowiedzi na program kosmiczny Rosji 1962 - koncepcja sieci pakietowej - Paul Baran (RAND) Leonard Kleinrock, MIT: "Information Flow in Large Communication Nets", 1961 Paul Baran, RAND Co.: "On Distributed Communications Networks", 1962 1968 - ARPANET - sieć o 4 węzłach: University of California Los Angeles, SRI (Stanford), University of California (Santa Barbara) University of Utah, połączenia 56 Kbps 1969-71 - Unix, C (Bell Labs), RFC 1 (1969) 1971-15 wezłów Internetu, 23 hosty 1972 - pierwszy E-mail, "@", pierwszy chat, ARPA -> DARPA 1973 - pierwszy host poza USA (University College of London) 1973 - początek prac nad TCP/IP (Vinton Cerf - Stanford, Bob Kahn - DARPA); RFC 733 - Spec. E-mail
Pierwsza sieć ARPA BBN Co. - "IMP" - Interface Message Processor: mini komputer Honeywell DDP-516; RAM: 12KB, 16 bit, sieć: 50Kbps (ATT) Konfiguracja sieci: Node 1: UCLA, System operacyjny: SDS SIGMA 7 Node 2: Stanford Research Institute - Network Information Center (NIC), System operacyjny: SDS940/Genie Node 3: University of California Santa Barbara (UCSB), System operacyjny: IBM 360/75, OS/MVT Node 4: University of Utah, System operacyjny: DEC PDP-10, Tenex http://www.cs.utexas.edu/users/chris/think/arpanet/technical_tour/ii_imp.shtml
Pierwsza wiadomość e-mail Rok 1971 Komputery: BBN-TENEXA i BBN-TENEXB (Digital PDP-10) Ray Tomlinson twórca poczty elektronicznej w ARPANET i wynalazca konwencji @ (program SNDMSG) Why did you choose the at sign? The primary reason was that it made sense. at signs didn't appear in names so there would be no ambiguity about where the separation between login name and host name occurred.
Geneza i historia Internetu 1974 - "Internet" w artykule o TCP (Vinton Cerf) 1976 - Ethernet (Robert M. Metcalfe), 1979 - USENET (Steve Bellovin, Tom Truscott, Jim Ellis) 1983 - przejście ARPANET na TCP/IP, Powstaje IAB (Internet Activities Board), powstaje DNS (Domain Name System) 1984 - sieć szkieletowa NSFNET - łącza T1 (1.5 Mbps), 1000 hostów w Internecie, kremvax (ZSRR) 1986 - powstaje IETF (Internet Engineering Task Force) 1988 - Internet worm, powstaje CERT (Computer Emergency Response Team) 1989-100 tys. hostów, powstaje RIPE (Reseaux IP Europeens) 1990-92 - koniec ARPANET, NSFNET - łącza T3 (45 Mbps) 1991 - NSF dopuszcza zastosowania komercyjne, WWW w CERN (Tim Berners-Lee), PGP -Philip Zimmerman
Rozwój internetu - syntetycznie
Pionierzy Paul Baran sieci pakietowe Bob Metcalfe Ethernet Jon Postel ARPANET, RFC Vinton Cerf, Robert Kahn TCP/IP Sir Tim Bernes-Lee, Marc Andreessen WWW Linus Torvalds
Geneza i historia Internetu 1991 - Polska w Internecie, powstaje kernel Linux-a 1992-1 mln hostów 1993 - powstaje InterNIC 1994 - łącza 145 Mbps (NSFNET), First Virtual - pierwszy ebank 1995 - Java (SUN Microsystems) 1996 - łącza szkieletowe 622 Mbps (MCI), backbone IPv6 1998 - CA*net pierwsza krajowa sieć optyczna (Kanada) 1999 MCI wprowadza sieć szkieletową 2.5 Gbps 2000 Początki sieci bezprzewodowych WLAN
Geneza i historia Internetu 1998 założenie Google 2000 serwisy P2P (Napster, Kazaa), 2001 2005 robaki paraliżujące sieć: Mellisa, Storm, MyDoom, Blaster, NetSky, SQL-Slammer, 2003... serwisy społecznościowe 2003 Rozwój Web 2.0 (Ajax) 2004 Mozilla firefox 1.0, Bitorrent, GMail 2005 powstaje Youtube 2007 z internetu korzysta 1.1 mld ludzi 2008 root serwery DNS zaczynają obługę adresów Ipv6 2011 2 mld. Przydzielonych adresów IP
Geneza i historia Internetu 2011 Przydzielono ostatnią wolną pulę adresów IPv4 2011 Po raz pierwszy wartość domeny przekracza 1 mln USD: DomainName.com (1 mln), Social.com (2.6 mln), Box.com (1 mln) 2012 Amazon największym dostawcą usług hostinowych (118 tys. serwerów internetowych) 2013 YT i Netflix generują 50% ruchu w sieci 2014 rok poważnych dziur w protokołach kryptograficznych w aplikacjach Web: Heartbleed; Poodle; Shellshock 2015 1 mld. kont na FB (1 na 7 ludzi) 2015 Liczba zapytań do G. z urządzeń mobilnych pierwszy raz przekracza liczbę zapytań z komputerów stacjonarnych
Geneza i historia Internetu
Geneza i historia Internetu
Geneza i historia Internetu
Geneza i historia Internetu
Geneza i historia Internetu
(Inter)sieć - Twór warstwowy Sieć - system komunikacyjny łączący węzły (hosty) Intersieć - sieć hierarchiczna - sieć łącząca sieci Internet - intersieć o swiatowym zasięgu bazująca na standardowych protokołach rodziny TCP/IP... a także protokołach stowarzyszonych oraz związanych z TCP/IP protokołach wyższego poziomu - tj. aplikacyjnych ICMP, (R)ARP, DNS, SNMP,...; SMTP, FTP, HTTP, LDAP, telnet,...
Stos ISO/OSI Warstwowa abstrakcja sieci komputerowych sposobem na pogodzenie niezgodności sprzętowo-programowych Warstwa definiowana jest poprzez interfejsy (sprzętowe i programowe) W idealnym przypadku każda warstwa może podlegać reimplementacji bez naruszenia pozostałych W sensie abstrakcyjnym komunikacja następuje na poziomie: warstwa hosta - odpowiadająca warstwa hosta, np. warstwa sieciowa komunikuję się z w. sieciową na drugiej maszynie Abstrakcyjny stos ISO/OSI odpowiada oprogramowaniu: aplikacyjnemu (7), bibliotecznemu (6,5), systemowemu (4,3) oraz zlokalizowanemu bezpośrednio na sprzęcie* (1-2) * - oprog. wyższych warstw też niekiedy realizowane jest sprzętowo
Stos ISO/OSI Aplikacji Prezentacji Zastosowań Transportu Sieciowa Kanałowa FTP XDR RPC TCP IP IEEE 802.3 Aplikacji Prezentacji Zastosowań Transportu Sieciowa Kanałowa IEEE 802.3 Fizyczna Fizyczna Przykładowe protokoły
Stos ISO/OSI Aplikacji Aplikacji Prezentacji Prezentacji Zastosowań Zastosowań Propagacja danych w połączonych Transportu Transportu Sieciowa Sieciowa Kanałowa Kanałowa Fizyczna Fizyczna stosach ISO/OSI
Uproszczony stos ISO/OSI Procesu Aplikacji WWW, FTP, SMTP komunikaty Prezentacji Zastosowań Transportu Transportu Sieciowa Sieciowa Kanałowa Kanałowa Warstwa TCP, UDP kom. segmenty pakiety IP ramki Ethernet, 802.11a/b/g/n/ac bity przykładowy protokół co jest przekazywane
Zwielokrotnianie i rozdzielanie danych w stosie ISO/OSI Proces ProcesAA Proces ProcesBB UDP UDP TCP TCP Proces ProcesCC Proces ProcesDD Proces ProcesEE UDP UDP TCP TCP IPv4 IPv4 Rodzina Rodzina protokołów protokołów TCP/IP TCP/IP Sieć Ethernet 1 Interfejs Interfejs Ethernet Ethernet IPv6 IPv6 Interfejs Interfejs 802.11 802.11(WiFi) (WiFi) Sieć WiFi
Opakowanie nagłówków Zwielokrotnianie i rozdzielanie danych musi odbywać się na podstawie dodatkowej informacji - niezależnej od samych danych Każda warstwa oprogramowania sieciowego dokłada własny nagłówek - powstaje szereg enkapsulowanych nagłówków Przy odbiorze danych proces jest odwracany następuje dekapsulacja nagłówków - kolejne nagłówki są "zdejmowane" przez kolejne warstwy oprogramowania sieciowego
Opakowanie nagłówków Procesu Dane Nagłówek UDP Transportu Sieciowa Kanałowa Stos ISO UDP Dane IP UDP Dane IP UDP Dane Nagłówek IP Nagłówek Ethernet Eth Eth Ethernet FCS Bajty 14 B. 20 B. 8 B. 4 B.
Protokoły datagramowe i połączeniowe Protokół datagramowy - bezpołączeniowy (connectionless service) Protokół połączeniowy (connection oriented service) Cechy protokołów datagramowych i połączeniowych: kontrola poprawności sekwencyjność niezawodność: kontrl. popr. + sekwencyjność transmisja simplex lub full/half duplex
Protokół datagramowy A Nadawca B Odbiorca Każdy pakiet podróżuje niezależnie Stosowany w sieciach komputerowych, Droga dla każdego pakietu wybierana jest niezależnie O dalszym losie pakietu decyduje ruter Ruter nie utrzymuje informacji o połączeniach (dlaczego?) Za każdym razem może zostać wybrana inna droga... w wyniku tego pakiety mogą przychodzić w zmienionej kolejności pakiety mogą też ginąć lub ulegać zwielokrotnieniu
Protokół połączeniowy A B Nadawca Metoda komunikacji stosowana w sieciach telefonicznych Fazy komunikacji: 1. 2. 3. Odbiorca Połączenie zostało zestawione Zestawienie połączenia (obwodu), Wymiana informacji, Rozłączenie. Historycznie - zestawiano połączenie galwaniczne. Obecnie - połączenie jest wirtualne Uwaga: we współczesnych systemach sieciowych prot. połączeniowe są realizowane "na" protokołach datagramowych
Dlaczego protokół datagramowy? Źródła (pakietów) danych 1 Dane Ngł 2 Dane Ngł Wielkość kolejki pakietów R R X(t) Pakiety giną X(t) R bit/s (rate) B R Dane N Ngł Bufor odbiorczo nadawczy Czas Założenia łącza są kosztowne, ruch jest nieregularny, charakteryzuje się gwałtownymi skokami natężenia, sieć ma być niezawodna - odporna na awarię/zniszczenie pewnej liczby węzłów. Bufor absorbuje krótkotrwałe skoki natężenia ruchu pakietów - łącze nie musi mieć pojemności N*R Bufor ma ograniczony rozmiar, więc przy dłużej trwających skokach natężenia ruchu pakiety zaczną ginąć