TCP ULP Message Framing iSCSI Framing

Shared by: yantingting
Categories
Tags
-
Stats
views:
1
posted:
10/10/2011
language:
English
pages:
20
Document Sample
scope of work template
							      TCP ULP Message Framing
           iSCSI Framing



Randy Haagens
Allyn Romanow




                                05 Jul 2000   Page 1
   Outline
   •The Problem -- Conserving host memory
    bandwidth
   •How to solve it -- Direct data placement
   •The framing issue
   •Solutions to framing -- pros and cons
     – TCP unaware
     – TCP aware
   •TCP message boundary option




Randy Haagens /Allyn Romanow                   December 15, 2000   Page 2
The Problem: Cost, Feasibility of Re-assembly
•Limited host memory and bus bandwidth
      – PCI-X delivers approx. 8.5 Gbps
•Must deliver data directly to host memory buffers
      – One use of bus and memory
      – “Zero copy”
•Re-assembly buffer required on NIC to reorder
 TCP segments received out of order
      – 1 Gbps, possible, expensive (Fibrechannel)
      – 10 Gbps, it does not look feasible
Randy Haagens /Allyn Romanow                 December 15, 2000   Page 3
“Conventional” NIC Implementation

                                      host
                                     memory


                                     memory
                                    controller

                                      PCI-X 1.064 GB/sec nom. (8.512 Gb/sec)



                                protocol            re--
                               controller        assembly
                                                                 1Gbps         10 Gbps
                                                  buffer
                                                 2X-3X BW   • Possible         • Questionable
                                  line                      • More               feasibility
                               interface                      expensive
                                                              than FC



Randy Haagens /Allyn Romanow                                               December 15, 2000   Page 4
Desired NIC Implementation

                                      host
                                     memory


                                     memory
                                    controller

                                      PCI-X 1.064 GB/sec nom. (8.512 Gb/sec)



                                protocol
                               controller


                                  line
                               interface
                                                 X  re--
                                                 assembly
                                                  buffer


                                                 2X-3X BW




Randy Haagens /Allyn Romanow                                               December 15, 2000   Page 5
The Solution: Direct Data Placement
         Payload steering
         Data steering
         RDMA
                                                Descriptors




         •ULP (iSCSI) payload placed directly
          in host memory without intermediate
          buffer
         •Requires decoding ULP (iSCSI)                        Host Memory
                                                                 (Large)
          headers
Randy Haagens /Allyn Romanow                            December 15, 2000   Page 6
Loss of ULP Synchronization

                                                                  ULP PDU (Message)
  Network headers


                             ULP
                             ULP Header
                    TCP
                    TCP
                    TCP
                    TCP




                                                      X
                                                                  TCP segment (MSS)
                    header
                    header




                                          recover ULP sync here

 •Segment containing a ULP header is dropped (or
  delayed), ULP sync is lost. Direct data placement
  cannot continue; data must be diverted to a re-
  assembly buffer

Randy Haagens /Allyn Romanow                                             December 15, 2000   Page 7
Recovery of ULP Framing Synchronization


•Goal is to recover ULP synchronization at the next
 ULP header
•Two categories of approaches
  – TCP unaware, transparent to TCP
  – TCP aware, not transparent to TCP




Randy Haagens /Allyn Romanow              December 15, 2000   Page 8
Approaches that are Transparent to TCP
•SCTP
             – Framing with chunks, but requires maturity
•Special characters: byte stuffing, recoding
             – Onerous for software, process stream byte by
               byte
•Fixed-length ULP messages
             – Inefficient for short ULP messages
•Periodic Marker - Best in class
             – Manageable software overhead to insert and
               remove markers; relatively easy to implement
               in hardware
Randy Haagens /Allyn Romanow                        December 15, 2000   Page 9
  Periodic Marker
  Marker                                                                    ULP PDU (Message)
                      (SeqCnt mod N) =
