Generic Stream Encapsulation: Difference between revisions

Content deleted Content added
mNo edit summary
Tags: Visual edit Mobile edit Mobile web edit
 
(41 intermediate revisions by 31 users not shown)
Line 1:
{{External links|date=September 2022}}
{{Userspace draft|source=ArticleWizard|date=June 2010}}
{{IPstack}} '''Generic Stream Encapsulation''', or GSE for short, is a [[Data link layer]] protocol defined by [[Digital Video Broadcasting|DVB]]. GSE provides means to carry packet oriented protocols, likesuch for exampleas [[Internet Protocol|IP]], on top of uni-directional [[physical layer]]s likesuch e.g.as [[DVB-S2]], [[DVB-T2]] and [[DVB-C2]].
 
GSE also provides additional features beyond the pure carriage of IP datagrams that increase the protocol flexibility and applicability. Some key GSE functions/characteristics are:
{{IPstack}} '''Generic Stream Encapsulation''', or GSE for short, is a [[Data link layer]] protocol defined by [[Digital Video Broadcasting|DVB]]. GSE provides means to carry packet oriented protocols, like for example [[IP]], on top of uni-directional [[physical layer]]s like e.g. [[DVB-S2]], [[DVB-T2]] and [[DVB-C2]].
* Support for multi-protocol encapsulation ([[IPv4]], [[IPv6]], [[MPEG]], [[Asynchronous Transfer Mode|ATM]], [[Ethernet]], [[IEEE 802.1Q|802.1pQ]] [[VLAN]]s, etc.)
 
* Transparency to network layer functions, including [[Internet Protocol|IP]] [[encryption]] and IP [[Van Jacobson TCP/IP Header Compression|header compression]].
The [[protocol]] [[specification]] has been published as [[ETSI]] TS
* Support of several addressing modes. In addition to the 6-byte [[MAC]] address]] (including [[multicast]] and [[unicast]]), it supports a MAC address-less mode, and an optional 3-byte address mode.
102 606 <ref name="ts102606">ETSI TS 102 606: "Digital Video
* A mechanism for fragmenting [[Internet Protocol|IP]] [[datagrams]] or other [[network layer]] [[Packet (information technology)|packets]] over [[baseband|Base Band]] frames to support [[Link adaptation|ACM]]/[[Variable Coding and Modulation|VCM]].
Broadcasting (DVB); Generic Stream Encapsulation (GSE)
* Support for [[hardware]] [[Firewall (computing)|filtering]].
Protocol"</ref>. An accompanying [[implementation]] [[guidelines]]
document has been published as [[ETSI]] TS 102 771<ref name="ts102771">ETSI TS 102 771: "Digital Video Broadcasting (DVB); Generic Stream Encapsulation (GSE) implementation guidelines"</ref>.
 
GSE also provides additional features that increase the protocol flexibility and applicability. Some key GSE functions/characteristics are:
* Support for multi-protocol encapsulation ([[IPv4]], [[IPv6]], [[MPEG]], [[ATM]], [[Ethernet]], [[IEEE 802.1Q|802.1pQ]] [[VLAN]]s, etc.)
* Transparency to network layer functions, including [[IP]] [[encryption]] and IP [[Van Jacobson TCP/IP Header Compression|header compression]].
* Support of several addressing modes. In addition to the 6-byte [[MAC]] address (including [[multicast]] and [[unicast]]), it supports a MAC address-less mode, and an optional 3-byte address mode.
* A mechanism for fragmenting [[IP]] [[datagrams]] or other [[network layer]] [[Packet (information technology)|packets]] over [[baseband|Base Band]] frames to support [[Link adaptation|ACM]]/[[Variable Coding and Modulation|VCM]].
* Support for [[hardware]] [[Firewall (computing)|filtering]].
* Extensibility: additional [[link protocol]]s can be included through specific protocol type values (e.g. [[Layer 2]] security, IP Header Compression, etc.).
 
== Protocol Outline ==
 
[[ImageFile:GSE_diagramGSE diagram.png|right|thumb|400px|alt=Diagram of GSE encapsulation and fragmentation|How GSE carries datagrams and is carried in the physical layer]]
 
The [[Communications protocol|protocol]] [[specification]] has been published as [[ETSI]] TS
102 606 .<ref name="ts102606">ETSI TS 102 606: "Digital Video
Broadcasting (DVB); Generic Stream Encapsulation (GSE)
Protocol"</ref>. An accompanying [[implementation]] [[guidelines]]
document has been published as [[ETSI]] TS 102 771.<ref name="ts102771">ETSI TS 102 771: "Digital Video Broadcasting (DVB); Generic Stream Encapsulation (GSE) implementation guidelines"</ref>.
 
