lab TCP/IP Alkalmazások Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem TCP hivatkozási modell, összes protokoll 2 1
lab TELNET Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Telnet Távoli terminál protokoll, mellyel a felhasználó egy adott helyről egy távoli helyen lévő szerverre TCP kapcsolaton keresztül bejelentkezhet Hálózati virtuális terminált valósít meg, mely a távoli rendszer felé szabványos interfésszel rendelkezik A kliens és a szerver számára biztosított, hogy számos szabványos beállítási lehetőséget használjanak Szimmetrikusan kezeli a kapcsolat két oldalát 4 2
Telnet 2 Terminál emuláció Hoszt - Terminál architektúra Távoli program végrehajtás Port: 23 Terminál típusok: vt220 vt100 vt50, stb A billentyűzet kiosztás függ a terminál típusától Funkció billentyűk, stb. 5 Telnet működése Távoli Telnet kliens Szerverhez közvetlenül csatlakozó kliens Remote Login - Távoli bejelentkezés SZERVER Local Login - Helyi bejelentkezés LAN 6 3
Network Virtual Terminal (NVT) system formatum Telnet Kliens TCP kapcsolat NVT formatum Telnet Szerver system formatum ASCII kontroll kód NUL BEL BS HT LF VT FF CR Érték 0 7 8 9 10 11 12 13 Jelentés No operation (has no effect on output) Produce audible signal Move left one character position Move right to the next horizontal tab stop Move down (vertically) to the next line Move down to the next vertical tab stop Move to the top of the next page Move to the left margin on the current line 7 Telnet parancskódok ASCII kontroll kód SE NOP DM BRK IP AO AYT EC EL GA SB WILL WONT DO DONT IAC Érték 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Jelentés End of option sub-negotiation No operation Data mark Break Interrupt process Abort output Are you there Erase character Erase line Go ahead Begin sub-negotiation Sender request enabling option Sender rejects enabling option Sender requests other side enabling option Sender rejects other side enabling option Interpret next octet as command 8 4
Telnet opciók Név kód RFC Jelentés Transmit Binary Echo Suppress-GA Status Timing-mark Terminal-type End-of-record Linemode 0 1 3 5 6 24 25 34 856 857 858 859 860 884 885 1116 Change transmission to 8-bit binary Allow one side to echo data it receives Suppress go-ahead signal after data Request for status of a Telnet option from remote site Request timing mark to be inserted in return stream Exchange info.. about the terminal type being used Terminate data sent with EOR code Send complete lines instead of individual characters 9 Rlogin Rlogin - flexibilisebb Telnet megvalósítás Az Rsh parancsinterpretert használ a távoli gépen, a parancsokat ennek továbbítja Parancshívás formátuma rsh-val: rsh <machine> <command> rsh unixserver1 ps Rlogin megérti a UNIX standard input, output és error forgalmakat TCP-t használ a távoli számítógéphez való csatlakozáshoz rsh unixserver1 ps > filename 10 5
SSH Secure Shell Telnet kapcsolat helyett Titkosított Nyilvános kulcsú titkosítás Port: 22 11 lab FTP - File Transfer Protocol Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 6
File Transfer Protocol (FTP) FTP két távoli rendszer közötti fájlmásoláshoz kliens szerver architektúra FTP szerver FTP kliens TCP alapú (port = 21) Folyamatos kapcsolatra van szüksége Hálózati protokoll: IP Best-effort szolgáltatás 13 File Transfer Protocol 2 Az FTP a fájl szállításon kívül még további funkciókat is megvalósít: Interaktív hozzáférés Formátum specifikáció Hitelesítési lehetőségek FTP control (port 21) FTP data (port 20) 14 7
File Transfer Protocol 3 IP fejléc, type-of-service = késleltetés minimalizálása Nagy- és kisbetűk közötti különbségtétel Átviteli módok: ascii, 7 bites kódolás, csak szöveges fájlokra (*.txt) binary, 8 bites kódolás, általános fájl átvitel 15 FTP parancsok Parancsok ls list (csak fájlnevek) dir list (fájlnevek, hozzáférési jogok, méretek, stb ) cd könyvtárváltás lcd or!cd kliens oldali könyvtárváltás get fájl letöltés mget több fájl letöltése (* használata) put fájl feltöltés mput - több fájl feltöltése (* használata) 16 8
FTP parancsok 2 asc ascii mód (dos unix konverzió!) binary, bin or bi bináris mód prompt interaktív mód kikapcsolása hash kettőskeresztek megjelenítése átvitel közben user új felhasználóra váltás A kapcsolat megszakítása nélkül connect kapcsolat megnyitása 17 FTP az Interneten user ftp.cisco.com LAN LAN INTERNET 18 9
FTP példa SYN SEQ_NUM_CLIENT MSS SYN SEQ_NUM_SERVER ACK_NUMBER_SERVER MSS ack 1 PSH ack 51 first segment of data ack 155 PSH second segment of data FIN PSH... ack 5122 FIN ack 5122 ack FIN 19 FTP slow start 20 10
FTP slow start vége 21 FTP slow start vége, nagyítva 22 11
FTP fast retransmit 23 FTP Timeout 24 12
Selective ACK Listát küld a nyugtázott csomagokról Sokkal precízebb Több helyet és komplexebb küldőt igényel SACK képesség felderítése a kapcsoalt létrehozatalakor gap SACK gap SACK kumulatív Ack blokkolva 25 SCP Secure Copy SSh kapcsolaton keresztüli fájl átvitel Titkosított 26 13
lab Simple Mail Transfer Protocol Post Office Protocol Version 3 Internet Message Access Protocol Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Simple Mail Transfer Protocol (SMTP) SMTP az Internet standard levelező szolgáltatása TCP port 25 SMTP TCP IP Network Interface (data-link & physical) 28 14
Felhasználó SMTP folyamata Interaktívan üzeneteket készít, továbbít Felhasználó ügynök (agent) Fogadja az üzeneteket és formázza Célállomások listáját elkészíti A listát és az üzenetet a kliens kimenő sorába küldi Kliens TCP kapcsolatot hoz létre a távoli SMTP szerverrel Elküldi a címeket a releváns szervereknek Elküldi az üznet másolatát minden szervernek Szerver Fejléceket létrehozza minden címre Fejléceket elhelyezi a megfelelő postaláda sorába 29 SMTP folyamata User terminal A User terminal B User terminal C SMTP Port 25 SMTP SMTP Port 25 TCP/IP Internet SMTP SMTP System 1 SMTP System 2 30 15
SMTP parancsok és válaszok HELO Kapcsolat kezdés MAIL RCPT DATA SEND QUIT Kapcsolat bontás 31 SMTP parancsok HELO SMTP agent küldi egy kapcsolat létrehozásához és a kliens azonosításához formátum: HELO(SP){domain host name}(crlf). MAIL Azonosítja a küldőt formátum: MAIL(SP)<reverse path>(crlf). RCPT Azonosítja a címzettet formátum: RCPT(SP)TO:<forward path>(crlf). 32 16
SMTP parancsok 2 DATA Értesíti az SMTP szervert, hogy a küldés kész van (Újabb küldés) formátum: DATA(CRLF) SEND Azonosít egy terminált az üzenet fogadására formátum: SEND(SP)TO:<reverse path>(crlf). QUIT SMTP kliens kész formátum: QUIT(CRLF). 33 Válasz kódok kód jelentés kód jelentés 211 System status 214 Human information about how to use SMTP 220 <domain> service ready 221 <domain> service closing channel 250 Requested mail action okay, completed 251 User not local, forwarded to forward path 354 Start mail input, end with <CRLF>.<CRLF> 421 <domain> Service not available 450 Requested action aborted; mailbox unavailable 451 Requested action aborted; error in processing 500 Syntax error, command unrecognised 501 Syntax error, in parameters or arguments 502 Command not implemented 503 Bad sequence number 504 Command parameter not implemented 550 Requested action not taken; mailbox unavailable 551 Requested action not taken; error in processing 552 User not local; please try <forward path> 553 Action not taken; mailbox name not allowed 554 Transaction failed 452 Requested action aborted; insufficient storage 34 17
SMTP példa sorszám kliens/szerver kommunikáció 1 220 { Name B} Mail Transfer Service Ready 2 HELO {Host Name A} 3 250 {Service Name B} 4 MAIL FROM:<Smith@Test.sys> 5 250 OK 6 RCPT TO:<Jones@Mfg.tst> 7 250 OK 35 SMTP példa sorszám kliens/szerver kommunikáció 8 RCPT TO:<Williams@Mfg.tst> 9 550 No such user here 10 RCPT TO:<Bob@Engr.dev> 11 250 OK 12 DATA 13 354 Start mail input; end with <CRLF>.<CRLF> 14 {ASCII character text} 15 16 17 18 <CRLF>.<CRLF> 250 OK QUIT 221 {Host Name B} Service closing channel 36 18
Post Office Protocol Version 3 (POP3) User terminal A User terminal B POP 3 POP 3 Port 110 POP 3 Port 110 Port 25 SMTP SMTP Port 25 TCP/IP Internet SMTP SMTP POP 3 SMTP System 1 SMTP System 2 37 POP3 alapvető működés TCP Connection to port 110 Greeting POP 3 POP 3 38 19
POP3 alapvető működés 2 Commands Replies POP 3 POP 3 1. Authorisation State hitelesítés 2. Transaction State átvitel 3. Update State frissítés 39 POP3 parancsok Authorisation USER name PASS string QUIT 40 20
Transaction state STAT LIST [msg] RETR msg DELE msg NOOP RSET QUIT POP3 parancsok 2 41 POP3 parancsok - példa S: +OK mrose's maildrop has 2 messages (320 octets) C: STAT S: +OK 2 320 C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S:. C: RETR 1 S: +OK 120 octets S: <the POP3 server sends message 1> S:. C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: <the POP3 server sends message 2> S:. C: DELE 2 S: +OK message 2 deleted C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: <close connection> 42 21
Internet Message Access Protocol - Version 4 (IMAP4) User terminal A User terminal B SMTP SMTP Port 25 IMAP4 Port 143 IMAP4 Port 143 Port 25 TCP/IP Internet SMTP SMTP IMAP4 IMAP4 SMTP System 1 SMTP System 2 43 Protocol Sender and Protocol Receiver Commands Replies IMAP4 IMAP4 opciók 1. Command Continuation requests 2. BAD completion response 3. Data 4. Command completion 44 22
Protocol Sender and Protocol Receiver Data Completion result IMAP4 Options 1. OK 2. NO 3. BAD IMAP4 45 Állapot diagram Initial connection and server greeting (1) (2) Non-authenticated (7) (4) authenticated (7) (5) (6) selected (7) Logout and close connection (3) (1) connection without pre-authentication (OK greeting) (2) pre-authenticated connection (PREAUTH greeting) (3) rejected connection (BYE greeting) (4) successful LOGIN or AUTHENTICATE command (5) successful SELECT or EXAMINE command (6) CLOSE command, or failed SELECT or EXAMINE command (7) LOGOUT command, server shutdown, or connection closed 46 23
Kliens parancsok Bármely állapotban CAPABILITY, NOOP, LOGOUT Nem hitelesített állapotban AUTHENTICATE, LOGIN Hitelesített állapotban SELECT, EXAMINE, CREATE, DELETE, RENAME, SUBSCRIBE, UNSUBSCRIBE, LIST, LSUB, APPEND Selected állapotban CHECK, CLOSE, EXPUNGE, SEARCH, FETCH, PARTIAL, STORE, COPY, UID 47 Szerver válszok Status Responses állapot válaszok OK, NO, BAD, PREAUTH, BYE and Mailbox Status szerver és postaláda állapot CAPABILITY, LIST, LSUB, SEARCH, FLAGS Message Status - üzenet állapot EXISTS, RECENT, EXPUNGE, FETCH Command Continuation Request parancs folytatás + (Ready for additional command text) 48 24
lab Network File System Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Network File System NFS transzparens fájl hozzáférés kliensek számára távoli fájlokhoz és fájlrendszerekhez User process Local file access Kernel NFS client TCP/UDP IP NFS server TCP/UDP IP kernel Local file access Local disk Local disk 50 25
NFS eljárások GETATTR Fájl attribútumai SETATTR Fájl attribútumainak beállítása STAFS Fájl rendszer állapota LOOKUP Fájl keresés READ Fájlból olvasás WRITE Fájlba írás CREATE Fájl létrehozatala 51 REMOVE Fájl törlése RENAME Fájlt átnevezése SYMLINK Szimbólikus link létrehozatala READLINK Szimbolikus link olvasása MKDIR Könyvtár létrehozatala RMDIR Könyvtár törlése READDIR Könyvtár olvasása NFS eljárások 2 52 26
NFS példa SUN client Sun% cd /nfs/unix1/usr/smith Sun% mkdir Mail 1 2 3 4 5 6 7 8 9 10 Unix1 Source sun Unix1 sun Unix1 sun Unix1 sun Unix1 sun Unix1 Command 104 getatttr Reply ok 96 104 getattr Reply ok 96 104 getattr Reply ok 96 112 lookup Mail Reply ok 28 1144 mkdir Mail Reply ok 128 53 lab Hypertext Transfer Protocol Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 27
Hypertext Transfer Protocol A szabványos kommunikációs csatorna Web szerverek és kliensek között Web dokumentumok szabványos nyelve a Hypertext Markup Language (HTML) Minden weboldal egy egyedi URL-lel (Uniform Resource Locator): http://www.tmit.bme.hu/vitt9999/pelda.html 55 HTTP üzenet formátum command GET http://server.name/path/file.type protocol URL HTTP server domain name path name file name GET http://qosip.tmit.bme.hu/intro/e-intro.html 56 28
Teljes kérés HTTP/1.0 Full Request Method(SP)http://server.name/path/file.type(SP)HTTP/1.0(CR)(LF) General-header (CR)(LF) Request-header (CR)(LF) Entity-header (CR)(LF)(CR)(LF) Body 57 Web működés - példa www.w3.org xyz.com Hyperlink to www.w3.org Hyperlink to xyz.com Browser Program HTTP used over this TCP connection DISK HTTP DISK HTTP Internet 58 29