Alkalmazások I Hagyományos Internet alkalmazások
2 Internet alkalmazások története 1983: TCP/IP kizárólagos használata 1982: smtp e-mail protokoll 1983: DNS 1985: ftp protokoll 1988: TCP torlódás vezérlés 1991: http, HTML 1994: Mosaic
3 Hálózati alkalmazások Tipikus hálózati alkalmazás kliensszerver architektúrájú Kliens kapcsolat felvétel kezdeményezése szolgáltatás kérése a szervertől pl. web browser, mail reader Szerver szolgáltatások nyújtása pl. web szerver, mail szerver
4 Internet alkalmazások Alkalmazás e-mail remote terminal access Web file transfer streaming multimedia remote file server Internet telefon Alkalmazási réteg protokoll smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] saját (e.g. RealNetworks) NFS saját (e.g., Vocaltec) Szállítási réteg protokoll TCP TCP TCP TCP TCP vagy UDP TCP vagy UDP általában UDP
5 Név szolgáltatás Hoszt címek (IP címek) nem felhasználóbarát routerbarát Név szolgáltatás middleware feloldási mechanizmus nincs routolási info Névterek egyszintes (flat) hierarchikus
6 DNS rendszer Történelem NIC sima táblázat (fájl) hosts.txt DNS rendszer elosztott adatbázisok név szerverek hálózati lekérdezés hierarchikus névtér
7 A DNS rendszer működése pl.: 2 cs.princeton.edu Felhasználó 1 user @ cs.princeton.edu Name server Mail program 192.12.69.5 3 TCP 192.12.69.5 4 192.12.69.5 5 IP
8 DNS névtér edu com gov mil org net uk fr princeton mit cisco yahoo nasa nsf arpa navy acm ieee cs ee physics ux01 ux04
9 DNS zónák edu com gov mil org net uk fr princeton mit cisco yahoo nasa nsf arpa navy acm ieee cs ee physics ux01 ux04
10 Név szerverek kérdések válaszok végleges másik név szerver szerver hierarchia Princeton name server Root name server Cisco name server CS name server EE name server
11 Név szerverek (folyt.) nem centralizált meghibásodás forgalom nem skálázható helyi név szerverek autoritatív név szerver root név szerverek
12 Root név szerverek letter.root-servers.net Server Operator Locations IP Addr Home A VeriSign Naming and Directory Services Dulles VA 198.41.0.4 19836 B Information Sciences Institute Marina Del Rey CA C Cogent Communications Herndon VA; Los Angeles; New York City; Chicago IPv4: 192.228.79.201 IPv6: 2001:478:65::53 tba 192.33.4.12 2149 D University of Maryland College Park MD 128.8.10.90 27 E NASA Ames Research Center Mountain View CA 192.203.230.10 297 F Internet Systems Consortium, Inc. 37 sites: G U.S. DOD Network Information Center Vienna VA H U.S. Army Research Lab Aberdeen MD IPv4: 192.5.5.241 IPv6: 2001:500::1035 3557 192.112.36.4 568 IPv4: 128.63.2.53 IPv6: 2001:500:1::803f:235 I Autonomica/NORDUnet 29 sites: 192.36.148.17 29216 J VeriSign Naming and Directory Services Dulles VA (4 locations) 192.58.128.30 26415 K L M Reseaux IP Europeens - Network Coordination Centre Internet Corporation for Assigned Names and Numbers WIDE Project London (UK); Amsterdam (NL); IPv4: 193.0.14.129 IPv6: 2001:7fd::1 13 25152 Los Angeles 198.32.64.12 20144 Tokyo; Seoul (KR); Paris (FR) 202.12.27.33 IPv6: 2001:dc3::35 7500
13 Név szerverek név-érték összekötés resource records <name,vaue,type,class,ttl> type: A - address NS - name server CNAME - canonical name MX - mail exchange (mail server) class IN - Internet
14 DNS bejegyzések Type=A name hosztnév value IP cím Type=NS name domain (pl. foo.com) value domain autoritatív név szerverének címe Type=CNAME name alias név www.ibm.com -> servereast.backup2.ibm.com value kanonikus név Type=MX value a name-hez tartozó mail szerver
15 DNS lekérdezések (pl.) dig www.sze.hu ; <<>> DiG 9.2.2 <<>> www.sze.hu ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19019 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.sze.hu. IN A ;; ANSWER SECTION: www.sze.hu. 900 IN CNAME rs1.sze.hu. rs1.sze.hu. 900 IN A 193.224.128.1 dig -t MX sze.hu ; <<>> DiG 9.2.2 <<>> -t MX sze.hu ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54938 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;sze.hu. IN MX ;; ANSWER SECTION: sze.hu. 900 IN MX 50 rs1.sze.hu.
16 Név feloldás rekurzív iteratív Client 1 cicada.cs.princeton.edu 192.12.69.60 8 Local name server cicada.cs.princeton.edu princeton.edu, 128.196.128.233 cicada.cs.princeton.edu cs.princeton.edu, 192.12.69.5 2 4 5 3 Root name server Princeton name server cicada.cs.princeton.edu cicada.cs.princeton.edu, 192.12.69.60 6 7 CS name server
17 Kliens-szerver UDP interakció Server (running on hostid) Client create socket, port=x, for incoming request: serversocket = DatagramSocket() read request from serversocket create socket, clientsocket = DatagramSocket() Create, address (hostid, port=x, send datagram request using clientsocket write reply to serversocket specifying client host address, port umber read reply from clientsocket close clientsocket
18 Kliens-szerver TCP interakció Server (running on hostid) create socket, port=x, for incoming request: welcomesocket = ServerSocket() wait for incoming connection request connectionsocket = welcomesocket.accept() read request from connectionsocket write reply to connectionsocket close connectionsocket TCP connection setup Client create socket, connect to hostid, port=x clientsocket = Socket() send request using clientsocket read reply from clientsocket close clientsocket
19 Elektronikus levelezés Rendszer komponensek user agent (mail program) mail server simple mail transfer protocol: smtp mail server SMTP mail server user agent SMTP SMTP mail server kimenő üzenet sor felh. mailbox user agent user agent user agent user agent user agent
20 Mail szerverek Mailbox felhasználó bejövő, olvasatlan levelei kimenő (továbbításra váró) levelek smtp protokoll kliens: küldő mail szerver vagy user agent szerver: fogadó
21 SMTP üzenet továbbítás Mail reader Mail gateway Mail reader Mail daemon Mail daemon Mail daemon SMTP/TCP SMTP/TCP
22 SMTP (folyt.) TCP, port 25 közvetlen átvitel a küldő és fogadó szerver között három fázis kapcsolat felvétel (greeting) üzenetek átvitele lezárás parancs/válasz interakció parancsok: ASCII text (HELO, MAIL, RCPT, DATA, QUIT) válaszok: státuszkód üzenetek 7-bit ASCII formátumban
23 SMTP trace 193.224.128.103.00025-192.168.031.052.49519: 220 mailgw.sze.hu SMTP; Tue, 12 Apr 2005 10:33:46 +0200 192.168.031.052.49519-193.224.128.103.00025: EHLO [192.168.31.52] 193.224.128.103.00025-192.168.031.052.49519: 250 mailgw.sze.hu Hello 192.168.031.052.49519-193.224.128.103.00025: MAIL FROM:<heckenas@sze.hu> 193.224.128.103.00025-192.168.031.052.49519: 250 <heckenas@sze.hu>... Sender ok 192.168.031.052.49519-193.224.128.103.00025: RCPT TO:<2588068@t-email.hu> 193.224.128.103.00025-192.168.031.052.49519: 250 <2588068@t-email.hu>... Recipient ok 192.168.031.052.49519-193.224.128.103.00025: DATA 193.224.128.103.00025-192.168.031.052.49519: 354 Enter mail, end with "." on a line by itself 192.168.031.052.49519-193.224.128.103.00025: Mime-Version: 1.0 (Apple Message framework v619.2) Content-Transfer-Encoding: 7bit Message-Id: <4bc63662b8aa2cddc3c64df3bc2efe15@sze.hu> Content-Type: text/plain; charset=us-ascii; delsp=yes; format=flowed To: 2588068@t-email.hu From: =?ISO-8859-1?Q?Heckenast_Tam=E1s?= <heckenas@sze.hu> Subject: test Date: Tue, 12 Apr 2005 10:32:46 +0200 X-Mailer: Apple Mail (2.619.2) Hello!. 193.224.128.103.00025-192.168.031.052.49519: 250 M2005041210334616584 Message accepted for delivery 192.168.031.052.49519-193.224.128.103.00025: QUIT 193.224.128.103.00025-192.168.031.052.49519: 221 mailgw.sze.hu closing connection.
24 Üzenet formátum header CRLF-del zárt mezők mezők type:value body MIME header body blank line
25 MIME Multipurpose Internet Mail Extensions nem ASCII szöveg tartalom kódolás több részből álló test média típusok
26 Többrészes levél From sziray@sze.hu Sat Apr 9 01:06:01 2005 Return-Path: <sziray@sze.hu> X-Original-To: heckenas@sze.hu Delivered-To: heckenas@sze.hu Received: from mailgw.sze.hu (mailgw.sze.hu [193.224.128.103]) by rs1.sze.hu (Postfix) with SMTP id C9DD1AB3 for <heckenas@sze.hu>; Fri, 8 Apr 2005 12:42:33 +0200 (DFT) Received: from sze.hu ([192.168.31.84]) by mailgw.sze.hu (SMSSMTP 4.0.0.59) with SMTP id M2005040812440121221 for <heckenas@sze.hu>; Fri, 08 Apr 2005 12:44:01 +0200 Message-ID: <42565F76.A1CAE71F@sze.hu> Date: Fri, 08 Apr 2005 12:39:50 +0200 From: Sziray =?iso-8859-1?q?j=f3zsef?= dr. <sziray@sze.hu> X-Mailer: Mozilla 4.79 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Heckenast =?iso-8859-1?q?tam=e1s?= <heckenas@sze.hu> Subject: Debrecen Content-Type: multipart/mixed; boundary="------------5f8b4cd3fca097fa826a1a56" Status: This is a multi-part message in MIME format. --------------5F8B4CD3FCA097FA826A1A56 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Egy ilyen összefoglalót javaslok a jelentkezésre. Sz. J. --------------5F8B4CD3FCA097FA826A1A56 Content-Type: application/msword; name="web-techn-heckenast.doc" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="web-techn-heckenast.doc" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAogAAAAAA AAAAEAAAawAAAAEAAAD+////AAAAAKUAAACjAAAA////////////////////////////////... AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== --------------5F8B4CD3FCA097FA826A1A56--
27 MIME fejléc MIME-Version Header Field version := "MIME-Version" ":" 1*DIGIT "." 1*DIGIT Content-Type Header Field content := "Content-Type" ":" type "/" subtype *(";" parameter) Content-Transfer-Encoding Header Field encoding := "Content-Transfer-Encoding" ":" mechanism Content-ID Header Field id := "Content-ID" ":" msg-id Content-Description Header Field description := "Content-Description" ":" *text
28 Levél hozzáférési protokollok Levelek lekérdezése a szerverekről POP [RFC 1939] IMAP [RFC 1730] HTTP user agent SMTP SMTP POP3 or IMAP user agent sender s mail server receiver s mail server
29 POP3 110-es port Parancsok USER, PASS, STAT, LIST, RETR, TOP, DELE, RSET, QUIT titkosított login APOP
30 POP3 kliens trace 193.224.128.001.00110-192.168.031.052.49388: +OK POP3 rs1.szif.hu v2003.83 server ready 192.168.031.052.49388-193.224.128.001.00110: USER heckenas 193.224.128.001.00110-192.168.031.052.49388: +OK User name accepted, password please 192.168.031.052.49388-193.224.128.001.00110: PASS xxxx 193.224.128.001.00110-192.168.031.052.49404: +OK Mailbox open, 111 messages 192.168.031.052.49404-193.224.128.001.00110: STAT 193.224.128.001.00110-192.168.031.052.49404: +OK 111 2726429 192.168.031.052.49404-193.224.128.001.00110: UIDL 1 193.224.128.001.00110-192.168.031.052.49404: +OK 1 3e451b8100000f03 POP3 192.168.031.052.49404-193.224.128.001.00110: UIDL 111 193.224.128.001.00110-192.168.031.052.49404: +OK 111 3e451b8100000f71 192.168.031.052.49404-193.224.128.001.00110: QUIT 193.224.128.001.00110-192.168.031.052.49404: +OK Sayonara 212.051.125.049.00110-192.168.031.052.49389: +OK T-email mail service ready <425b80b5.4f3540@mailgw3.mail.westel900.net> 192.168.031.052.49389-212.051.125.049.00110: APOP 2588068 c13c77b8a8b89f95799771b5b2b8462a 212.051.125.049.00110-192.168.031.052.49389: +OK Maildrop ready 192.168.031.052.49389-212.051.125.049.00110: STAT APOP 212.051.125.049.00110-192.168.031.052.49389: +OK 0 0 192.168.031.052.49389-212.051.125.049.00110: QUIT 212.051.125.049.00110-192.168.031.052.49389: +OK
31 IMAP 143-as Parancsok AUTHENTICATE, LOGIN, LOGOUT, NOOP mail box commands (eg. SELECT, EXAMINE, CREATE, DELETE, LIST, SEARCH etc.) message set commands (FETCH, STORE, COPY) Szerver válaszok OK, NO, BAD, BYE
32 Fájl átvitel fájlok le/feltöltése távoli hoszt fájlrendszeréből/be kliens-szerver architektúra ftp protokoll 21-es port FTP felh. felület FTP kliens helyi fájlrendszer fájlátvitel FTP szerver távoli fájlrendszer
33 FTP protokoll Két csatorna parancs csatorna adatátviteli csatorna Kapcsolat állapot kezelése TCP control connection port 21 FTP kliens TCP data connection port 20 FTP szerver
34 FTP protokoll (folyt.) Adattípusok ASCII BINARY (IMAGE TYPE) Átviteli módok STREAM BLOCK Kapcsolat felvétel control/connection port data port connection negotiation Hibakezelés & újraindítás
35 FTP protokoll (folyt.) Parancsok Hozzáférés USER, PASS, ACCT CWD, CDUP REIN, QUIT Átviteli paraméterek PORT, PASV, TYPE, MODE Szolgáltatások RETR, STOR, STOU, APPE, ALLO, REST, ABOR, DELE,RMD, MKD, PWD, LIST, NLST, SYST, STAT
36 FTP protokoll (folyt.) Válaszok 3 számjegyű kódok 1yz Positive Preliminary reply 2yz Positive Completion reply 3yz Positive Intermediate reply 4yz Transient Negative Completion reply 5yz Permanent Negative Completion reply x0z Syntax x1z Information x2z Connections x3z Authentication and accounting x4z Unspecified as yet. x5z File system
37 FTP trace 127.000.000.001.00021-127.000.000.001.49243: 220 localhost FTP server (tnftpd 20040810) ready. 127.000.000.001.49243-127.000.000.001.00021: USER heckenasttamas 127.000.000.001.00021-127.000.000.001.49243: 331 Password required for heckenasttamas. 127.000.000.001.49243-127.000.000.001.00021: PASS xxxx 127.000.000.001.00021-127.000.000.001.49243: 230-127.000.000.001.00021-127.000.000.001.49243: Welcome to Darwin! 230 User heckenasttamas logged in. 127.000.000.001.49243-127.000.000.001.00021: SYST 127.000.000.001.00021-127.000.000.001.49243: 215 UNIX Type: L8 Version: tnftpd 20040810 127.000.000.001.49243-127.000.000.001.00021: FEAT 127.000.000.001.00021-127.000.000.001.49243: 211-Features supported 127.000.000.001.00021-127.000.000.001.49243: MDTM MLST Type*;Size*;Modify*;Perm*;Unique*; REST STREAM SIZE TVFS 211 End 127.000.000.001.49243-127.000.000.001.00021: PWD 127.000.000.001.00021-127.000.000.001.49243: 257 /Users/heckenasttamas is the current directory. 127.000.000.001.49243-127.000.000.001.00021: EPSV 127.000.000.001.00021-127.000.000.001.49243: 229 Entering Extended Passive Mode ( 49244 ) 127.000.000.001.49243-127.000.000.001.00021: LIST 127.000.000.001.00021-127.000.000.001.49243: 150 Opening ASCII mode data connection for /bin/ls. 127.000.000.001.49244-127.000.000.001.49245: total 5 -rw-r--r-- 1 heckenas heckenas 3 May 8 2004.CFUserTextEncoding -rw-r--r-- 1 heckenas heckenas 15364 Apr 19 01:46.DS_Store -rw-r--r-- 1 heckenas heckenas 32768 May 8 2004.FBCIndex drwxr-xr-x 3 heckenas heckenas 102 May 8 2004.FBCLockFolder drwx------ 4 heckenas heckenas 136 Apr 18 23:16.Trash... 127.000.000.001.00021-127.000.000.001.49243: 226 Transfer complet
38 FTP trace (folyt.) 127.000.000.001.49243-127.000.000.001.00021: TYPE I 127.000.000.001.49243-127.000.000.001.00021: SIZE test.html 127.000.000.001.00021-127.000.000.001.49243: 213 271 127.000.000.001.49243-127.000.000.001.00021: EPSV 127.000.000.001.00021-127.000.000.001.49243: 229 Entering Extended Passive Mode ( 49254 ) 127.000.000.001.49243-127.000.000.001.00021: RETR test.html 127.000.000.001.00021-127.000.000.001.49243: 150 Opening BINARY mode data connection for test.html (271 bytes). 127.000.000.001.49254-127.000.000.001.49255: <html> <head>... 127.000.000.001.00021-127.000.000.001.49243: 226 Transfer complete. 127.000.000.001.49243-127.000.000.001.00021: MDTM test.html 127.000.000.001.00021-127.000.000.001.49243: 213 20050419052321 127.000.000.001.49243-127.000.000.001.00021: QUIT 127.000.000.001.00021-127.000.000.001.49243: 221-127.000.000.001.00021-127.000.000.001.49243: Data traffic for this session was 271 bytes in 1 file. Total traffic for this session was 6200 bytes in 2 transfers. 221 Thank you for using the FTP service on localhost.
39 Távoli terminál elérés Telnet protokoll két irányú, 8-bit bájt orientált kommunikációs megoldás terminál-terminál kommunikáció folyamat-folyamat kommunikáció
40 Telnet implementáció I/O eszköz Telnet kliens Telnet szerver Operációs rendszer Operációs rendszer Internet
41 Telnet alapkoncepció Network Virtual Terminal megegyezés az opciókban szimmetrikus terminál és process nézet Kliens formátum Telnet kliens NVT formátum Telnet szerver Szerver formátum Felhaszn. I/O eszköz Szerver rendszer
42 Network Virtual Terminal átmeneti kanonikus terminál reprezentáció nem kell kezelni a speciális terminál jellemzőket egyensúly a túl korlátozó egyszerűsítések és a túl bonyolult megvalósítás között
43 NVT vezérlő karakterek ASCII Control Code Decimal Value Assigned Meaning NUL 0 No operation (has no effect on output) BEL 7 Sound audible/visible signal (no motion) BS 8 Move left one character position HT 9 Move right to the next horizontal tab stop LF 10 Move down (vertically) to the next line VT 11 Move down to the next vertical tab stop FF 12 Move to the top of the next page CR 13 Move to the left margin on the current line other control -- No operation (has no effect on output)
44 Egyeztetett opciók további szolgáltatások az NVT alatt és felett kapcsolatjellemzők dinamikus módosítása kérés - elfogadás, visszautasítás DO, DON'T (kérés túlsó oldaltól) WILL, WON'T (küldő ajánlata) <IAC><will><OPTION> <IAC><do><OPTION> do don't will won't won't don't
45 Opciók Decimal code Name RFC 1 echo 857 3 suppress go ahead 858 5 status 859 6 timing mark 860 24 terminal type 1091 31 window size 1073 32 terminal speed 1079 33 remote flow control 1372 34 linemode 1184 36 environment variables 1408
46 Opció egyeztetés Szimmetria hurkok megelőzése csak változtatást kell kérni non-response opciók parancs pufferelés visszautasított kérést csak változás esetén szabad megismételni alegyeztetések
47 Opció egyeztetés (pl.) $ telnet telnet> toggle options Will show option processing. telnet> open 127.0.0.1 Trying... Connected to 127.0.0.1. Escape character is ^]. SEND do ECHO SEND do SUPPRESS GO AHEAD SEND will TERMINAL TYPE (don t reply) SEND do SUPPORT SAK SEND will NAWS (don t reply) RCVD dont AUTHENTICATION (don t reply) RCVD do TERMINAL TYPE (don t reply) RCVD will ECHO (reply) SEND do ECHO (don t reply) RCVD will SUPPRESS GO AHEAD (reply) SEND do SUPPRESS GO AHEAD (don t reply) RCVD wont SUPPORT SAK (don t reply) RCVD do NAWS (don t reply) SEND suboption TELOPT_NAWS Width 80, Height 24 RCVD do TERMINAL TYPE (don t reply) RCVD IAC SB TERMINAL-TYPE SEND SEND IAC SB TERMINAL-TYPE IS vt100 RCVD wont SUPPORT SAK (don t reply) RCVD do ECHO (reply) SEND wont ECHO (don t reply) telnet (rs1) AIX Version 4 (C) Copyrights by IBM and by others 1982, 1996. login: RCVD dont ECHO (don t reply) heckenas heckenas s Password:
48 Telnet parancsok Interrupt Process Abort Output Are You There Erase Character Erase Line "Synch" mechanizmus TCP Urgent notification DATA MARK $ telnet 127.0.0.1 Trying... Connected to 127.0.0.1. Escape character is '^]'. telnet (rs1) AIX Version 4 (C) Copyrights by IBM and by others 1982, 1996. login: heckenas heckenas's Password:... $ telnet> send ayt rs1 here
49 Parancsok szerkezete "Interpret as Command" (IAC) escape character < IAC > < COMMAND > < IAC > < IAC > < IAC > < COMMAND > <OPTION > port 23
50 Telnet parancsok NAME CODE MEANING SE 240 End of subnegotiation parameters. NOP 241 No operation Data Mark 242 The data stream portion of a Synch. This should always be accompanied by a TCP Urgent notification Break 243 NVT character BRK Interrupt Process 244 The function IP Abort output 245 The function AO Are You There 246 The function AYT Erase character 247 The function EC. Erase Line 248 The function EL. Go ahead SB 250 Indicates that what follows is subnegotiation of the indicated option. WILL (option code) WON'T (option code) 252 Indicates the refusal to perform, or continue performing, the indicated option. DO (option code) DON'T (option code) 254 Indicates the demand that the other party stop performing, or confirmation that you are no longer expecting the other party to perform, the indicated option. IAC 255 Data Byte 255