Számítógép rendszerek
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 TLD (Top Level Domain): legfelsőbb szintű domain (hu, de, com, org, stb.) pl. ország megjelölése Első aldomain pl. intézet, cég megnevezése Második aldomain pl. szervezeti egység megnevezése Harmadik aldomain pl. szolgáltatás megnevezése Stb. Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
1/19
Névfeloldás: névkiszolgálók
• A domain név → IP cím hozzárendeléseket a névkiszolgálók (Name Server) tartják nyilván • 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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
2/19
Névfeloldás: példa Péda: kutakodjunk egy kicsit a NASA háza táján! Elindítjuk az nslookup programot
nslookup > set q=CNAME > www.nasa.gov www.nasa.gov
canonical name = www.nasa.gov.speedera.net
> www.nasa.gov.speedera.net www.nasa.gov.speedera.net
canonical name = www.nasa.gov.edgesuite.net
> www.nasa.gov.edgesuite.net www.nasa.gov.edgesuite.net
Valójában mi a neve annak a gépnek ami a www.nasa.gov honlapot szolgáltatja?
canonical name = a1718.x.akamai.net
> 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 mail exchanger mail exchanger mail exchanger mail exchanger mail exchanger
= = = = = =
10 10 10 10 10 10
ndjsnpf01.ndc.nasa.gov. ndjsnpf02.ndc.nasa.gov. ndjsnpf03.ndc.nasa.gov. ndmsnpf01.ndc.nasa.gov. ndmsnpf02.ndc.nasa.gov. ndmsnpf03.ndc.nasa.gov.
Az
[email protected] címre kimenő e-mailek melyik szerveren kötnek ki?
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
3/19
Weboldalak lekérése
• HTTP (Hypertext Transfer Protocol): egyszerű dokumenumok, képek, egyéb fájlok átvitelére
szövegalapú
protokoll
HTML
• 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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
4/19
> telnet www.debian.org 80 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
kapcsolat létesítése (80-as TCP port) 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 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Debian -- The Universal Operating System ...
végül a kiszolgáló elküldi a kért dokumentumot
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
5/19
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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
6/19
Levelezés: SMTP példa
220 smtp.example.com ESMTP Postfix HELO relay.example.org
A kapcsolat létrejötte után a szerver köszönt Megkezdjük a munkamenetet nevünk közlésével
250 Hello relay.example.org, I am glad to meet you MAIL FROM:
Levél feladója
250 Ok RCPT TO:
Levél címzettje
250 Ok RCPT TO:
Levél második címzettje
250 Ok DATA 354 End data with .
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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
7/19
Levelezés: SMTP példa (folytatás) From: "Bob Example" To: Alice Example Cc: [email protected] 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 221 Bye
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 A szerver elköszön
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
8/19
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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
9/19
+OK POP3 server ready (dbc.mtview.ca.us) USER mrose +OK User accepted PASS xxxxxxxxx +OK Pass accepted
A kiszolgáló köszönt minket Megadjuk felhasználói nevünket és jelszavunkat
+OK mrose's maildrop has 2 messages (320 octets) STAT +OK 2 320
Összesített információt kapunk postafiókunkról: 2 levél, összesen 320 byte
LIST +OK 2 messages (320 octets) 1 120 2 200 .
Részletes listát kapunk postaládánkról: az 1. levél mérete 120 byte, a 2. levélé 200 byte
RETR 1 +OK 120 octets .
Lekérjük az 1. levelet
DELE 1 +OK message 1 deleted
Töröljük az 1. levelet
RETR 2 +OK 200 octets .
Lekérjük a 2. levelet
QUIT +OK dewey POP3 server signing off
Kijelentkezünk a kiszolgálóról
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
10/19
Miből áll egy MIME e-mail?
Return-Path: <[email protected]> Delivered-To: [email protected]
Feladó, végleges címzett (akinek a levél kézbesítésre került)
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: <[email protected]>
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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
11/19
Miből áll egy MIME e-mail? (folytatás) Date: Wed, 18 Feb 2009 17:11:49 +0100 From: Aaaaaa Bbbbbb <[email protected]>
A feladó által megadott, és a levelezőprogram által hozzáfűzött adatok
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: [email protected] Subject: A level targya Content-Type: multipart/mixed; boundary="------------885E77E9A5CCC18589CC393F" X-Freemail: message scanned This is a multi-part message in MIME format. --------------885E77E9A5CCC18589CC393F Content-Type: text/plain; charset=iso-8859-2
A levél több részből áll, elsőnek jön a szöveges rész...
Content-Transfer-Encoding: 8bit Kedves Címzett! Ez itt a levél szövetes része. Üdv:
xxxxxx
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
12/19
Miből áll egy MIME e-mail? (folytatás) --------------885E77E9A5CCC18589CC393F Content-Type: application/x-zip-compressed; name="Csatolmany.zip"
...másodiknak pedig a csatolmány, esetünkben egy zip fájl
Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="Csatolmany.zip" 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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
13/19
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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
14/19
Egyszerű szövegfájlok: ISO 8859-1
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
15/19
Egyszerű szövegfájlok: ISO 8859-2
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
16/19
Egyszerű szövegfájlok: ISO 8859-7
Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
17/19
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 hexadecimális számok, jobb oldalon szövegként megjelenítve)
byteoknak
megfelelő
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-8ban a 2 byteos „é” karaktert jelöli.) Számítógép rendszerek: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
18/19
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: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok
19/19