View
237
Download
2
Tags:
Embed Size (px)
Citation preview
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
Version Leng Type of Svc Total Length
Identification Flags Frag OffsetTime to Live Protocol Header 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 Port Destination Port
Sequence Number
Acknowledgement Number
DataOffset
Reserved
FlagsWindow
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 FlowC
omputer
129.123.7.33, 129.123.1.86
Port info:1234, 23 129.123.1.861234Returning Port
Listens on port23
UDP Data FlowC
omputer
129.123.7.33, 129.123.1.86
Port info:1234, 123 129.123.1.86Reply 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 Example
• requires 2 ports• telnet ftp.remotesite.com 21
– 220 ftp.remotesite.com FTP server ready
– user anonymous
– 331 password required for anonymous
– password [email protected]
– 230 user anonymous logged in
– PORT 1200
FTP Example cont.
• PORT 129,123,7,55,4,76
• 200 PORT command successful
• pwd
• 257 “/export/guest/bobw” is current directory
• RETR ./.login
• 150 ASCII data connection for ./.login(129.123.7.55,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 email 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: [email protected]• Mail relay: user%[email protected]• Mail Exchange (MX)
– Allows mail server redirection
SMTP Example
1> telnet red.rutgers.edu 252> 220 RED.RUTGERS.EDU SMTP Service at 15 Apr 98 10:11:18 EDT1> HELO pc15.logan.com2> 250 RED.RUTGERS.EDU - Hello, PC15.LOGAN.COM1> MAIL From:<[email protected]>2> 250 MAIL accepted1> RCPT To:<[email protected]>2> 250 Recipient accepted1> DATA2> 354 Start Mail input; end with <CRLF>.<CRLF>1> Date: Sat, 22 Mar 1998 13:26:31 MST1> From: [email protected]>Subject: Meeting tomorrow
SMTP Example cont.
1> The meeting is TOMORROW at 3:00 PM!1>1> .2> 250 OK1> QUIT2> 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 2004 10:49:30 MdT
[email protected]• user bobw• +OK password please• pass areukidding• +OK Mailbox open, 335 messages• list• (List of messages)• 1 4355• 2 106• 3 445567• 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
• www.internic.net (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 authority @ IN SOA solaris.flibble.orac.net.au. root.solaris.flibble.orac.net.au. (
2000050201 ; Serial 10800 ; Refresh - 3 hours 3600 ; Retry - 1 hour 432000 ; 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 127.0.0.1 solaris IN A 10.5.3.1 win95 IN A 10.5.3.21 linux IN A 10.5.3.22 ; ; 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 10.5.3.1
DNS ResolutionWant cc.usu.edu
Top Level DomainServer (resolve .edu)
thingy.usu.edu
resolve usu.eduresolve cc.usu.edu
homeuser.aol.com