SlideShare ist ein Scribd-Unternehmen logo
1 von 27
DATA Chunk

                                    Type=0x00                         Flags=UBE                                  Length=variable

                                                                                          TSN Value
                                                 Stream Identifier                                              Stream Sequence Num
                                                                        Payload Protocol Identifier


                                                                        Variable Length User Data


          • Flag Bits ‘UBE’ are used to indicate:
               U – Unordered Data
               B – Beginning of Fragmented Message
               E – End of Fragmented Message
          • A user message that fits in one chunk would have both the B and E
            bits set



SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.    1
DATA Chunk Fields

          • TSN: transmission sequence number used for
            ordering and reassembly and retransmission
          • Stream Identifier: the stream number for this DATA
          • Stream Sequence Number: identifies which
            message this DATA belongs to for this stream
          • Payload Protocol Identifier: opaque value used by
            the endpoints (and perhaps network equipment)
          • User Data: the user message (or portion of)




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   2
SACK Chunk

                                                       Type=3                   Flags=0                       Length=variable
                                                                                     Cumulative TSN
                                                                            Receiver window credit
                                                     Num of Fragments=N                                       Num of Dup=M
                                                      Gap Ack Blk #1 start                                Gap Ack Blk #1 end
                                                      Gap Ack Blk #N start                                Gap Ack Blk #N end
                                                                                   Duplicate TSN #1
                                                                                  Duplicate TSN #M




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   3
SACK Chunk Fields

          • Cumulative TSN Acknowledgment: the highest
            consecutive TSN that the SACK sender has received
                    a.k.a. cumulative ack (cum-ack) point
          • Receiver Window Credit: current rwnd available for
            the peer to send
          • # of Fragments: number of Gap Ack Blocks included
          • # of Duplicates: number of Duplicate TSN reports
            included




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   4
SACK Chunk Fields II

          • Gap Ack Block Start / End TSN offset: the start and
            end offset for a range of consecutive TSNs received
            relative to the cumulative ack point
                    The TSNs not covered by a Gap Ack Block indicate TSNs
                    that are “missing”
          • Duplicate TSN: TSN that has been received more
            than once
                    Note that the same TSN may be reported more than once




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   5
SACK Chunk Example

                                            Type=3                   Flags=0                       Length=variable
                                                                         Cum Ack=109965
                                                                           rwnd = 64200
                                        Num of Fragments=2                                         Num of Dup=2
                                                   Gap start = 2                                      Gap end = 5
                                                  Gap start = 7                                       Gap end = 9
                                                              Duplicate TSN = 109963
                                                              Duplicate TSN = 109964




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   6
SACK Example Dissected

          • The sender’s cum-ack point is 109,965
          • The sender has received TSN's 109,967 – 109,970
          • The sender has received TSN's 109,972 – 109,974
          • The sender is missing 109,966 and 109,971.
          • The sender received duplicate transmissions of
            109,963 and 109,964
          • Question: Would you ever see a Gap Ack start of 1?




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   7
Transmission Rules

          • As in TCP, a congestion window (cwnd) and receive
            window (rwnd) are used to control sending of user
            data.
          • A sender must not transmit more than the calculated
            cwnd on a destination address.
          • The sender also must not attempt to send more than
            the peer’s rwnd to the peer.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   8
More on Transmission

          • However, if the peer closes its rwnd to 0 and the
            sender has no data chunks in flight, it may always
            send one packet with data to probe for a change in
            the rwnd.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   9
Selective Acknowledgment

          • Data is acknowledged via a delayed SACK scheme
            similar to TCP.
          • A SACK chunk includes the cumulative ack point
            (cum-ack) point.
          • cum-ack is the highest sequential TSN that has been
            received.
          • Out-of-order segments received are reported with
            “gap ack blocks” in the SACK




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   10
More on SACK

         • We always attempt to send a SACK back towards
           the destination address where the DATA came from.
         • With the cum-ack point and gap ack blocks, a SACK
           chunk fully describes all TSN's received within
           PMTU constraints:
                    For a 1500 byte ethernet frame, this means that over 360
                    gap blocks can be included in addition to the fixed fields of
                    a SACK chunk.
         • A SACK may also contain indications of duplicate
           data reception.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   11