IP datagrams, Ethernet Frames, or other network layer packets are encapsulated in one or more GSE Packets. The encapsulation process adds control information such as the network protocol type and address label, and provides an overall integrity check when needed.
Line 27 ⟶ 26:
GSE Packets may be sent in different Base Band frames, not necessarily consecutive or with the same transmission parameters (modulation format, coding rate). No constraint on the GSE Packet position within the Base Band frame is assumed. However, GSE Packets may not be reordered between the encapsulator and the de-encapsulator. In general, a Base Band frame can contain more than a single GSE Packet. Base Band frames may have fixed, or variable length.
 
GSE does not provide a mechanism for integrity check of single GSE Packet. A [[CRC-32]] is only appended to the last fragment of a fragmented payload to verify the correctness of the reassembly operation. GSE relies on the physical layer being able to ensure the required error detection and/or correction probability .<ref>IETF RFC{{IETF RFC|3819}}: "Advice for Internet Subnetwork Designers"</ref> .
 
=== GSE Header ===
Line 56 ⟶ 55:
| colspan="8" bgcolor="#CCFFCC"| Total Length
| colspan="16" bgcolor="#CCFFCC"| Protocol Type
| colspan="8" bgcolor="#CCFFCC"| Label (3 Bytebytes)
|-
! 64
| colspan="16" bgcolor="#CCFFCC"| Label (continuation, length 3 Bytebytes)
| colspan="16" bgcolor="#AADDBB"| Label (continuation, length 6 Bytebytes)
|-
! 96
| colspan="8" bgcolor="#AADDBB"| Label (continuation, length 6 Bytebytes)
| colspan="24" bgcolor="#FFBBBB"| [[Unidirectional Lightweight Encapsulation|ULE]] Extension Headers (Optional)
|-
! ...
Line 99 ⟶ 98:
|}
 
On [[DVB-S2]], [[DVB-T2]], and [[DVB-C2]] the ACM/VCM modes may cause the Base Band frames to vary in size depending on the transmission conditions. Hence there may be situations where the first fragments of a payloafpayload frame have been sent, but the encapsulator is forced to set aside the current payload frame, and start working on a new one. This may e.g. occur when large fragments have been prepared while transmission conditions were fine, but suddenly the conditions deteriorate, and only small Base Band frames are available.
 
This is when the '''Fragment ID''' field becomes important. It is a short-term identification of the payload frame. Whenever the encapsulator needs to move on to the next payload frame, without having finished transmitting the previous one, it uses the next available Fragment ID. That way, up to 256 payload frames can be "kept open" at any time. The decapsulator uses the Fragment ID to pick the reassembly buffer in which to store the fragment.
 
=== GSE addresses ===
 
The "Label Type" (LT) bits determine how the GSE packet address is encoded according to the following table:
 
{| class="wikitable" style="text-align:center"
|+ Addressing Mode
|-
! width="10%" | LT bits
! width="80%" | Addressing mode
|-
| 00
| style="text-align:left" | Indicates that a 6 bytes label is present and shall be used for filtering.
|-
| 01
| style="text-align:left" | Indicates that a 3 bytes label is present and shall be used for filtering.
|-
| 10
| style="text-align:left" | No label present. All receivers shall process this packet.
|-
| 11
| style="text-align:left" | Label re-use: no label is present; the label is the same as the previous GSE packet in the same base band frame. LT=11 is also used for intermediate and end packets (''i.e.'' Start bit 0). LT=11 shall not be used for the first GSE packet in a base band frame with Start bit 1.
|-
|}
 
=== CRC-32 Trailer ===
 
Each GSE Packet containing the last fragment for a payload frame, carries a [[Cyclic redundancy check|CRC-32 checksum]] over the payload frame. The checksum is used to detect loss of intermediate fragments.
 
The checksum is a 32 bit value calculated according to the generator polynomial represented by 0x104C11DB7:
Line 111 ⟶ 134:
<math>y = x^{32} + x^{26} + x^{23} + x^{22} + x^{16} + x^{12} + x^{11} + x^{10} + x^{8} + x^{7} + x^{5} + x^{4} + x^{2} + x^{1} + x^{0}</math>
 
If the last fragment of a paylodpayload frame is lost, the decapsulator can not directly detect that fact. It never sees the GSE frame with the End flag set and containing the CRC-32. For this situation, the decapsulator must choose a suitable time-out based on the data-rate and application.
 
