CSCI 233 Internet Protocols Class 8 David C. Roberts 1 Agenda • • • • An Interesting Internet Product Remote Login Applications--TELNET File Transfer Applications—FTP, NFS Mail Applications—SMTP, POP, IMAP 2 New Product • • • • Scanning Internet Camera Pans, zooms, produces Internet video Connects directly to the Internet Doesn’t need a server 3 4 D-Link DCS-930L Wireless N Network Camera The D-Link DCS-930L Wireless N Network Camera comes with everything you need to quickly add a surveillance camera to your home or small office network. It works right out of the box. Simply connect the cables, plug in the camera, run the short installation wizard and setup is complete. To view what the D-Link DCS-930L Wireless N Network Camera is seeing, simply log on to mydlink.com, choose your device, and start viewing - there is no need to configure your router to open up ports or remember hard-to-memorize Internet addresses. Order the D-Link DCS-930L Wireless N Network Camera today! 5 What It Can Do 6 DDNS • What is DDNS? • How do you think it works? 7 DDNS • Runs as DDNS server • Works with dynamic IP addresses • Software is added to host machine to provide IP address to DDNS at startup • DDNS service maps DDNS name to dynamic IP address 8 Uses of The Product • Monitor any space; just connect it to the Internet • Control, monitor the camera from anywhere you have Web access • Shows the power, capability of the dumb network that is available everywhere 9 AND NOW. ON TO TELNET 10 Remote Login • TELNET is one of the Internet’s oldest protocols—defined in the 1960s • Each computer used to have a terminal wired to it to control it • Hard to control a large complex of computers, and lots more terminals than desired • TELNET allows user to establish login session on remote machine and execute commands • Client-server model can provide services to multiple machines • Using TCP, interactive use of remote machines can also be provided 11 TELNET Protocol • TELNET establishes TCP connection, passes keystrokes from user’s keyboard to the remote computer, brings back output to the user’s screen • Services: • Network virtual terminal—standard interface • Client and server negotiate options • Both ends of connection treated symmetrically 12 TELNET Virtual Server (NVT) • TELNET client translates from user terminal format into NVT format • Server translates NVT into local OS requirements 13 TELNET Client and Server 14 TELNET NVT Control Characters 15 Some TELNET Commands 16 Current Uses • Today TELNET is used mostly within an installation for control of computer systems • Largely replaced for general use by end users for remote access to desktops • However, it’s the foundation of my ISP’s business! 17 Summary • • • • High-level services provide important functionality to TCP/IP TELNET is one of those services TELNET provides a remote control console Implemented across many operating systems 18 Methods for File Sharing • Remote file access • File transfer • Peer to peer 19 File Transfer Protocol • • • • File transfer Interactive access Format specification Authentication control 20 Process Model • Server allows concurrent access by multiple clients, using TCP/IP • Control and data transfer connections are (often) separate • Client and server usually each have separate processes for control, data transfer • Data transfer processes and connections are created and dropped as needed, but control connection persists during a session 21 FTP Client and Server 22 FTP Port Number Assignment • Client uses random, locally determined port to connect to server • Client connects to port 21 at the server (a wellknown port) • Client gets (another) unused local port number, connects to port 20 at server for data transfer connection • TELNET network virtual terminal protocol is used for the control connection; but only basic NVT definition. 23 FTP Session Establishment 24 Modes • Active mode: client sends the server the IP address and port number on which client will listen, and server initiates TCP connection. • Passive mode: (used if client is behind firewall and unable to accept incoming TCP connections) client sends a PASV command to the server and receives an IP address and port number in return. The client uses these to open the data connection to the server. 25 Active Connection 26 Passive Connection 27 Representations • ASCII mode: for text. Data converted from the sending host's character representation to 8-bit ASCII before transmission, and to the receiving host's character representation. Inappropriate for files that contain data other than plain text. • Image (aka Binary) mode: sending machine sends each file byte for byte, and recipient stores the byte stream as received. • EBCDIC mode: use for plain text between hosts using IBM’s EBCDIC character set. This mode is otherwise like ASCII mode. • Local mode: Allows two computers with identical setups to send data in a proprietary format without the need to convert it to ASCII 28 Trivial File Transfer Protocol • • • • Inexpensive, unsophisticated service Simple file transfer, no authentication Runs over any unreliable packet system Sending side sends 512 byte file, waits for ACK for each block, then sends next one • First packet specifies the transfer • Block of less than 512 octets indicates end of file 29 Question: Why would anyone use TFTP when there is also FTP? NFS—Network File System • Originally developed by Sun Microsystems • Allows computer to access a remotely stored file over an IP network or the Internet 30 NFS Implementation 31 How NFS Fits 32 Peer to Peer 33 Peer to Peer File Sharing • No notion of clients and servers • “peer” nodes function as both client and server to one another • Foldershare uses peer-to-peer protocols 34 Peer to peer Client-server Types of Peer to Peer Networks • Structured: • Peers are organized following specific criteria and algorithms, which lead to overlays with specific topologies and properties. They typically use distributed hash table-based (DHT) indexing. • Unstructured: • No algorithm for organization or optimization of network connections • Pure peer-to-peer systems: entire network consists solely of equipotent peers. There is only one routing layer, as there are no preferred nodes with any special infrastructure function. • Hybrid peer-to-peer systems: may have infrastructure nodes to exist, often called supernodes. • Centralized peer-to-peer systems: central server is used for indexing functions and to bootstrap the entire system. Connections between peers are not determined by any algorithm. First prominent and popular peer-to-peer file sharing system, Napster, was centralized. Gnutella and Freenet are decentralized. model. Kazaa is hybrid. 35 Advantages of Peer to Peer • • • • • No single point of computer failure No single point of network failure No traffic congestion at servers No need for high-capacity server Uses available capacity of client machines 36 Disadvantages of Peer to Peer • Near-simultaneous updates of the same file can cause lots of network traffic • No guarantee of timeliness 37 Summary • Forms of access to remote files: • Whole-file copying • Shared on-line access • FTP uses whole-file copying, allows users to list directories as well as transfer files in either direction • TFTP provides a simple means for file transfer • NFS provides file system emulation • Peer to peer provides file transfer without servers, but with potential timeliness problems 38 Electronic Mail Email allows users to send memos across the Internet. • Notes can be short or quite large • Notes can have multiple attachments • Must work when remote machine is unreachable 39 Actors in the Email System • Post Office • SMTP servers move email between each other • SMTP servers store email for delivery to end users • Users • POP clients pick up email from SMTP servers • POP clients hand outgoing mail to SMTP servers 40 Delayed Delivery Sender and receiver do not need to be connected to the server at the same time 41 Alias Expansion, Mail Forwarding 42 Internetworking and Email • TCP/IP internet makes universal delivery service possible • Mail systems built on TCP/IP are inherently reliable because of end-to-end delivery • Alternatively, mail gateways are used • Allow mail transfer between different systems • When gateway has a message, sender discards it Question: Is email through a gateway better or worse than a direct SMTP transfer? 43 TCP/IP Email Standards • • • • • • Format and computer interaction are specified separately Format: header, blank line, body Body unspecified Header is key word, colon, value Some keywords required, others optional Header is readable 44 Email Addresses local-part @ domain-name • domain-name: name of mail destination • local-part: address of a mailbox at destination Note: when gateways are employed, mail addresses are sitedependent 45 SMTP • Simple Mail Transport Protocol • Focuses on how mail delivery system passes messages from one machine to a server on another machine • Does not specify anything about user interface • Does not specify how mail is stored 46 Assured Delivery • SMTP server forms TCP/IP connection with receiving server • Once receiving server has put message into safe store, then it acknowledges and sender discards message • If SMTP can’t transfer message on the first try, it keeps trying • After several days of failure, SMTP reports failure to deliver. 47 SMTP Highlights • • • • All communications is readable ASCII text Transcript of interactions is readable Each message is acknowledged separately Addresses of the form [email protected] 48 Example Transfer S: 220 Beta.GOV SMPT ready C: HELO Alpha.EDU S: 20 Beta.GOV C: MAIL FROM: [email protected] S: 250 OK C: RCPT TO: [email protected] 550 No such user here RCPT TO: [email protected] 250 OK C: DATA S: 354 Start mail input;end with <CR><LF>.<CR><LF> C: ..sends body of mail message C: <CR><LF>.<CR><LF> S: 250 OK C: QUIT S: 221 Beta.GOV Service closing transmission channel Client establishes connection Sent by server Sent by client 49 Mail Retrieval and Mailbox Manipulation • POP3—Post Office Protocol • POP3 client creates TCP connection to POP3 server on mailbox computer • Mailbox computer runs two servers: • SMTP to place mail into user mailboxes • POP3 server to allow user to extract messages from user mailbox • POP3 retrieves messages, deletes from user mailbox • Two servers must coordinate use of the user mailbox 50 MIME Extension for Non-ASCII Data MIME—Multipurpose Internet Mail Extensions • Defined to allow transmission of non-ASCII data through mail • MIME allows arbitrary data to be encoded in ASCII, transmitted as standard email message • MIME message tells recipient type of data, type of encoding used • Data type and subtype is specified • MIME information is in 822 mail header 51 MIME Content Types 52 MIME Example From: [email protected] To: [email protected] MIME-Version: 1/0 Content-Type: image/gif Content-Transfer Encoding: base64 ….data for the image…. 53 Mail Retrieval, Mailbox Protocols • • • • Post Office Protocol—client login with userid/password Client can then retrieve, delete messages Server computer must run two servers: POP and SMTP POP and SMTP must coordinate use of mailbox 54 Internet Message Access Protocol • POP stores messages offline; not compatible with the use of multiple computers • IMAP allows message access, manipulation from multiple computers • Platform-independent access to mail Question: How does server resource usage of IMAP compare with POP? 55 Summary • Email is a very important Internet service • Separate standards are used for message format and transfer • SMTP—how a mail system on one machine transfers to a server on another • POP3—how a user can retrieve contents of a mailbox • IMAP—user protocol for use from multiple computers • MIME allows arbitrary data to be exchanged using SMTP 56 Thank you!