90 likes | 251 Views
An Application Protocol Framework and a Model Application: Framing, Reporting, and Multiplexing. Dave Crocker Brandenburg Consulting. Framing Octet-stuffing (SMTP) Octet-counting (HTTP) Connection-blasting (FTP) Multiplexing Parallelism Flow control Segmentation. Reporting
E N D
An Application Protocol Framework anda Model Application:Framing, Reporting, and Multiplexing Dave Crocker Brandenburg Consulting
Framing Octet-stuffing (SMTP) Octet-counting (HTTP) Connection-blasting (FTP) Multiplexing Parallelism Flow control Segmentation Reporting 1st dig success or failure, permanent or transient 2nd dig system component making the report 3rd dig specific diagnostic Amusingly, this works well for everything except SMTP (ask Dave Crocker) Review of MRose slides
Framing Header"REQ" SP more SP serial SP seqno SP size SP channel CR LF "RSP" SP more SP serial SP seqno SP size SP status [SP diagnostic] CR LF PayloadMIME (Default = text/xml, 8bit) Trailer“END" CR LF Frame Report Status = Success (“+”) / Fail (“-”) Diagnostic - *ascii-text SemanticsSee “Channels” slide
In the RSP Payload 421 service not available 450 requested action not taken 451 requested action aborted 454 temporary authentication failure 500 general syntax error 501 syntax error in parameters 504 parameter not implemented 530 authentication required 534 authentication mechanism insufficient 535 authentication failure 537 action not authorized for user 538 authentication mechanism requires encryption 550 requested action not taken 553 parameter invalid 554 transaction failed Payload reporting
Mux: Channels • Frames exchanged in context of "channel" • Associated "profile" defines syntax, semantics • "Profile Registration" template defines how profile identified (using an URI) • Channel 0 used for channel management • Examples • Channel that negotiates transport security • REQ . 1 0 94 0 <start number='1'> <profile uri='http:/...' /> </start> END
Mux: Parallelism • Each channel processes requests serially • No constraints on the processing order between different channels.
Mux: Flow control • Replicate mechanism used by TCP • Sequence numbers seqno • Sliding window "SEQ" SP channel SP ackno SP window CR LF • Go home...
Mux: Segmentation More = "." / "*” Intermediate ("*") At least one other frame follows for the message Complete (".") this frame completes the data for the message