SeqCnt = 0                    0
                                                         N                              TCP byte stream




                                     Length field indicates start of next
                                     message

   •Marker 4B field--number of ULP bytes remaining
    in current PDU. Marker inserted and removed
    by framing protocol, e.g. iSCSI
   •After loss of synch, locate next marker; use to
    locate the next ULP PDU
   •Markers are transmitted twice in a row. Ensures
    markers can’t be split by stream segmentation
  Randy Haagens /Allyn Romanow                                                             December 15, 2000   Page 10
Approaches that are not Transparent to TCP


•URGent pointer
      – Not allowed -- IESG, not within spec
•PSH bit
      – Use of PSH as a record marker is not allowed
        (RFC 1122)
•TCP option for finding ULP message boundary




Randy Haagens /Allyn Romanow                   December 15, 2000   Page 11
Message Boundary Recognition at Transport
Layer

•Procedure
•TCP options - background
•TCP message boundary option for finding ULP
    framing




Randy Haagens /Allyn Romanow           December 15, 2000   Page 12
Message Boundary Support at Transport Layer

•General solution at transport layer vs.
 individualized solutions for different applications
•Procedure for standardizing a TCP option
      – TSV working group -- work item
             – Meeting
             – Proposal, mailing list
             – Time frame
•IPS -- follow the TSV WG progress

Randy Haagens /Allyn Romanow                December 15, 2000   Page 13
TCP Options - Overview


•Extend TCP
•Up to 40 bytes, before TCP payload
•Current TCP options
  – MSS Maximum Segment Size
  – Window Scale Factor
  – Timestamp
  – SACK Selective Acknowledgment
•Reference - Stevens


Randy Haagens /Allyn Romanow          December 15, 2000   Page 14
TCP Options - Overview - Issues


•Built-in mechanism for extension of TCP

•Limited space for options, 40 bytes, scarce
 resource

•Tension between TCP evolution and risk of
 changes, tend to minimize changes




Randy Haagens /Allyn Romanow               December 15, 2000   Page 15
TCP Message Boundary Option
•Two options
  – One for negotiating the option
  – The second for communicating the message
    boundary information
                         Kind = ?   Len = 2



•Message Boundary Permitted Option
 – Sent with the TCP SYN packets



Randy Haagens /Allyn Romanow                  December 15, 2000   Page 16
Message Boundary Option
•Two approaches so far -- flag, offset
Flag Approach

                 Kind = ?      Len = 2



•Costa has written up a description of this
 alternative
•ULP header is aligned with first byte of TCP
 segment payload
•May cause segments smaller than an MSS

Randy Haagens /Allyn Romanow                  December 15, 2000   Page 17
TCP Framing Option (a) Flag

                                                                   ULP PDU (Message)
      Network headers

          ULP Header
          TCP header




                                                                   TCP segment (MSS)

                               MSS   MSS   < MSS                            MSS        < MSS
          Option: first




                                                   Option: first



Randy Haagens /Allyn Romanow                                              December 15, 2000    Page 18
Message Boundary Option
Offset approach

                    Kind = ?         Len = 4         offset         offset


•2-byte field indicates offset into TCP payload of
 first ULP header in the segment
•Write-up forthcoming
                                                                                   ULP PDU (Message)
  Network headers

      ULP Header
      TCP header




                                                                                   TCP segment (MSS)

                               MSS             MSS            MSS            MSS




Randy Haagens /Allyn Romanow                                                 December 15, 2000         Page 19
Conclusion

•The right way to solve the problem is at the TCP
 layer
•We’re going to try it
•Let’s see how it plays

•DISCUSSION




Randy Haagens /Allyn Romanow              December 15, 2000   Page 20

						
Related docs
Other docs by yantingting
Chapter 17 Study Guide - Castle High School
Views: 0  |  Downloads: 0
Chapter 17 Air Pollution.pptx
Views: 0  |  Downloads: 0
Chapter 16 Air Pollution
Views: 0  |  Downloads: 0
Neuroscience.docx - KUPT2013comps
Views: 0  |  Downloads: 0
FYE_Tutorial_2012FebRev
Views: 0  |  Downloads: 0
Chapter 15.pptx - ViewpointAPES
Views: 0  |  Downloads: 0