SlideShare a Scribd company logo
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

More Related Content

What's hot

Protocol implementation on NS2
Protocol implementation on NS2Protocol implementation on NS2
Protocol implementation on NS2
amreshrai02
 
Ns2
Ns2Ns2
B2 b fc credits performance deadlocks
B2 b fc credits performance deadlocksB2 b fc credits performance deadlocks
B2 b fc credits performance deadlocks
Barry 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 signal
Sai 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
디지털통신 9
KengTe Liao
 
Companding and DPCM and ADPCM
Companding and DPCM and ADPCMCompanding and DPCM and ADPCM
Companding and DPCM and ADPCM
naimish12
 
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
teledynelecroy
 
디지털통신 8
디지털통신 8디지털통신 8
디지털통신 8
KengTe 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
디지털통신 7
KengTe 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-document
maomao125
 
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
Arunabha 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
 

What's hot (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...
 

Similar to Collections3b datatransferstreams

5033467 (1).ppt
5033467 (1).ppt5033467 (1).ppt
5033467 (1).ppt
HazemElabed2
 
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
ManimegalaM3
 
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 usecases
LF_OpenvSwitch
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
Olivier Bonaventure
 
8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf
Tabrezahmed39
 
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 mechanism
supriyaharlapur1
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
Olivier Bonaventure
 
6610-l14.pptx
6610-l14.pptx6610-l14.pptx
6610-l14.pptx
ArvindRamesh22
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
samarai_apoc
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
Olivier Bonaventure
 
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 Multicast
Yoss Cohen
 
[Slides]L2.pptx
[Slides]L2.pptx[Slides]L2.pptx
[Slides]L2.pptx
WilliamAsiedu4
 
Lecture intro to_wcdma
Lecture intro to_wcdmaLecture intro to_wcdma
Lecture intro to_wcdma
Gurpreet 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 Systems
ZettaScaleTechnology
 
Stcn presentation
Stcn presentationStcn presentation
Stcn presentationSutanu Paul
 

Similar to 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
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 

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