More on SACKs

          • A receiver is allowed to revoke any data previously
            acknowledged in gap ack blocks.
                    Example: receiver’s reassembly buffer is memory limited
          • This means that a sender must hold a TSN until after
            the cum-ack has reached it.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   12
Retransmission Timer

          • SCTP maintains a Round Trip Time (RTT) and a
            Retransmission Time Out (RTO).
          • Most SCTP implementations will use an integer
            approximation for the RTT formula created by Van
            Jacobson for TCP i.e. SCTP and TCP use a similar
            formula but in practice everyone uses the same
            exact math for both TCP and SCTP.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   13
More on Retransmission

          • While sending data, a endpoint try's to measure the
            RTT once every round trip.
          • We do NOT measure the RTT of any packet that is
            retransmitted (since upon acknowledgment we don't
            know which transmission the SACK goes with).
          • Since SCTP is a multi-homed protocol, there is a
            small complication of how the T3-rtx timer is
            managed.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   14
Even More on Retransmission Timer

          • A general rule of thumb is that for any destination
            that has outstanding data (unacknowledged data) a
            retransmission timer should be running.
          • When all data that was in-flight to a destination is
            acknowledged, the timer should be stopped.
          • A peer revoking acknowledgement may also cause a
            sender to restart a T3-rtx.
          • When starting the T3 timer, we always use the RTO
            value not the RTT.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   15
Other Retransmissions

          • Like TCP, SCTP uses Fast Retransmit (FR) to
            expedite retransmission without always requiring a
            T3-rtx timeout.
          • The SCTP sender keeps track of the “holes” that
            gap ack blocks report are missing by maintaining a
            strike count for those chunks.
          • When the strike count reaches four, the DATA chunk
            is retransmitted.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   16
More on Fast Retransmit

          • When a FR occurs, a cwnd adjustment is made, but
            not as drastic as a T3-rtx timeout. [more on this later]
          • Only one adjustment is made per flight of data so
            that multiple FR's in the same window do NOT cut
            the cwnd more than once (note the I-G has more
            details on this procedure).
          • This single reduction is sometimes referred to as
            “NewReno”. NewReno is named after the version of
            TCP that it originated in.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   17
What Happens at Timer Expiration

          • A cwnd adjustment is made [more on this later]
          • The RTO is doubled.
          • All outstanding data to that destination is marked for
            retransmission.
          • If the receiver is multi-homed, an alternate address
            is selected for the data chunks that were in-flight.
          • Retransmit up to one MTU's worth of data towards
            the peer.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   18
Multi-homed Considerations

          • When a peer is multi-homed, a “primary destination
            address” will be selected by the SCTP endpoint.
          • By default, all data will be sent to this primary
            address.
          • When the primary address fails, the sender will
            select an alternate primary address until it is
            restored or the user changes the primary address.
          • SACK's may also require some special handling,
            consider the following:




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   19
Payload Protocol Identifier

          • Each DATA chunk also includes a Payload Protocol
            Identifier (PPID).
          • This PPID is used by the application and network
            monitoring equipment to understand the type of
            data being transmitted.
          • SCTP pays no attention to this field (it’s opaque).




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   20
A Multi-homed Peer With a Failure


                                                      IP-1


                                                                 X
                                                      IP-2
                       EP-1                                                       IP Network
                                                                                                                                     IP-4   EP-2
                                                      IP-3




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.                 21
Special Considerations

          • If IP-2 was EP-2's primary address, then the
            association may still fail even though EP-1 has
            multiple addresses. [more on association failures later]
          • In the preceding drawing imagine that EP-1 is
            sending packets with source address IP-2.
          • If EP-2 always sends SACK’s back to IP-2, EP-1 will
            never receive a SACK.
          • To prevent this, a receiver will generally alter the
            destination address of a SACK if it receives
            duplicate data.


SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   22
More on Streams

          • An example of using streams can be found in SS7
            over IP (sigtran). Here various call messages will be
            routed to different streams so that a lost message
            on one call will not hold up another call. Usually the
            SLS index of SS7 is mapped onto a stream (SLS
            values range from 0 to 15 if I remember right :-D)
          • A web client/server could use streams to display
            pictures in parallel instead of building multiple
            connections.




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.   23
A Stream Example



                       SS7-Network                                      SG                                                           MGC




                        IAM SLS=2




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.         24
A Stream Example


                     SS7-Network                                    SG                                                               MGC

                    IAM SLS=8


                                                                                                                                      IAM SLS=7



                                                                IAM SLS=2
                                                                SID=2




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.                25
A Stream Example


                    SS7-Network                                     SG                                                               MGC


                                                                            IAM SLS=8
                                                                            SID=8


                                                                                      IAM SLS=7
                                                                                      SID=7

                                                                                                                                      IAM SLS=2




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.                26
A Stream Example


                    SS7-Network                                     SG                                                               MGC

                                                                                                                                     IAM SLS=8

                      IAM SLS=7




                                                                                               ACM SLS=2
                                                                                               SID=2




SCTP Tutorial, Ottawa 7/2004   © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved.               27

Weitere ähnliche Inhalte

Was ist angesagt?

Protocol implementation on NS2
Protocol implementation on NS2Protocol implementation on NS2
Protocol implementation on NS2amreshrai02
 
B2 b fc credits performance deadlocks
B2 b fc credits performance deadlocksB2 b fc credits performance deadlocks
B2 b fc credits performance deadlocksBarry Wright
 
Test time efficient group delay filter characterization technique using a dis...
Test time efficient group delay filter characterization technique using a dis...Test time efficient group delay filter characterization technique using a dis...
Test time efficient group delay filter characterization technique using a dis...Pete Sarson, PH.D
 
Adaptive delta modulation of Speech signal
Adaptive delta modulation of Speech signalAdaptive delta modulation of Speech signal
Adaptive delta modulation of Speech signalSai Malleswar
 
E XOR opportunistic routing for multi hop networks
E XOR opportunistic routing for multi hop networks E XOR opportunistic routing for multi hop networks
E XOR opportunistic routing for multi hop networks shimaa Kotb Saif
 
디지털통신 9
디지털통신 9디지털통신 9
디지털통신 9KengTe Liao
 
Companding and DPCM and ADPCM
Companding and DPCM and ADPCMCompanding and DPCM and ADPCM
Companding and DPCM and ADPCMnaimish12
 
Essential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitterEssential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitterteledynelecroy
 
디지털통신 8
디지털통신 8디지털통신 8
디지털통신 8KengTe Liao
 
Modulation of digital and analog data
Modulation of digital and analog dataModulation of digital and analog data
Modulation of digital and analog dataPuspa Dhamayanti
 
디지털통신 7
디지털통신 7디지털통신 7
디지털통신 7KengTe Liao
 
15 06-0459-02-003c-cm-matlab-release-0-85-support-document
15 06-0459-02-003c-cm-matlab-release-0-85-support-document15 06-0459-02-003c-cm-matlab-release-0-85-support-document
15 06-0459-02-003c-cm-matlab-release-0-85-support-documentmaomao125
 
Introduction to Channel Capacity | DCNIT-LDTalks-1
Introduction to Channel Capacity | DCNIT-LDTalks-1Introduction to Channel Capacity | DCNIT-LDTalks-1
Introduction to Channel Capacity | DCNIT-LDTalks-1Arunabha Saha
 
Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...George Ang
 

Was ist angesagt? (20)

Protocol implementation on NS2
Protocol implementation on NS2Protocol implementation on NS2
Protocol implementation on NS2
 
Ns2
Ns2Ns2
Ns2
 
B2 b fc credits performance deadlocks
B2 b fc credits performance deadlocksB2 b fc credits performance deadlocks
B2 b fc credits performance deadlocks
 
Test time efficient group delay filter characterization technique using a dis...
Test time efficient group delay filter characterization technique using a dis...Test time efficient group delay filter characterization technique using a dis...
Test time efficient group delay filter characterization technique using a dis...
 
Adaptive delta modulation of Speech signal
Adaptive delta modulation of Speech signalAdaptive delta modulation of Speech signal
Adaptive delta modulation of Speech signal
 
