Application Protocols SMTP: Simple Mail Transport Protocol HTTP: Hyper Text Transport Protocol HTTPS: Hyper Text Transport SSL (Secure) SNMP: Simple Network Management Protocol FTP: File Transfer Protocol Telnet: Interactive login SSH: Secure Shell telnet DNS: Domain Name Service
IP header Source and Destination IP addresses Type of Service –Selects delivery speeds vs. accuracy Protocol (TCP,ICMP, UDP) Time to Live (Router hops) Identification and Fragment offset –Reassembly of a fragmented datagram
VersionLengType of SvcTotal Length IdentificationFlags Frag Offset Time to Live ProtocolHeader Checksum IP Header Source Address Destination Address TCP Header then your data...
TCP fields Ports (service identifiers) Sequence numbers Acknowledgement numbers Windowing –More retries (less acks) smaller packets –Less retries (more good data) larger packets
Source PortDestination Port Sequence Number Acknowledgement Number Data Offset Reserved Flags Window Checksum Urgent Pointer Your Data… next 500 octets TCP Header
Services RFC’s (Requests for Comments) /etc/services or multinet:services.master_server lists service name and port number Common (well known) ports: –FTP 21 –TELNET 23 –SSH 22 –SMTP 25 –HTTP 80 –NTP 123 –Finger 79
TCP Data Flow Computer , Port info:1234, Returning Port Listens on port 23
UDP Data Flow Computer , Port info:1234, Reply 1 Port 123 Reply 2 Port 123
TCP, UDP, ICMP TCP (Transmission Control Protocol) –Datagrams –Connection Oriented –End to End error checking –Source Port, Destination Port Sockets, Well Known Ports –HTTP, SMTP, TELNET,FTP
UDP (user datagram protocol) Connectionless One Way Fast, Simple No guarantee of delivery NFS, DNS, DHCP, NTP, TALK
ICMP (Internet control message protocol) Error Messages Intended for the TCP/IP software itself PING (host unreachable messages) Simple Headers
FTP File Transfer Protocol (TCP) –User authentication –Anonymous GET/PUT/DEL/CWD Binary/Ascii
FTP Example requires 2 ports telnet ftp.remotesite.com 21 –220 ftp.remotesite.com FTP server ready –user anonymous –331 password required for anonymous –password –230 user anonymous logged in –PORT 1200
FTP Example cont. PORT 129,123,7,55,4, PORT command successful pwd 257 “/export/guest/bobw” is current directory RETR./.login 150 ASCII data connection for./.login( ,1100)(795 bytes) QUIT
HTTP Application HTTP is a pull protocol, the user pulls information from a remote site. Protocol consists of GET and POST commands to transfer data. Persistent vs. Non-Persistent connections
Non-Persistent Connections TCP connections are opened and closed for each request. Allows for parallel transfer of objects.
Persistent Connections TCP connection left open until requested to disconnect or times out. Takes advantage of pipelining to improve transfer rates.
Proxy Servers HTTP uses cached files to speed up transfers Proxy Server is a LAN accessible cache Proxy allows for reduced load on the internet connection Proxy Servers allow NAT (Network Address Translation) systems to protect internal networks.
MIME Types/Encoding Multipurpose Internet Mail Extensions Handles Non-ASCII data in an ASCII transfer medium. Imbeds the data stream into the message
Simple Mail Transfer Protocol The protocol is very simple SMTP is a push protocol, information is pushed to a remote sitre Uses port 25 All files are ascii text Syntax: Mail relay: Mail Exchange (MX) –Allows mail server redirection
SMTP Example 1> telnet red.rutgers.edu 25 2> 220 RED.RUTGERS.EDU SMTP Service at 15 Apr 98 10:11:18 EDT 1> HELO pc15.logan.com 2> 250 RED.RUTGERS.EDU - Hello, PC15.LOGAN.COM 1> MAIL From: 2> 250 MAIL accepted 1> RCPT To: 2> 250 Recipient accepted 1> DATA 2> 354 Start Mail input; end with. 1> Date: Sat, 22 Mar :26:31 MST 1> From: 1>Subject: Meeting tomorrow
SMTP Example cont. 1> The meeting is TOMORROW at 3:00 PM! 1> 1>. 2> 250 OK 1> QUIT 2> 221 RED.RUTGERS.EDU Service closing transmission channel
POP3 Post office protocol Mail access client Uses port 110 Messages are downloaded to client but can be stored on server. Does not easily allow multiple clients
POP3 Example telnet cc.usu.edu 110 +OK POP3D(*) Server PMDFV6.1.2 at Wed, 8 Sep :49:30 MdT user bobw +OK password please pass areukidding +OK Mailbox open, 335 messages list (List of messages) retr 2 (dumps message, ends with a.) quit +OK bye
IMAP Internet Mail Access Protocol Improved POP3 Automatically assigns folders Leaves mail on server Only transfers as much as needed per message (headers, subject only on list)
DNS Domain Name Services What’s in a name? Distributed hierarchical architecture Caches and times DNS entries for speed (root server) Top Level Domain Servers Authoritative Local Nameservers –thingy, watzit, doober
DNS Configuration File ; ; Hosts file for domain flibble.orac.net.au. ; ;name ttl class type data ; ; Source of IN SOA solaris.flibble.orac.net.au. root.solaris.flibble.orac.net.au. ( ; Serial ; Refresh - 3 hours 3600 ; Retry - 1 hour ; Expire - 1 week 86400) ; Minimum - 1 day IN NS solaris.flibble.orac.net.au.
More Config ; ; Machines for the flibble.orac.net.au domain ; ;name ttl class type data localhost IN A solaris IN A win95 IN A linux IN A ; ; Aliases ; mail IN CNAME solaris www IN CNAME solaris
More config ; ; Domain mailing addresses ; flibble.orac.net.au. IN MX 10 solaris.flibble.orac.net.au. flibble.orac.net.au. IN A
DNS Resolution Want cc.usu.edu Top Level Domain Server (resolve.edu) thingy.usu.edu resolve usu.edu resolve cc.usu.edu homeuser.aol.com
USU DNS Handled by Network and Computing Services thingy.usu.edu webpage for registrations and lookups