Podstawy programowania w sieci Internet spotkanie 2 2017-10-21 Krzysztof Misztal
Spis tre±ci 1 TCP/IP 2 CSS 1 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 2 / 48
Co to jest protokóª? Protokóª jest j zykiem u»ywanym do komunikacji mi dzy dwoma poª czonymi w sie stacjami. Deniuje on okre±lony sposób ª czenia danych w pakiety, którego przestrzeganie pozwala stacji docelowej poprawnie odczyta dane odebrane ze stacji ¹ródªowej. 3 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 4 / 48
Historia Protokóª TCP/IP powstaª pod koniec lat 60. XX wieku jako badawczy projekt nansowany przez Departament Obrony Stanów Zjednoczonych, jednak posta tak, jak zastosowano we wspóªczesnych systemach operacyjnych przybraª dopiero w po- ªowie lat 80. Pierwszy raz zaimplementowano go w roku 1983 r. do BSD UNIXa 4.2. Wkrótce potem staª si standardem Obecnie TCP/IP nie jest wªasno±ci»adnej rmy software'owej ani instytucji normalizacyjnej, aczkolwiek Departament Obrony USA sprawuje co± w rodzaju patronatu nad TCP/IP, staraj c si o zachowanie pewnego minimum porz dku i spójno±ci standardu. 5 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 6 / 48
Budowa W obr bie TCP/IP dziaªa du»o innych protokoªów za pomoc których dane podró»uj po sieci. S one podzielone na warstwy: 7 / 48
Warstwa aplikacji Jest to najbardziej ogólny poziom obsªugi sieci, zapewniaj cy interfejs pomi dzy aplikacjami u»ytkowymi, a usªugami sieciowymi. Dziaªania w warstwie s widoczne dla u»ytkownika, poniewa» dziaªaj standardowe aplikacje TCP/IP, np.: telnet, HTTP, FTP, POP3, SMTP. To warstwa aplikacji jest bezpo±rednio wykorzystywana przez oprogramowanie u»ytkowe - przegl darki WWW, programy pocztowe, instant messengers, chat itd. 8 / 48
Warstwa aplikacji Telnet standard protokoªu komunikacyjnego u»ywanego w sieciach komputerowych do obsªugi odlegªego terminala w architekturze klient-serwer. HTTP (ang. Hypertext Transfer Protocol) protokóª przesyªania dokumentów hipertekstowych) to protokóª sieci WWW (ang. World Wide Web). FTP, protokóª transferu plików (ang. File Transfer Protocol) protokóª komunikacyjny umo»liwiaj cy dwukierunkowy transfer plików w ukªadzie serwer FTPklient FTP. Post Oce Protocol (POP) protokóª internetowy pozwalaj cy na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez poª czenie TCP/IP. SMTP (ang. Simple Mail Transfer Protocol) protokóª komunikacyjny opisuj cy sposób przekazywania poczty elektronicznej w Internecie. 9 / 48
Warstwa transportowa Warstwa transportowa (ang. Transport layer) gwarantuje poprawna komunikacje mi dzy komputerami w sieci oraz przepªyw danych miedzy warstwa internetowa a warstwa aplikacji. Do podstawowych protokoªów warstwy transportowej nale» : Protokóª TCP (Tramission Control Protocol) Protokóª UDP (User Datagram Protocol) 10 / 48
Warstwa transportowa UDP i TCP ró»ni si dbaªo±ci o transmitowane dane: UDP nie daje»adnej gwarancji ze dane dotr do celu i sªu»y do przesyªania krótkich informacji, które mog si zmie±ci w jednym datagramie (pakiecie danych). Mówimy, ze UDP jest protokóªem bezpoª czeniowym (connectionless). TCP ma zapewni pewny kanaª transmisji, w którym dotarcie danych do celu jest potwierdzane przez odbiorc. W razie potrzeby dane s retransmitowane. Aplikacja, która u»ywa TCP do przesªania danych do odbiorcy ma pewno±,»e poszczególne pakiety IP dotarªy do odbiorcy. O kontrole tego zadba TCP i tylko zbiorczo, na koniec, poinformuje aplikacje, czy transmisja zako«czyªa si sukcesem. Warstwa transportowa wykonuje najwi ksz cz ± pracy podczas przesyªania danych, zwalniaj c programy od obsªugi ruchu sieciowego. Dlatego przegl darki nie musz w»aden sposób samodzielnie komunikowa si z sieci wykorzystuj do tego warstw transportow wbudowan w obsªug TCP/IP. 11 / 48
Warstwa Internet Jest to najwa»niejsza (cho do± prosta) warstwa protokoªów TCP/IP, prawdziwy ko±ciec Internetu. Wykonuje czarn robot, polegaj c na prostym przerzucaniu pakietów z danymi od maszyny ¹ródªowej do maszyny docelowej, bez»adnej gwarancji,»e dotr do celu. Na warstw Internet skªadaj si trzy protokoªy wchodz ce w skªad TCP/IP: IP (Internet Protocol), ICMP (Internet Control Message Protocol) i IGMP (Internet Group Management Protocol). IP sªu»y do transportu pakietów, a ICMP i IGMP do ustalania trasy mi dzy nadawc i odbiorc pakietów. Warstwa ta nie wykrywa i nie poprawia bª dów. 12 / 48
Warstwa zyczna Jest to najbardziej podstawowa warstwa, jest zwi zana ze sprz tem odpowiada za przyjmowanie ci gów danych z warstwy Internet, ª - czenie danych i przesyªanie ich zawarto±ci oraz sam transmisj strumienia bitów. Najpro±ciej rzecz ujmuj c, warstwa zyczna to karta sieciowa lub modem i odpowiedni sterownik zainstalowany w systemie operacyjnym. Najwa»niejsze zadania warstwy zycznej to spakowanie pakietów IP tak, aby staªy si ci gami bajtów (tzw. ramkami) przesyªanymi przez sie. Drugie zadanie to zamiana adresów IP na zyczne adresy interfejsu sieciowego. 13 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 14 / 48
Zalety TCP/IP powszechnie dost pny, otwarty standard nie jest wªasno±ci»adnej korporacji; kompatybilny z ró»nymi systemami komputerowymi (mo»liwo± komunikacji z dowolnym systemem); dziaªa w ró»nych konguracjach sprz towych i programowych; jest pewny i skuteczny; posiada prosty, indywidualny system adresowania. 15 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 16 / 48
Protokoªy w obr bie TCP/IP Protokoªy poziomu sieciowego Address Resolution Protocol (ARP) Internet Control Message Protocol (ICMP) Internet Protocol (IP) Transmission Control Protocol (TCP) Protokoªy aplikacyjne Simple Mail Transfer Protocol (SMTP) Domain Name System (DNS) Hypertext Transfer Protocol (HTTP) Telnet File Transfer Protocol (FTP) i inne...... (MIME, Finger itp.) 17 / 48
Address Resolution Protocol (ARP) Protokóª komunikacyjny przeksztaªcania adresów IP (ustalanych autorytarnie przez u»ytkownika/administratora) na zyczne, 48- bitowe adresy MAC (przypisane zycznie m.in. do kart sieciowych) w komputerowych sieciach lokalnych typu Ethernet. Ka»dy komputer w sieci powinien posiada tzw. tablic ARP. Znajduje si w niej adres IP i przypisany do niego adres MAC. Dzi ki temu komputery mog si ze sob komunikowa za po- ±rednictwem adresu MAC, ale tylko w obr bie danej sieci LAN. Je±li jakie± informacje maj by przesªane do innej sieci (lub podsieci w sieci zªo»onej, sieci oddzielonej routerem, itp.), to adres MAC musi by zast piony adresem IP. 18 / 48
Internet Protocol (IP) Protokóª komunikacyjny warstwy sieciowej. U»ywany powszechnie w Internecie i sieciach lokalnych. Dane w sieciach IP s wysyªane w formie bloków okre±lanych mianem pakietów. W przypadku protokoªu IP, przed rozpocz ciem transmisji nie jest zestawiana wirtualna sesja komunikacyjna pomi dzy dwoma hostami, które nie komunikowaªy si ze sob wcze±niej. Protokóª IP jest protokoªem zawodnym - nie gwarantuje,»e pakiety dotr do adresata, nie zostan pofragmentowane, czy te» zdublowane, a ponadto mog dotrze do odbiorcy w innej kolejno±ci ni» zostaªy nadane. Niezawodno± transmisji danych jest zapewniana przez protokoªy warstw wy»szych (np. TCP). 19 / 48
Transmission Control Protocol (TCP) Strumieniowy protokóª komunikacji mi dzy dwoma komputerami. TCP zapewnia wiarygodne poª czenie dla wy»szych warstw komunikacyjnych przy pomocy sum kontrolnych i numerów sekwencyjnych pakietów, w celu werykacji wysyªki i odbioru. Brakuj ce pakiety s obsªugiwane przez» dania retransmisji. Host odbieraj cy pakiety TCP porz dkuje je wedªug numerów sekwencyjnych tak, by przekaza wy»szym warstwom peªen, zªo-»ony segment. Charakterystyczny dla TCP jest moment nawi zania poª czenia, nazywany ang. three-way handshake. 20 / 48
Transmission Control Protocol (TCP) 21 / 48
Domain Name System (DNS) Jest to system serwerów oraz protokóª komunikacyjny zapewniaj cy zamian adresów znanych u»ytkownikom Internetu na adresy zrozumiaªe dla urz dze«tworz cych sie komputerow. Dzi ki DNS nazwa, np. pl.wikipedia.org, mo»e zosta zamieniona na odpowiadaj cy jej adres IP, czyli 145.97.39.135. Adres DNS skªada si z domen internetowych rozdzielonych kropkami. Dla przykªadu w adresie Wikipedii org oznacza domen funkcjonaln organizacji, wikipedia domen nale» c do fundacji Wikimedia, a pl polsk domen w sieci tej instytucji. W ten sposób mo»liwe jest budowanie hierarchii nazw, porz dkuj cych Internet. DNS to zªo»ony system komputerowy oraz prawny. Zapewnia z jednej strony rejestracj nazw domen internetowych i ich powi - zanie z numerami IP. Z drugiej strony realizuje bie» c obsªug komputerów odnajduj cych adresy IP odpowiadaj ce poszczególnym nazwom. 22 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 23 / 48
Adresy internetowe Adres IP - unikalny identykator ka»dego urz dzenia poª czonego do Internetu (32 bitowa liczba binarna) np.: 00111110010111010010100011011000 24 / 48
Adresy internetowe Podziaª kropkami na 4 czªony (oktety), zawieraj ce po 8 cyfr. Przeliczenie ka»dego oktetu 8-bitowego (1 bajt) na warto± dziesi tn warto±ci: od 0 (00000000) do 255 (11111111) (32 bitowa liczba binarna) np.: 00111110.01011101.00101000.11011000 przybierze posta 62. 93. 40. 216 czyli 62.93.40.216 25 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 26 / 48
Porty Porty ka»da usªuga w sieci ma przypisany sobie adres, zwany portem. Najcz ±ciej u»ywane usªugi otrzymaªy nast puj ce porty 21 File Transfer Protocol (FTP) 23 Telnet 25 Simple Mail Transfer Protocol (SMTP) 80 Hypertext Transfer Protocol (HTTP) 27 / 48
Spis tre±ci 1 TCP/IP Historia Budowa Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna Zalety TCP/IP Protokoªy w obr bie TCP/IP Adresy internetowe Porty Narz dzia 2 CSS 28 / 48
ping To popularne narz dzie testowe wysyªa pakiety diagnostyczne ICMP (typu Echo Request, czyli z» daniem odesªania odpowiedzi), aby sprawdzi, czy zdalny host TCP/IP jest dost pny. Ping podaje równie» czas odpowiedzi zdalnego komputera na wysyªane zapytania, co pozwala si zorientowa, czy problem nie jest zwi zany z szybko±ci ª cza. Jako argument podajemy nazw zdalnego komputera. Warto pami ta,»e coraz cz ±ciej administratorzy serwerów internetowych blokuj pakiety ICMP (ping) jako stwarzaj ce potencjalne zagro»enie. W takim przypadku ping wy±wietli komunikat equest Timed Out"(Upªyn ª limit czasu» dania), mimo»e zdalna maszyna funkcjonuje poprawnie. 29 / 48
tracert Jest to windowsowa wersja uniksowego narz dzia traceroute. Program pokazuje ±cie»k pokonywan przez pakiety mi dzy dwoma hostami w sieci IP, wª czaj c w to wszystkie routery po drodze. Wy±wietlane s równie» opó¹nienia przej±cia pakietów pomi dzy nimi. Umo»liwia ªatwe sprawdzenie, jak tras przesyªane s pakiety. Jako argument podajemy nazw hosta docelowego. 30 / 48
ipcong Wy±wietla informacje o konguracji TCP/IP w systemach Windows. Polecenie wywoªane bez parametrów wy±wietla adres IP komputera, mask podsieci i bram domy±ln, a po uruchomieniu z parametrem /all wy±wietli kompletn informacj o konguracji sieci. W przypadku poª czenia modemowego parametry zostan wy±wietlone dopiero po jego nawi zaniu poª czenia. 31 / 48
netstat Najwa»niejsze narz dzie do okre±lania stanu sieci TCP/IP. Wy±wietla statystyki protokoªu i bie» ce poª czenia sieci TCP/IP. Do sprawdzenia, czy zdalny komputer przesyªa dane, czy te» przestaªy one pªyn, u»ywamy polecenia netstat -a, które poka»e stan aktywno±ci wszystkich portów TCP i UDP Twojego komputera. 32 / 48
Spis tre±ci 1 TCP/IP Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna 2 CSS Historia Wstawianie do HTML Kaskadowo± Budowa 33 / 48
Co to s CSS-y? CSS kaskadowe arkusze stylów (ang. Cascading Style Sheets) 34 / 48
Co to s CSS-y? mechanizm pozwalaj cy przypisywa style elementom deniowanym przy pomocy j zyków opisu dokumentu, opisuje sposób prezentacji dokumentu przez przegl dark, zwi kszenie przejrzysto±ci kodu HTML poprzez oddzielenie struktury i tre±ci dokumentu od opisów formatowania poszczególnych elementów, style pozwalaj kontrolowa takie atrybuty jak: rodzaj, rozmiar i kolor czcionki, wyrównywanie, wielko± marginesów, gª boko± wci cia akapitu, kolor i grak tªa, odst py mi dzy elementami, wzajemne poªo»enie elementu i otaczaj cego go tekstu, itd. 35 / 48
Spis tre±ci 1 TCP/IP Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna 2 CSS Historia Wstawianie do HTML Kaskadowo± Budowa 36 / 48
CSS - historia mo»liwo± stosowania stylów do innych j zyków podobnych do HTML, st d nowa nazwa CSS, 1996 wydanie ocjalnej dokumentacji: CSS, Kaskadowe arkusze stylów, poziom 1 przez organizacj World Wide Web Consortium, która przej ªa prace nad CSS, aktualnie dost pne s nast puj ce wersje: - CSS1, CSS2, CSS2.1, CSS3. 37 / 48
CSS - historia mo»liwo± stosowania stylów do innych j zyków podobnych do HTML, st d nowa nazwa CSS, 1996 wydanie ocjalnej dokumentacji: CSS, Kaskadowe arkusze stylów, poziom 1 przez organizacj World Wide Web Consortium, która przej ªa prace nad CSS, aktualnie dost pne s nast puj ce wersje: CSS1, CSS2, CSS2.1, CSS3. 38 / 48
Spis tre±ci 1 TCP/IP Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna 2 CSS Historia Wstawianie do HTML Kaskadowo± Budowa 39 / 48
CSS wstawianie do HTML Sposoby umieszczania stylów CSS w dokumencie HTML: styl lokalny, styl zagnie»d»ony, CSS z pliku zewn trznego, importowanie arkusza z innej strony. 40 / 48
CSS - styl lokalny Przykªad bezpo±rednie wstawienie stylu w obr bie danego znacznika, formatowany jest jedynie znacznik, w którym styl zostaª umieszczony, pozostaªe znaczniki (nawet tego samego typu) pozostaj bez zmian, 1 <p style = " text-align: center ; " > tekst </ p > 41 / 48
CSS - styl osadzony denicj stylu umieszcza si w nagªówku dokumentu HTML (<head>), w otwieraj cym tagu <style> nale»y doda jego typ, w tym wypadku type="text/css" - niektóre przegl darki mog niepoprawnie wy±wietli stron je»eli nie dodamy tego elementu. 42 / 48
CSS - styl osadzony Przykªad 1 < head > 2 < style type = " text / css " > 3 body { 4 s c r o l l b a r - f a c e - c o l o r : black ; 5 } 6 p { 7 text- align: center ; 8 font- family: " Tahoma " ; 9 } 10 h1 { 11 color: red ; 12 } 13 </ style > 14 </ head > 43 / 48
CSS - z pliku zewn trznego doª czenie do strony zewn trznego arkusza stylów (plik z rozszerzeniem.css), w którym deniujemy poszczególne style powi zanie ka»dej ze stron naszej witryny z powy»szym arkuszem stylów poprzez dopisanie w ich nagªówkach znacznika: 1 < head > 2 < link rel = " stylesheet " href = " 3 </ head > nazwa_pliku. css " type = " text / css " > 44 / 48
Spis tre±ci 1 TCP/IP Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna 2 CSS Historia Wstawianie do HTML Kaskadowo± Budowa 45 / 48
CSS kaskadowo± hierarchia ¹ródeª stylów, od lokalizacji stylu zale»y zasi g jego oddziaªywania, rodzaje arkuszy stylów zaczynaj c od najbardziej ogólnych: styl importowany z zewn trz (z innej witryny), styl z pliku zewn trznego, styl osadzony, styl lokalny, kaskadowo± stylów objawia si w przypadku korzystania z przynajmniej dwóch z wymienionych wcze±niej rodzajów arkuszy, gdy jaki± element znajduje si w zasi gu wi cej ni» jednego stylu, obowi zuje zasada,»e styl znajduj cy si bli»ej formatowanego elementu znosi dziaªanie stylu odlegªego. 46 / 48
Spis tre±ci 1 TCP/IP Warstwa aplikacji Warstwa transportowa Warstwa Internet Warstwa zyczna 2 CSS Historia Wstawianie do HTML Kaskadowo± Budowa 47 / 48
CSS budowa ogólna posta arkusza stylu: 1 selektor { 2 cecha: warto± ; 3 cecha: warto± ; 4 } selektor element, dla którego chcemy zdeniowa styl, cecha to, co chcemy okre±li dla danego elementu (np. kolor), warto± np. 12px, blue, small, bold. 48 / 48