Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.

Similar presentations


Presentation on theme: "CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina."— Presentation transcript:

1 CSCE 515: Computer Network Programming Chin-Tser Huang huangct@cse.sc.edu University of South Carolina

2 4/20/20042 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 don’t interact with MTA but can choose their user agent

3 4/20/20043 TCP/IP E-mail Exchange Architecture queue of mail to be sent user agent client user at a terminal message transfer agent server user at a terminal user mailboxes user agent message transfer agent sender receiver

4 4/20/20044 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 4/20/20045 SMTP Commands Basic implementation includes eight commands HELO MAIL RCPT DATA QUIT RSET VRFY NOOP Additional commands include EXPN and TURN

6 4/20/20046 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 4/20/20047 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 4/20/20048 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 system’s MTA Allow one system at an organization to act as mail hub Most organizations use relay system for Internet mail

9 4/20/20049 Improvements on SMTP Envelope changes: Extended SMTP Header changes: Non-ASCII characters Body changes: Multipurpose Internet Mail Extensions (MIME)

10 4/20/200410 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 4/20/200411 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 4/20/200412 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 4/20/200413 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 4/20/200414 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 4/20/200415 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 4/20/200416 SNMP Messages SNMP agent SNMP manager UDP port 161 UDP port 162 get-request get-response get-next-request get-response set-request get-response trap

17 4/20/200417 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 4/20/200418 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 4/20/200419 Instance Identification Every variable in MIB must be identified Simple variables are referenced by appending “.0” to variable’s object identifier Table entries are identified by combination of variables in table

20 4/20/200420 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 4/20/200421 Next Class Peer-to-peer applications Read JNP Sec. 24.4


Download ppt "CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina."

Similar presentations


Ads by Google