Presentation ct
Presentation ctPresentation ct
Presentation ct
 
E XOR opportunistic routing for multi hop networks
E XOR opportunistic routing for multi hop networks E XOR opportunistic routing for multi hop networks
E XOR opportunistic routing for multi hop networks
 
디지털통신 9
디지털통신 9디지털통신 9
디지털통신 9
 
Chap 4
Chap 4Chap 4
Chap 4
 
Tdm fdm
Tdm fdmTdm fdm
Tdm fdm
 
Companding and DPCM and ADPCM
Companding and DPCM and ADPCMCompanding and DPCM and ADPCM
Companding and DPCM and ADPCM
 
Essential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitterEssential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitter
 
디지털통신 8
디지털통신 8디지털통신 8
디지털통신 8
 
Modulation of digital and analog data
Modulation of digital and analog dataModulation of digital and analog data
Modulation of digital and analog data
 
디지털통신 7
디지털통신 7디지털통신 7
디지털통신 7
 
Logsv2
Logsv2Logsv2
Logsv2
 
15 06-0459-02-003c-cm-matlab-release-0-85-support-document
15 06-0459-02-003c-cm-matlab-release-0-85-support-document15 06-0459-02-003c-cm-matlab-release-0-85-support-document
15 06-0459-02-003c-cm-matlab-release-0-85-support-document
 
PresentationSAR
PresentationSARPresentationSAR
PresentationSAR
 
Introduction to Channel Capacity | DCNIT-LDTalks-1
Introduction to Channel Capacity | DCNIT-LDTalks-1Introduction to Channel Capacity | DCNIT-LDTalks-1
Introduction to Channel Capacity | DCNIT-LDTalks-1
 
Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...
 

Ähnlich wie Collections3b datatransferstreams

sliding window protocol for datalink layer.ppt
sliding window protocol for datalink layer.pptsliding window protocol for datalink layer.ppt
sliding window protocol for datalink layer.pptManimegalaM3
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Hamidreza Bolhasani
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OpenvSwitch
 
8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdfTabrezahmed39
 
Progress seminar
Progress seminarProgress seminar
Progress seminarBarnali Dey
 
MACPresentation based on medium access control mechanism
MACPresentation based on medium access control mechanismMACPresentation based on medium access control mechanism
MACPresentation based on medium access control mechanismsupriyaharlapur1
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Olivier Bonaventure
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcpsamarai_apoc
 
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...Synack
 
DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...
DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...
DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...Synack
 
FEC & File Multicast
FEC & File MulticastFEC & File Multicast
FEC & File MulticastYoss Cohen
 
Lecture intro to_wcdma
Lecture intro to_wcdmaLecture intro to_wcdma
Lecture intro to_wcdmaGurpreet Singh
 
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsCyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsZettaScaleTechnology
 
Stcn presentation
Stcn presentationStcn presentation
Stcn presentationSutanu Paul
 

Ähnlich wie Collections3b datatransferstreams (20)

5033467 (1).ppt
5033467 (1).ppt5033467 (1).ppt
5033467 (1).ppt
 
sliding window protocol for datalink layer.ppt
sliding window protocol for datalink layer.pptsliding window protocol for datalink layer.ppt
sliding window protocol for datalink layer.ppt
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
 
8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf
 
Progress seminar
Progress seminarProgress seminar
Progress seminar
 
MACPresentation based on medium access control mechanism
MACPresentation based on medium access control mechanismMACPresentation based on medium access control mechanism
MACPresentation based on medium access control mechanism
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
 
6610-l14.pptx
6610-l14.pptx6610-l14.pptx
6610-l14.pptx
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
 
DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...
DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...
DEF CON 23: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simplex ...
 
FEC & File Multicast
FEC & File MulticastFEC & File Multicast
FEC & File Multicast
 
Tcp 6[1]
Tcp 6[1]Tcp 6[1]
Tcp 6[1]
 
[Slides]L2.pptx
[Slides]L2.pptx[Slides]L2.pptx
[Slides]L2.pptx
 