== GSE Implementations ==
Line 127 ⟶ 150:
base-band frames, these devices typically generate complete base-band
frames with the GSE packets as payload, which are then transferred to
the [[DVB-S2]], [[DVB-T2]] or [[DVB-C2]] modulator throuhgthrough a second
interface.
 
Here is a (very likely incomplete) list of GSE en- and decapsulators:
* [https://web.archive.org/web/20120517023254/http://www.newtec.eu/ Newtec]
** [http://www.newtec.eu/products/professional-equipment/elevation/modems/ip-satellite-modem-el470/ EL470 IP Satellite Modem]
** [http://www.newtec.eu/products/professional-equipment/elevation/demodulators/ip-satellite-demodulator-el970/ EL970 IP Satellite Demodulator]
 
* [http://www.work-microwave.de/ WORK Microwave GmbH]
** [http://www.work-microwave.de/dvb-s_s2.html#modems Challenge Series Satellite High Speed DVB-S2 IP Modem SK-IP] {{Webarchive|url=https://web.archive.org/web/20110410220742/http://www.work-microwave.de/dvb-s_s2.html#modems |date=2011-04-10 }}
* [http://www.tebkom.at/ Tebkom GmbH]
 
** [https://web.archive.org/web/20150707163826/http://www.tebkom.at/product_odg.html ODG200 IP/DVB-S2 Encapsulator/Modulator with ACM support]
* [http://www.gcs-salzburg.at/ gcs Global Communication & Services GmbH]
** [http://www.gcs-salzburg.at/odg.html.en ODG-200 Open DVB Gateway]
** [http://www.gcs-salzburg.at/bsr.html.en BSR-200 Broadband Satellite Receiver]
 
* [http://www.advantechwireless.com/ Advantech Wireless Inc.]
** [https://web.archive.org/web/20110903085805/http://www.advantechwireless.com/catalogue/products/amt75e-dvb-ss2-high-speed-broadcast-modem-2/ AMT 75e DVB-S/S2 High Speed Broadcast Modem]
 
* [http://www.comtechefdata.com/ Comtech EF Data Corporation]
** [http://www.comtechefdata.com/products/Advanced-VSAT-Series/pcdm-840.asp CDM-840 Remote Router]
 
* [http://www.transplaneta.com/ K.S.Transplaneta Ltd.]
** [https://web.archive.org/web/20120322130601/http://www.transplaneta.com/products/ip-encapsulator dpi4502 DVB2 (S2/T2/C2) compliant IPv4 / IPv6 Encapsulator]
 
* [http://dveo.com/ Computer Modules, Inc.]
** [http://dveo.com/broadcast-systems/ip-over-dvb-encapsulator.shtml DVB Rocket™/S2]
* [http://www.gcs-salzburgayecka.atcom/ gcs GlobalAyecka Communication & Servicessystems GmbHLTD]
**[http://ayecka.com/products-SR1.php#SR1 SR1 - Advance DVB-S2 demodulator with hardware based, wire speed, GSE Decapsulator]
**[http://ayecka.com/products-ST1.php#ST1 ST1 - Advance DVB-S2 modulator with hardware based, wire speed, GSE encapsulator]
**[http://ayecka.com/products-SM1.php SM1 - Advance DVB-S2 Modem with hardware based, wire speed, GSE EnCapsulator / DeCapsulator]
 
=== GSE-based IP Service Offerings ===
 
There are many IP-over-satellite service offerings, including for
instance [[ASTRA2Connect]] from [[SES AstraS.A.|SES]] or [[Tooway]] from
[[Eutelsat]]. Little detail is however known about the protocols used
since the receivers are provided as part of the service by the
Line 169 ⟶ 189:
* [http://www.dvb.org/technology/standards/index.xml#multiplexing Obtain GSE Standard and Guidelines from DVB free of charge]
* [http://www.dvb.org/technology/fact_sheets/DVB-GSE-Fact-Sheet.0709.pdf DVB Fact Sheet on GSE]
* [https://web.archive.org/web/20110722013509/http://telecom.esa.int/telecom/www/object/index.cfm?fobjectid=30265 GSE project home page] at [[ESA]]]
* [https://github.com/CNES/libgse Opensource implementation of GSE]
 
[[Category:Television technology]]
<!--- Categories --->
[[Category:Articles created via the Article Wizard]] [[Category:Television technology]] [[Category:Link protocols]]