Számítógép rendszerek 2. óra Alkalmazásrétegi internetes protokollok Egyszerű szabványos adatcsere formátumok
Névfeloldás: domain nevek DNS (Domain Name System): domain nevek IP címekhez rendelése Eredetileg: IETF RFC 882, IETF RFC 883 (1983), azóta sok módosítás és kiegészítés született Egy domain név felépítése: www.agt.bme.hu Stb. Harmadik aldomain pl. szolgáltatás megnevezése Második aldomain pl. szervezeti egység megnevezése Első aldomain pl. intézet, cég megnevezése TLD (Top Level Domain): legfelsőbb szintű domain (hu, de, com, org, stb.) pl. ország megjelölése Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 1/21
Névfeloldás: névkiszolgálók A domain név nyilván IP cím hozzárendeléseket a névkiszolgálók (Name Server) tartják A névkiszolgálók hierarchikus rendszert alkotnak: 13 legfelsőbb szintű (root) névkiszolgáló (a.root-servers.net, b.root-servers.net, stb.) nemzeti szintű és egyéb magas szintű névkiszolgálók (pl. ns.nic.hu, a.nic.de, stb.) vállalatok, intézmények, szolgáltatók névkiszolgálói (pl. nic.bme.hu, ns2.pantel.net, stb.) és így tovább, egyre alacsonyabb szinteken A névkiszolgálókon tárolt bejegyzések típusai pédául: A (Address) record: név IP cím hozzárendelés CNAME (Canonical Name) record: alternatív név név hozzárendelés MX (Mail Exchange) record: levelezést bonyolító kiszolgáló megadása Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 2/21
Névfeloldás: példa Péda: kutakodjunk egy kicsit a NASA háza táján! nslookup > set q=cname > www.nasa.gov www.nasa.gov > www.nasa.gov.speedera.net www.nasa.gov.speedera.net > www.nasa.gov.edgesuite.net www.nasa.gov.edgesuite.net canonical name = www.nasa.gov.speedera.net canonical name = www.nasa.gov.edgesuite.net canonical name = a1718.x.akamai.net Elindítjuk az nslookup programot Valójában mi a neve annak a gépnek ami a www.nasa.gov honlapot szolgáltatja? > set q=a > a1718.x.akamai.net És mi az IP címe ennek a gépnek? Name: a1718.x.akamai.net Address: 195.228.246.168 > set q=mx > nasa.gov nasa.gov nasa.gov nasa.gov nasa.gov nasa.gov nasa.gov mail exchanger = 10 ndjsnpf01.ndc.nasa.gov. mail exchanger = 10 ndjsnpf02.ndc.nasa.gov. mail exchanger = 10 ndjsnpf03.ndc.nasa.gov. mail exchanger = 10 ndmsnpf01.ndc.nasa.gov. mail exchanger = 10 ndmsnpf02.ndc.nasa.gov. mail exchanger = 10 ndmsnpf03.ndc.nasa.gov. Az xxxxxx@nasa.gov címre kimenő e-mailek melyik szerveren kötnek ki? Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 3/21
További információk egy domainről: WHOIS További információk tudhatók meg egy domain bejegyzőjéről a WHOIS szolgáltatással Eredetileg: IETF RFC 812 (1982), ma: IETF RFC 3912 (2004) 43-as TCP portra küldött egyszerű lekérdezés Példa: mit tudunk az index.hu bejegyzőiről? A telnet programmal TCP kapcsolatot > telnet hu.whois-servers.net 43 létesítünk a hu.whois-server.net 43-as portjával index.hu Egyszerű lekérdezést küldünk Válaszként a WHOIS szerver infordomain: index.hu mációkat küld a cím tulajdonosáról org: org_name_eng: Index.hu Ltd org: org_name_hun: Index.hu Rt address: Klapka 1-3 address: 1134 Budapest address: HU phone: 06-1-450-5350 fax-no: 06-1-450-5361 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 4/21
Weboldalak lekérése HTTP (Hypertext Transfer Protocol): egyszerű szövegalapú protokoll HTML dokumenumok, képek, egyéb fájlok átvitelére Legújabb elterjedt változata a HTTP/1.1: IETF RFC 2616 (1999) A 80-as TCP portot használja Példa: a http://www.debian.org/index.html dokumentum magyar nyelvű változatának lekérése (a következő oldalon ) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 5/21
> telnet www.debian.org 80 kapcsolat létesítése (80-as TCP port) GET /index.html HTTP/1.1 Host: www.debian.org Accept-Language: hu Connection: close HTTP/1.1 200 OK Date: Thu, 26 Feb 2009 04:58:42 GMT Server: Apache Last-Modified: Thu, 26 Feb 2009 03:29:12 GMT ETag: "3fb4078-38aa-f4b63200" Accept-Ranges: bytes Content-Length: 14506 Cache-Control: max-age=86400 Expires: Fri, 27 Feb 2009 04:58:42 GMT Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>debian -- The Universal Operating System </title>... index.html lekérése kiegészítő információk a lekéréshez a lekérést egy üres sor zárja le a szerver 200-as kóddal válaszol (OK) kiegészítő információk a válasz fejlécében a válasz fejlécét egy üres sor zárja le végül a kiszolgáló elküldi a kért dokumentumot Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 6/21
Miből áll egy HTML dokumentum? Példa: egy XHTML dokumentum (egy XML típusú HTML fájl): <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu"> <head> <title>xhtml példa dokumentum</title> </head> <body> <h1>gyümölcsválasztó</h1> <p>válasszon az alábbi gyümölcsök közül!</p> <p> <select name="gyumolcs"> <option selected="selected">alma</option> <option>körte</option> <option>barack</option> </select> </p> </body> </html> A böngésző így jeleníti meg Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 7/21
Levelezés: SMTP Levelek küldése: pl. SMTP (Simple Mail Transfer Protocol), IETF RFC 821 (1982) IETF RFC 5321 (2008) Használják a levelezőprogramok levelek elküldésére, és a levelezőszerverek az egymás közötti levéltovábbításra Szintén szöveges protokoll, a 25-ös TCP portot használja Példa munkamenet: Bob levelet küld Alice-nak, amit másolatban a főnök is megkap (a következő oldalon ) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 8/21
Levelezés: SMTP példa 220 smtp.example.com ESMTP Postfix HELO relay.example.org 250 Hello relay.example.org, I am glad to meet you MAIL FROM:<bob@example.org> 250 Ok RCPT TO:<alice@example.com> 250 Ok RCPT TO:<theboss@example.com> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> A kapcsolat létrejötte után a szerver köszönt Megkezdjük a munkamenetet nevünk közlésével Levél feladója Levél címzettje Levél második címzettje Jelezzük, hogy jön a levél maga A szerver utasít, hogy a levelet egy. - al zárjuk majd le Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 9/21
Levelezés: SMTP példa (folytatás) From: "Bob Example" <bob@example.org> To: Alice Example <alice@example.com> Cc: theboss@example.com Date: Tue, 15 Jan 2008 16:02:43-0500 Subject: Test message Hello Alice. This is a test message. Your friend, Bob. 250 Ok: queued as 12345 QUIT Maga a levél (MIME e-mail formátumban) A szerver visszaigazolja hogy a levél készen áll kézbesítésre (várólistára került) Befejezzük a munkamenetet 221 Bye A szerver elköszön Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 10/21
Levelezés: POP3 Levelek fogadása: pl. POP3 (Post Office Protocol version 3), IETF RFC 1939 (1996) A levelezőprogramok levelek letöltésére használják Szintén szöveges protokoll, a 110-es TCP portot használja Példa munkamenet: mrose felhasználó letölti leveleit a dbc.mtview.ca.us kiszolgálóról (a következő oldalon ) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 11/21
+OK POP3 server ready (dbc.mtview.ca.us) USER mrose +OK User accepted PASS xxxxxxxxx +OK Pass accepted +OK mrose's maildrop has 2 messages (320 octets) STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200. RETR 1 +OK 120 octets <a kiszolgáló elküldi az 1. üzenetet>. DELE 1 +OK message 1 deleted RETR 2 +OK 200 octets <a kiszolgáló elküldi a 2. üzenetet>. QUIT +OK dewey POP3 server signing off A kiszolgáló köszönt minket Megadjuk felhasználói nevünket és jelszavunkat Összesített információt kapunk postafiókunkról: 2 levél, összesen 320 byte Részletes listát kapunk postaládánkról: az 1. levél mérete 120 byte, a 2. levélé 200 byte Lekérjük az 1. levelet Töröljük az 1. levelet Lekérjük a 2. levelet Kijelentkezünk a kiszolgálóról Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 12/21
Miből áll egy MIME e-mail? Return-Path: <xxxxxx@ggki.hu> Delivered-To: aaaaaa@freemail.hu Received: (qmail 6970 invoked from network); 18 Feb 2009 17:12:03 +0100 Received: from fw.ggki.hu (193.224.75.110) by fmx14.freemail.hu with SMTP; 18 Feb 2009 17:11:59 +0100 Received: from localhost (localhost [127.0.0.1]) by fw.ggki.hu (Postfix) with ESMTP id E85F3340E3F6; Wed, 18 Feb 2009 17:06:06 +0100 (CET) Received: from fw.ggki.hu ([127.0.0.1]) by localhost (fw.ggki.hu [127.0.0.1]) (amavisd-new, port 1025) with ESMTP id cqbcyugmgbbr; Wed, 18 Feb 2009 17:06:06 +0100 (CET) Received: from ggki.hu (xxxxxxxx.lan.ggki.hu [10.0.0.117]) by fw.ggki.hu (Postfix) with ESMTP id BA78C340E3F4; Wed, 18 Feb 2009 17:06:05 +0100 (CET) Message-ID: <499C3345.B0611699@ggki.hu> Feladó, végleges címzett (akinek a levél kézbesítésre került) A levél továbbításának útvonala (a továbbításban résztvevő kiszolgálók mind hozzáfűzik magukat) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 13/21
Miből áll egy MIME e-mail? (folytatás) Date: Wed, 18 Feb 2009 17:11:49 +0100 From: Aaaaaa Bbbbbb <xxxxxx@ggki.hu> X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: aaaaaa@freemail.hu Subject: A level targya Content-Type: multipart/mixed; boundary="------------885e77e9a5ccc18589cc393f" X-Freemail: message scanned A feladó által megadott, és a levelezőprogram által hozzáfűzött adatok This is a multi-part message in MIME format. --------------885E77E9A5CCC18589CC393F Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit A levél több részből áll, elsőnek jön a szöveges rész... Kedves Címzett! Ez itt a levél szövetes része. Üdv: xxxxxx Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 14/21
Miből áll egy MIME e-mail? (folytatás) --------------885E77E9A5CCC18589CC393F Content-Type: application/x-zip-compressed; name="csatolmany.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="csatolmany.zip"...másodiknak pedig a csatolmány, esetünkben egy zip fájl UEsDBBQAAgAIACuRUTrEh3EfIGwAAAB2AQAPAAAAYmlyLWZyZXktbHMuZG9j7J0LdFRFmser kw4jkfaiiwlk0wooiyxmeqre9mgbqwiiiwcidjoepdopmpg0cnmvuq+jhhu4ygy5lgdzca96 ZthZlkWMjHAWcF2Mr8A4mmUYZoegssYdXA5wsk6GJfv/vqrbXbf7dtIhacjO3urz63urbt2q R2VvbWF0aWthX21pbnRhLkRPQ1BLBQYAAAAAAwADALkAAADcCxEAAAA= --------------885E77E9A5CCC18589CC393F-- MIME = Multipurpose Internet Mail Extensions Részletes információk a MIME formátumról: IETF RFC 2045, RFC 2046, RFC 2047, RFC 4288, RFC 4289, RFC 2049 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 15/21
Egyszerű szövegfájlok: ASCII (1968) Megnevezések: ANSI_X3.4-1968, ISO-IR-6, ANSI_X3.4-1986, ISO_646.IRV:1991, ASCII, US-ASCII, US, IBM367, CP367 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 16/21
Egyszerű szövegfájlok: ISO 8859-1 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 17/21
Egyszerű szövegfájlok: ISO 8859-2 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 18/21
Egyszerű szövegfájlok: ISO 8859-7 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 19/21
Egyszerű szövegfájlok: ISO 8859-2 vs. UTF-8 Az Unicode az UCS (Universal Character Set, ISO/IEC 10646:2003, a 00 00 00 10 FF FF tartományban 1114112 féle karaktert definiál) megvalósítására vonatkozó szabvány, karbantartója a Unicode Consortium. Megvalósulása pl. az UTF-8 (8-bit UCS/Unicode Transformation Format) kódolás, ami a karaktereket változó hosszon (1-4 byteon) tárolja; az 1 byteos tartomány ASCII kompatibilis. Példa: Karakterkódolási példa (bal oldalon az egyes byteoknak megfelelő hexadecimális számok, jobb oldalon szövegként megjelenítve) ISO 8859-2 kódolással: UTF-8 kódolással: (A megjelenítő program nem ismerte az UTF-8 kódolást, ezért például a C3 A9 kombinációt helytelenül két különálló 1 byteos karakterként mint à jelenítette meg, holott ez UTF-8- ban a 2 byteos é karaktert jelöli.) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 20/21
Források, további olvasnivalók: Wikipedia (információk, péda munkamenetek): http://en.wikipedia.org/wiki/domain_name_system http://en.wikipedia.org/wiki/whois http://en.wikipedia.org/wiki/hypertext_transfer_protocol http://en.wikipedia.org/wiki/simple_mail_transfer_protocol http://en.wikipedia.org/wiki/post_office_protocol http://en.wikipedia.org/wiki/ascii http://en.wikipedia.org/wiki/iso-8859 http://en.wikipedia.org/wiki/unicode http://en.wikipedia.org/wiki/utf-8 stb. W3Schools XHTML referencia http://www.w3schools.com/tags/default.asp Szövegkódolási táblázatok http://dret.net/lectures/publishing-spring07/img/iso-8859-1.gif http://dret.net/lectures/publishing-spring07/img/iso-8859-2.gif http://dret.net/lectures/publishing-spring07/img/iso-8859-7.gif http://www.asahi-net.or.jp/~yw3t-trns/code/iso646-us.jpg Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 21/21