CSCE 515: Computer Network Programming - PowerPoint PPT Presentation

About This Presentation
Title:

CSCE 515: Computer Network Programming

Description:

Encoding can be quoted-printable or base-64 ... Five encoding formats: 7bit, quoted-printable, base64, 8bit, binary. 4/20/2004. 13 ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 22
Provided by: huan75
Learn more at: https://www.cse.sc.edu
Category:

less

Transcript and Presenter's Notes

Title: CSCE 515: Computer Network Programming


1
CSCE 515Computer Network Programming
  • Chin-Tser Huang
  • huangct_at_cse.sc.edu
  • University of South Carolina

2
Simple Mail Transfer Protocol (SMTP)
  • Email is one of most popular applications
  • In 1991 about ½ TCP connections are for SMTP
  • Mail exchange is performed by a message transfer
    agent (MTA), for example Sendmail
  • Users dont interact with MTA but can choose
    their user agent

3
TCP/IP E-mail Exchange Architecture
queue of mail to be sent
user agent
message transfer agent
user at a terminal
client
sender
user mailboxes
user agent
message transfer agent
user at a terminal
server
receiver
4
SMTP Protocol
  • Specified in RFC 821
  • Use NVT ASCII for communication between two MTAs
  • Client sends commands to server
  • Server responds with numeric reply codes with
    optional strings

5
SMTP Commands
  • Basic implementation includes eight commands
  • HELO
  • MAIL
  • RCPT
  • DATA
  • QUIT
  • RSET
  • VRFY
  • NOOP
  • Additional commands include EXPN and TURN

6
Envelopes, Headers, and Body
  • Envelopes are used by MTAs for delivery
  • Specified by MAIL and RCPT commands
  • Headers are used by user agents
  • RFC 822 specifies header format
  • Each header field contains a name, a colon, and
    field value
  • Body is content of message from sending user to
    receiving user
  • When transferred using DATA command, headers are
    sent first, followed by a blank line, followed by
    body

7
Transmission of a Mail
  • User agent takes body, adds some headers, and
    passes to MTA
  • MTA adds some headers, adds envelope, and sends
    to another MTA

8
Relay Agents
  • All individual systems send their mail to a relay
    system
  • Two reasons of using relay system
  • Simplify configuration of all MTAs other than
    relay systems MTA
  • Allow one system at an organization to act as
    mail hub
  • Most organizations use relay system for Internet
    mail

9
Improvements on SMTP
  • Envelope changes Extended SMTP
  • Header changes Non-ASCII characters
  • Body changes Multipurpose Internet Mail
    Extensions (MIME)

10
Extended SMTP
  • Framework for adding extensions to SMTP
  • Client wishing to use new features can use EHLO,
    instead of HELO, to initiate session
  • Server lists extended commands in the 250 reply
    to EHLO command

11
Non-ASCII Characters
  • Allow additional characters in sender and
    receiver names and in subject
  • Header can contain encoded words
  • ? charset ? encoding ? encoded-text ?
  • Charset can be us-ascii or iso-8859-1
  • Encoding can be quoted-printable or base-64
  • Using base-64, three consecutive bytes are
    encoded as four 6-bit values

12
Multipurpose Internet Mail Extensions
  • Allow structures in body
  • Five new header fields
  • Mime-Version
  • Content-Type
  • Content-Transfer-Encoding
  • Content-ID
  • Content-Description
  • Seven content types text, multipart, message,
    application, image, audio, video
  • Five encoding formats 7bit, quoted-printable,
    base64, 8bit, binary

13
Simple Network Management Protocol
  • Need to manage systems within a coherent
    framework
  • Number of networks within organization grows
  • Heterogeneity of systems in network
  • Network management consists of communication
    between managers and agents
  • Managers are network management stations
  • Agents are management software running on network
    elements, e.g. hosts, routers, X terminals
  • Current version is SNMPv3 (RFC 2570)

14
Components of Network Management
  • Three components of SNMP
  • Management Information Base (MIB) specifies what
    variables network elements maintain
  • Structure of Management Information (SMI) a set
    of common structures and an identification scheme
    used to reference variables in MIB
  • Simple Network Management Protocol (SNMP)
    protocol between manager and element

15
SNMP Protocol
  • Use UDP to send messages
  • Seven types of messages are exchanged between
    managers and agents
  • get-request allows manager to fetch value of
    variables
  • get-next-request allows manager to fetch next
    variable after specified variables
  • set-request allows manager to set value of
    variables
  • get-response allows agent to return value of
    variables in response to get-request,
    get-next-request, and set-request
  • trap allows agent to notify manager when
    something happens on agent
  • get-bulk-request allows manager to retrieve large
    blocks of data
  • inform-request allows one manager to send info to
    another manager

16
SNMP Messages
SNMP agent
SNMP manager
get-request
UDP port 161
get-response
get-next-request
UDP port 161
get-response
set-request
UDP port 161
get-response
trap
UDP port 162
17
Structure of Management Info
  • Data types used by SNMP
  • INTEGER
  • OCTET STRING
  • DisplayString
  • OBJECT IDENTIFIER
  • NULL
  • IpAddress
  • PhysAddress
  • Counter
  • Gauge
  • TimeTicks
  • SEQUENCE
  • SEQUENCE OF

18
Object Identifiers
  • A sequence of integers separated by decimal
    points
  • These integers traverse a tree structure, similar
    to DNS
  • Each node in the tree also has a textual name
  • All variables in MIB start with the object
    identifier 1.3.6.1.2.1

19
Instance Identification
  • Every variable in MIB must be identified
  • Simple variables are referenced by appending .0
    to variables object identifier
  • Table entries are identified by combination of
    variables in table

20
Traps
  • Agent can send traps to manager to indicate that
    something has happened on agent
  • Traps are sent to UDP port 162 on manager
  • Seven types of traps
  • coldStart
  • warmStart
  • linkDown
  • linkUp
  • authenticationFailure
  • egpNeighborLoss
  • enterpriseSpecific

21
Next Class
  • Peer-to-peer applications
  • Read JNP Sec. 24.4
Write a Comment
User Comments (0)
About PowerShow.com