Lecture intro to_wcdma
Lecture intro to_wcdmaLecture intro to_wcdma
Lecture intro to_wcdma
 
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsCyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
 
Stcn presentation
Stcn presentationStcn presentation
Stcn presentation
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Kürzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Collections3b datatransferstreams

  • 1. DATA Chunk Type=0x00 Flags=UBE Length=variable TSN Value Stream Identifier Stream Sequence Num Payload Protocol Identifier Variable Length User Data • Flag Bits ‘UBE’ are used to indicate: U – Unordered Data B – Beginning of Fragmented Message E – End of Fragmented Message • A user message that fits in one chunk would have both the B and E bits set SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 1
  • 2. DATA Chunk Fields • TSN: transmission sequence number used for ordering and reassembly and retransmission • Stream Identifier: the stream number for this DATA • Stream Sequence Number: identifies which message this DATA belongs to for this stream • Payload Protocol Identifier: opaque value used by the endpoints (and perhaps network equipment) • User Data: the user message (or portion of) SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 2
  • 3. SACK Chunk Type=3 Flags=0 Length=variable Cumulative TSN Receiver window credit Num of Fragments=N Num of Dup=M Gap Ack Blk #1 start Gap Ack Blk #1 end Gap Ack Blk #N start Gap Ack Blk #N end Duplicate TSN #1 Duplicate TSN #M SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 3
  • 4. SACK Chunk Fields • Cumulative TSN Acknowledgment: the highest consecutive TSN that the SACK sender has received a.k.a. cumulative ack (cum-ack) point • Receiver Window Credit: current rwnd available for the peer to send • # of Fragments: number of Gap Ack Blocks included • # of Duplicates: number of Duplicate TSN reports included SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 4
  • 5. SACK Chunk Fields II • Gap Ack Block Start / End TSN offset: the start and end offset for a range of consecutive TSNs received relative to the cumulative ack point The TSNs not covered by a Gap Ack Block indicate TSNs that are “missing” • Duplicate TSN: TSN that has been received more than once Note that the same TSN may be reported more than once SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 5
  • 6. SACK Chunk Example Type=3 Flags=0 Length=variable Cum Ack=109965 rwnd = 64200 Num of Fragments=2 Num of Dup=2 Gap start = 2 Gap end = 5 Gap start = 7 Gap end = 9 Duplicate TSN = 109963 Duplicate TSN = 109964 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 6
  • 7. SACK Example Dissected • The sender’s cum-ack point is 109,965 • The sender has received TSN's 109,967 – 109,970 • The sender has received TSN's 109,972 – 109,974 • The sender is missing 109,966 and 109,971. • The sender received duplicate transmissions of 109,963 and 109,964 • Question: Would you ever see a Gap Ack start of 1? SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 7
  • 8. Transmission Rules • As in TCP, a congestion window (cwnd) and receive window (rwnd) are used to control sending of user data. • A sender must not transmit more than the calculated cwnd on a destination address. • The sender also must not attempt to send more than the peer’s rwnd to the peer. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 8
  • 9. More on Transmission • However, if the peer closes its rwnd to 0 and the sender has no data chunks in flight, it may always send one packet with data to probe for a change in the rwnd. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 9
  • 10. Selective Acknowledgment • Data is acknowledged via a delayed SACK scheme similar to TCP. • A SACK chunk includes the cumulative ack point (cum-ack) point. • cum-ack is the highest sequential TSN that has been received. • Out-of-order segments received are reported with “gap ack blocks” in the SACK SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 10
  • 11. More on SACK • We always attempt to send a SACK back towards the destination address where the DATA came from. • With the cum-ack point and gap ack blocks, a SACK chunk fully describes all TSN's received within PMTU constraints: For a 1500 byte ethernet frame, this means that over 360 gap blocks can be included in addition to the fixed fields of a SACK chunk. • A SACK may also contain indications of duplicate data reception. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 11
  • 12. More on SACKs • A receiver is allowed to revoke any data previously acknowledged in gap ack blocks. Example: receiver’s reassembly buffer is memory limited • This means that a sender must hold a TSN until after the cum-ack has reached it. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 12
  • 13. Retransmission Timer • SCTP maintains a Round Trip Time (RTT) and a Retransmission Time Out (RTO). • Most SCTP implementations will use an integer approximation for the RTT formula created by Van Jacobson for TCP i.e. SCTP and TCP use a similar formula but in practice everyone uses the same exact math for both TCP and SCTP. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 13
  • 14. More on Retransmission • While sending data, a endpoint try's to measure the RTT once every round trip. • We do NOT measure the RTT of any packet that is retransmitted (since upon acknowledgment we don't know which transmission the SACK goes with). • Since SCTP is a multi-homed protocol, there is a small complication of how the T3-rtx timer is managed. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 14
  • 15. Even More on Retransmission Timer • A general rule of thumb is that for any destination that has outstanding data (unacknowledged data) a retransmission timer should be running. • When all data that was in-flight to a destination is acknowledged, the timer should be stopped. • A peer revoking acknowledgement may also cause a sender to restart a T3-rtx. • When starting the T3 timer, we always use the RTO value not the RTT. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 15
  • 16. Other Retransmissions • Like TCP, SCTP uses Fast Retransmit (FR) to expedite retransmission without always requiring a T3-rtx timeout. • The SCTP sender keeps track of the “holes” that gap ack blocks report are missing by maintaining a strike count for those chunks. • When the strike count reaches four, the DATA chunk is retransmitted. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 16
  • 17. More on Fast Retransmit • When a FR occurs, a cwnd adjustment is made, but not as drastic as a T3-rtx timeout. [more on this later] • Only one adjustment is made per flight of data so that multiple FR's in the same window do NOT cut the cwnd more than once (note the I-G has more details on this procedure). • This single reduction is sometimes referred to as “NewReno”. NewReno is named after the version of TCP that it originated in. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 17
  • 18. What Happens at Timer Expiration • A cwnd adjustment is made [more on this later] • The RTO is doubled. • All outstanding data to that destination is marked for retransmission. • If the receiver is multi-homed, an alternate address is selected for the data chunks that were in-flight. • Retransmit up to one MTU's worth of data towards the peer. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 18
  • 19. Multi-homed Considerations • When a peer is multi-homed, a “primary destination address” will be selected by the SCTP endpoint. • By default, all data will be sent to this primary address. • When the primary address fails, the sender will select an alternate primary address until it is restored or the user changes the primary address. • SACK's may also require some special handling, consider the following: SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 19
  • 20. Payload Protocol Identifier • Each DATA chunk also includes a Payload Protocol Identifier (PPID). • This PPID is used by the application and network monitoring equipment to understand the type of data being transmitted. • SCTP pays no attention to this field (it’s opaque). SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 20
  • 21. A Multi-homed Peer With a Failure IP-1 X IP-2 EP-1 IP Network IP-4 EP-2 IP-3 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 21
  • 22. Special Considerations • If IP-2 was EP-2's primary address, then the association may still fail even though EP-1 has multiple addresses. [more on association failures later] • In the preceding drawing imagine that EP-1 is sending packets with source address IP-2. • If EP-2 always sends SACK’s back to IP-2, EP-1 will never receive a SACK. • To prevent this, a receiver will generally alter the destination address of a SACK if it receives duplicate data. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 22
  • 23. More on Streams • An example of using streams can be found in SS7 over IP (sigtran). Here various call messages will be routed to different streams so that a lost message on one call will not hold up another call. Usually the SLS index of SS7 is mapped onto a stream (SLS values range from 0 to 15 if I remember right :-D) • A web client/server could use streams to display pictures in parallel instead of building multiple connections. SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 23
  • 24. A Stream Example SS7-Network SG MGC IAM SLS=2 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 24
  • 25. A Stream Example SS7-Network SG MGC IAM SLS=8 IAM SLS=7 IAM SLS=2 SID=2 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 25
  • 26. A Stream Example SS7-Network SG MGC IAM SLS=8 SID=8 IAM SLS=7 SID=7 IAM SLS=2 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 26
  • 27. A Stream Example SS7-Network SG MGC IAM SLS=8 IAM SLS=7 ACM SLS=2 SID=2 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. 27