Defining Network Protocols

Download Report

Transcript Defining Network Protocols

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
IP Header
Version
Leng Type of Svc
Total Length
Identification
Flags
Frag Offset
Time to Live Protocol Header Checksum
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
TCP Header
Source Port
Destination Port
Sequence Number
Acknowledgement Number
Data
Offset
Reserved
Window
Flags
Checksum
Urgent Pointer
Your Data… next 500 octets
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
Listens on port
23
129.123.7.33, 129.123.1.86
Computer
1234
Returning Port
129.123.1.86
Port info:1234, 23
UDP Data Flow
129.123.7.33, 129.123.1.86
Reply 2 Port 123
Computer
Reply 1 Port 123
129.123.1.86
Port info:1234, 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 [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 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:<[email protected]>
2> 250 MAIL accepted
1> RCPT To:<[email protected]>
2> 250 Recipient accepted
1> DATA
2> 354 Start Mail input; end with <CRLF>.<CRLF>
1> Date: Sat, 22 Mar 1998 13:26:31 MST
1> From: [email protected]
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 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
flibble.orac.net.au.
IN
A
10
solaris.flibble.orac.net.au.
10.5.3.1
DNS Resolution
Want cc.usu.edu
homeuser.aol.com
Top Level Domain
Server (resolve .edu)
thingy.usu.edu
resolve usu.edu
resolve cc.usu.edu
USU DNS
• Handled by Network and Computing
Services
• thingy.usu.edu webpage for registrations
and lookups