Ntrip - Networked Transport of RTCM via Internet Protocol
Ntrip stands for an application-level protocol for streaming Global Navigation Satellite System (GNSS)
data
over the Internet.
It is a generic, stateless protocol based on the Hypertext Transfer Protocol HTTP/1.1.
The HTTP objects are enhanced to GNSS data streams. Ntrip is an RTCM standard designed for disseminating
differential correction data (e.g in the RTCM-104 format) or other kinds
of GNSS streaming data to stationary or mobile users over the Internet, allowing simultaneous PC,
Laptop,
PDA, or receiver
connections to a broadcasting host. It supports wireless Internet access through Mobile IP Networks like
GSM, GPRS, EDGE, or UMTS.
Ntrip is implemented in three system software components: NtripClients, NtripServers and NtripCasters. The NtripCaster is the actual HTTP server program whereas NtripClient and NtripServer are acting as HTTP clients.
Ntrip is meant to be an open none-proprietary protocol. Major characteristics of Ntrip dissemination technique are:
- Based on the popular HTTP streaming standard; comparatively easy to implement when having limited client and server platform resources available.
- Application not limited to one particular plain or coded stream content; ability to distribute any kind of GNSS data.
- Potential to support mass usage; disseminating hundreds of streams simultaneously for up to thousand users possible when applying modified Internet Radio broadcasting software.
- Considering security needs; stream providers and users do not necessarily get into contact, streams often not blocked by firewalls or proxyservers protecting Local Area Networks.
- Enables streaming over any mobile IP network because of using TCP/IP.
Motivation
Since 1993 the RINEX Format is the standard file format
for
long-time storage and dissemination of GNSS
receiver
data, targeted mainly for the estimation of station coordinates in post-processing mode.
RINEX data can be downloaded at several global and regional data centers usually as "daily" files
containing
24 hours of data.
With ongoing development and the desire for getting information immediately the demand for accessing GNSS
data with very small delay (in real-time) grew. Monitoring and of course positioning are probably the main
use cases where real-time data is
indispensable.
In order to disseminate GNSS data in real-time a new format had to be developed. RTCM messages
(see RTCM Home Page)
are nowadays widely used for this purpose. In addition to a format a transport protocol had to be defined,
the so-called Ntrip streaming protocol, developed at BKG together with TU Dortmund.
Using this protocol the data user is able to communicate with the data provider.
Georg Weber, the former scientific director in the Department of Geodesy at BKG and representing BKG as a
member of the RTCM Services Special Committee (SC) 104
played a decisive role in the development and promotion of real-time GNSS and Ntrip.
An important reason why Ntrip has been widely accepted is that BKG provides software tools for both, the
server and the client side.
On the server side the BKG Ntrip Broadcaster was developed to stream GNSS data in real-time over the
Internet.
The BKG Ntrip Client (BNC), which is not only an Ntrip client, is the leading internationally accepted
standard Ntrip client application. It's development started in 2005 mainly by Leos Mervart from TU Prague.
Documentation
The material provided here describes the Ntrip real-time GNSS data transport protocol definition and the
description of an Ntrip Example Implementation. Note that the protocol definition made available here is
not the official Ntrip documentation. The standards can be purchased at the RTCM shop.
The Ntrip working group of RTCM SC104 provides a practical guidance to developers of Ntrip client
software. The document is distributed freely at the RTCM shop. New
Ntrip, Version 1.0
In September 2004 Ntrip Version 1.0 became an RTCM Recommended Standard, see Press Release. The Transport Protocol Definition Vers. 1.0, Status 2004-09-30 is available here.
Ntrip, Version 2.0
In June 2009 RTCM Special Committee 104 (SC104) has completed a Version 2.0 of its Ntrip standard, see Press Release. Major changes compared to Version 1.0 are:
- Cleared and fixed design problems and HTTP protocol violations
- Replaced non standard directives
- Adds chunked transfer encoding
- Improves header records
- Provides for sourcetable filtering
- Provides for Real Time Streaming Protocol (RTSP) communication
Ntrip Broadcaster
Global Navigation Satellite System (GNSS) data can be broadcast in real-time over the Internet using the Ntrip dissemination technique. In this context, the purpose of so-called Ntrip Broadcasters is to split data streams coming in from GNSS Reference Stations (Sources) for many simultaneously listening Clients. Ntrip Broadcasters do not alter the data. The communication between Sources, a Broadcaster, and its Clients is done through HTTP. Ntrip supports the dissemination of any GNSS data stream (GPS, GLONASS, Galileo, EGNOS, WAAS etc.) that needs 0.2 to 10 Kbit/s transmission rate and carries e.g.
- RTCM observations or broadcast ephemeris or orbit/clock corrections, DGPS, RTK
- RTCA corrections, EGNOS & WAAS
- Raw receiver data, vendor formats
- RINEX observations
- BINEX observations
- other GNSS data/formats
Ntrip Broadcasters are currently installed world-wide to disseminate GNSS data in real-time. Visit www.rtcm-ntrip.org for a list of known installations.
BKG maintains the following Ntrip Broadcasters:
IGS-IP | igs-ip.net | map | availability |
MGEX | mgex.igs-ip.net | map | availability |
EUREF-IP | euref-ip.net | map | availability |
PRODUCTS | products.igs-ip.net | map | availability |
BKG offers the BKG Professional NtripCaster SW for disseminating GNSS real-time data streams via Internet. Read more »
Access
To get access to BKG casters please use our registration page.
Use Cases
The user registration for access to the GNSS streams requires a short description of the user's real-time application. To see a selection of anonymized application descriptions, click here.
Ntrip References
The following links shall provide some background information on Ntrip usage and further Ntrip development. We try to keep the list up to date. Feel free to inform us about your Ntrip publication in case you would like to see it listed below.
Ntrip: Protocol, Video on YouTube,English
Ntrip: Client Excercise, Video on YouTube, English
Ntrip: Application and Benefit in Modern Surveying Systems, English
Nutzung der Internet-Radio-Technologie zur Übertragung von GNSS-Daten, German
Die Zukunft spricht Ntrip, German
El proyecto EUREF-IP: Resultados con GPRS, Spanish
Techniques GPS-RTK appliquées à la trajectographie, French
GNSS-Echtzeitorbitkontrolle auf Basis Internet-transferierter ..., German
D-GNSS Accuracy Test At Bucu EPN Station, English
Networked Transport of RTCM via Internet Protocol, English
Ntrip: PP-Presentation, IAG, Sapporo, Japan, 2003, English
Новый формат Ntrip
передачи..., Russian
Test Results of an Internet RTK System Based on the Ntrip Protocol, English
Ntrip - Ein neues Konzept zur Übertragung von Korrekturdaten unter SAPOS, German
Benefits of Telecommunications Technology to GPS Users, English
GNSS/GPS infrastructure to support LBS Positioning Systems in Victoria, English
NTRIP Estudi i Aplicacions, Catalan
Interactive Map of EUREF-IP Real-Time GNSS Data Streams, English
Verbesserte GPS-Positionsschätzung mit IP-transportierten ..., German
Data and Products
Real-time observations, ephemeris and corrections can be received from following non-exhaustive list of Ntrip Broadcasters. Corrections are disseminated in the RTCM-State Space Representation (RTCM-SSR) format that has been adopted by the IGS and can be used for real-time PPP.
Broadcaster | Operator | Registration | Remarks |
---|---|---|---|
cddis.nasa.gov | Crustal Dynamics Data Information System (CDDIS), North America | CDDIS | IGS observations and products, world-wide |
gnssdata-ch1.cosmic.ucar.edu | IGS Central Bureau / UCAR COSMIC, North America | IGSCB | IGS observations and products, world-wide |
igs-ip.net | Federal Agency for Cartography and Geodesy (BKG, Europe) | BKG | IGS station observations, world-wide |
products.igs-ip.net | Federal Agency for Cartography and Geodesy (BKG, Europe) | BKG | IGS products, world-wide |
auscors.ga.gov.au | Geoscience Australia (GA) | auscors | IGS observations and products, world-wide |
ntrip.gnsslab.cn | Wuhan (China) | Wuhan | IGS observations and products, world-wide |
112.65.161.226:2101 | Shanghai Astronomical Observatory (China) | SHAO | IGS observations and products, world-wide |
mgex.igs-ip.net | Federal Agency for Cartography and Geodesy (BKG, Europe) | BKG | multi GNSS observations and products, world-wide |
www.euref-ip.net | Federal Agency for Cartography and Geodesy (BKG, Europe) | BKG | EPN observations and products, Europe |
www.euref-ip.be | Royal Observatory of Belgium (ROB), Europe | ROB | EPN observations and products, Europe |
euref-ip.asi.it | Agenzia Spaziale Italiana (ASI), Europe | ASI | EPN observations and products, Europe |
Observations
For the very beginning real-time observations have been made available on IGS and EUREF broadcasters in form of legacy messages for GPS and GLONASS (1004, 1012). Nowadays they have been more and more replaced by the new RTCM3 Multi-Signal Message (MSM) format that was developed to handle all GNSS constellations, signals, and observation types.
Broadcast Ephemeris
Several Ntrip broadcasters disseminate streams carrying only broadcast ephemeris. They derive their stream contents independently from a globally distributed selection of mainly EUREF and IGS reference stations. Ephemeris message repetition rates vary between 1 and 5 seconds.
Caster:Port | Mountpoint | GNSS | Provider | Sign up |
---|---|---|---|---|
products.igs-ip.net:2101 | BCEP00BKG0 | GPS+GLO+GAL+BDS+QZS | BKG | Registration |
mgex.igs-ip.net:2101 | RTCM3EPH-MGEX | GPS+GLO+GAL+BDS+QZS+SBAS | BKG | Registration |
wox.geopp.de:2101 | WW_EPH | GPS+GLO | Geo++ | support(at)geopp.de |
ntrip.gnssonline.eu | RTCM3EPH | GPS+GLO | Alberding GmbH | info(at)alberding.eu |
Broadcast Ephemeris messages from globally distributed streams are also converted to RINEX Navigation files. These files are made available for download at https://igs.bkg.bund.de/root_ftp/NTRIP/BRDC/. Unlike daily concatenated files from reference stations, their 24h sliding window content is updated every 15 minutes.
Broadcast Orbit and Clock Corrections
Precise orbits and clocks can be derived from corrections to Broadcast Ephemeris. RTCM's State Space Representation (SSR) Working Group has developed appropriate v3 messages to disseminate such Broadcast Corrections in real-time. The following messages are defined:
Message | Contents |
---|---|
1057 | GPS orbit corrections to Broadcast Ephemeris |
1058 | GPS clock corrections to Broadcast Ephemeris |
1059 | GPS code biases |
1060 | Combined orbit and clock corrections to GPS Broadcast Ephemeris |
1061 | GPS User Range Accuracy |
1062 | High-rate GPS clock corrections to Broadcast Ephemeris |
1063 | GLONASS orbit corrections to Broadcast Ephemeris |
1064 | GLONASS clock corrections to Broadcast Ephemeris |
1065 | GLONASS code biases |
1066 | Combined orbit and clock corrections to GLONASS Broadcast Ephemeris |
1067 | GLONASS User Range Accuracy |
1068 | High-rate GLONASS clock corrections to Broadcast Ephemeristd |
Orbit corrections are provided in along-track, cross-track and radial components. These components are defined in the earth-centered, earth-fixed reference frame of the broadcast ephemeris. Clock corrections are not adjusted for the 2nd-order relativistic effect. After applying corrections, the satellite position and clock is referred to the 'ionospheric free' phase center of the antenna which is compatible with the broadcast orbit reference. The orbit and clock corrections do neither include local effects (like Ocean Loading or Solid Earth Tides) nor atmospheric effects (ionosphere and/or troposphere). There is currently no RTCM SSR message for ionospheric state parameters. The development of ionospheric messages will be the next step in the schedule of the RTCM State Space Representation Working Group.
Products naming convention
At the end of the year 2019 a new naming convention for real-time products was introduced by the IGS Real-time working group. According to that the mountpoints should have the pattern "TTTTXXAAAF" with
- TTTT
- stream type (SSRA, SSRC, IONO, BCEP, etc.)
- XX
- 2 digit solution ID
- AAA
- 3 letter agency code
- F
- 1 digit format ID (0: RTCM3, 1: IGS-SSR, 2-9: reserved)
- SSRA
- state space correction stream (orbits, clocks, ...), orbits refer to APC. Example: SSRA01BKG0 (former CLK11)
- SSRC
- state space correction stream (orbits, clocks, ...), orbits refer to COM. Example: SSRC01BKG0 (former CLK01)
- DCBS
- state space correction stream (DCBs only)
- IONO
- ionospheric correction stream
- TROP
- tropospheric correction stream
- BCEP
- broadcast navigation data (ephemeris) stream
A transition table from short to the new long mountpoint names is available here.
Broadcast Correction IDs
Any RTCM Version 3 Broadcast Correction stream contains three types of IDs to identify its contents.
- A globally unique SSR Provider ID (PID) released by RTCM to identify a SSR service, see SSRProvider.
- A SSR Solution ID (SID) which indicates different SSR services of one SSR provider.
- A Issue Of Data (IOD) to indicate a change in the SSR generation, which may be relevant for rover operation.
Caster:Port | Mountpoint | Provider | PID | SID | IOD |
---|---|---|---|---|---|
products.igs-ip.net:2101 | SSRA01IGS0 (IGS01) | ESA | 258 | 2 | 0 |
products.igs-ip.net:2101 | SSRA01IGS0 (IGS01) | ESA | 258 | 2 | 1 |
www.igs.org:2101 | SSRA01IGS0 (IGS01) | ESA | 258 | 2 | 2 |
www.igs.org:2101 | SSRA01IGS0 (IGS01) | ESA | 258 | 2 | 3 |
products.igs-ip.net:2101 | SSRA02IGS0 (IGS02) | BKG | 258 | 0 | 0 |
products.igs-ip.net:2101 | SSRA02IGS0 (IGS02) | BKG | 258 | 0 | 1 |
www.igs.org:2101 | SSRA02IGS0 (IGS02) | BKG | 258 | 0 | 2 |
www.igs.org:2101 | SSRA02IGS0 (IGS02) | BKG | 258 | 0 | 3 |
products.igs-ip.net:2101 | SSRA03IGS0 (IGS03) | BKG | 258 | 1 | 0 |
products.igs-ip.net:2101 | SSRA03IGS0 (IGS03) | BKG | 258 | 1 | 1 |
www.igs.org:2101 | SSRA03IGS0 (IGS03) | BKG | 258 | 1 | 2 |
www.igs.org:2101 | SSRA03IGS0 (IGS03) | BKG | 258 | 1 | 3 |
euref-ip.net:2101 | SSRA02IGS1_EUREF | BKG | 257 | 0 | 0 |
euref-ip.net:2101 | SSRA02IGS1_EUREF | BKG | 257 | 0 | 1 |
euref-ip.asi.it:2101 | SSRA02IGS1_EUREF | BKG | 257 | 0 | 2 |
euref-ip.asi.it:2101 | SSRA02IGS1_EUREF | BKG | 257 | 0 | 3 |
euref-ip.net:2101 | SSRA03IGS1_EUREF | BKG | 257 | 1 | 0 |
euref-ip.net:2101 | SSRA03IGS1_EUREF | BKG | 257 | 1 | 1 |
euref-ip.asi.it:2101 | SSRA03IGS1_EUREF | BKG | 257 | 1 | 2 |
euref-ip.asi.it:2101 | SSRA03IGS1_EUREF | BKG | 257 | 1 | 3 |
Based on the SSR messages defined by RTCM, the streams on products.igs-ip.net are made available as a common effort of EUREF and IGS.
RTCM SC-104 Messages for real-time GNSS applications
A selection of message types defined in RTCM v3:
MessTyp | Description | System | Comment |
---|---|---|---|
General | |||
1-100 | Experimental Messages | ||
1005 | Station coordinates XYZ for antenna reference point | since RTCM 3.0 | |
1006 | Station coordinates and antenna height | since RTCM 3.0 | |
1007 | Antenna descriptor and ID | since RTCM 3.0 | |
1008 | Antenna serial number | since RTCM 3.0 | |
1033 | Receiver and Antenna Descr. | since RTCM 3.1 | |
1013 | System Parameters | since RTCM 3.0 | |
1014-1017 | Network RTK (MAC) messages | since RTCM 3.1 | |
1230 | GLONASS L1 and L2 Code-Phase Biases | since RTCM 3.2 | |
4001-4095 | Proprietary Messages | since RTCM 3 | |
4076 | RTCM message number for IGS SSR | since RTCM 3 | |
Observations (RTK) | |||
1001 | L1 code and phase | GPS | since RTCM 3.0 |
1002 | L1 code and phase and ambiguities and carrier-to-noise ratio | GPS | since RTCM 3.0 |
1003 | L1 and L2 code and phase | GPS | since RTCM 3.0 |
1004 | L1 and L2 code and phase and ambiguities and carrier-to-noise ratio | GPS | since RTCM 3.0 |
1009 | L1 code and phase | GLONASS | since RTCM 3.0 |
1010 | L1 code and phase and ambiguities and carrier-to-noise ratio | GLONASS | since RTCM 3.0 |
1011 | L1 and L2 code and phase | GLONASS | since RTCM 3.0 |
1012 | L1 and L2 code and phase and ambiguities and carrier-to-noise ratio | GLONASS | since RTCM 3.0 |
Ephemeris | |||
1019 | EPH | GPS | since RTCM 3.1 |
1020 | EPH | GLONASS | since RTCM 3.1 |
1045 | EPH F/NAV | Galileo | since RTCM 3.2 |
1046 | EPH I/NAV | Galileo | since RTCM 3.3 |
1043 | EPH | SBAS | Proposal |
1044 | EPH | QZSS | since RTCM 3.2 |
1042 | EPH | BDS | since RTCM 3.3 |
1041 | EPH | IRNSS | since RTCM 3.3 |
MSM (Multiple Signal Messages) | |||
1071-77 | MSM 1-7 | GPS | since RTCM 3.2 |
1081-87 | MSM 1-7 | GLONASS | since RTCM 3.2 |
1091-97 | MSM 1-7 | Galileo | since RTCM 3.2 |
1101-07 | MSM 1-7 | SBAS | since RTCM 3.3 |
1111-17 | MSM 1-7 | QZSS | since RTCM 3.2 |
1121-27 | MSM 1-7 | BDS | since RTCM 3.2 |
1131-37 | MSM 1-7 | IRNSS | since RTCM 3.2 |
SSR I (State Space Representation) | |||
1057 | Orbit Corrections to Broadcast Ephemerides | GPS | since RTCM 3.1 |
1063 | Orbit Corrections | GLONASS | since RTCM 3.1 |
1240 | Orbit Corrections | Galileo | Proposal |
1246 | Orbit Corrections | SBAS | Proposal |
1252 | Orbit Corrections | QZSS | Proposal |
1258 | Orbit Corrections | BDS | Proposal |
1058 | Clock Corrections to Broadcast Ephemerides | GPS | since RTCM 3.1 |
1064 | Clock Corrections | GLONASS | since RTCM 3.1 |
1241 | Clock Corrections | Galileo | Proposal |
1247 | Clock Corrections | SBAS | Proposal |
1253 | Clock Corrections | QZSS | Proposal |
1259 | Clock Corrections | BDS | Proposal |
1059 | Code Biases | GPS | since RTCM 3.1 |
1065 | Code Biases | GLONASS | since RTCM 3.1 |
1242 | Code Biases | Galileo | Proposal |
1248 | Code Biases | SBAS | Proposal |
1254 | Code Biases | QZSS | Proposal |
1260 | Code Biases | BDS | Proposal |
1061,1062 | URA, HR | GPS | since RTCM 3.1 |
1067,1068 | URA, HR | GLONASS | since RTCM 3.1 |
1244,1245 | URA, HR | Galileo | Proposal |
1250,1251 | URA, HR | SBAS | Proposal |
1256,1257 | URA, HR | QZSS | Proposal |
1262,1263 | URA, HR | BDS | Proposal |
1060 | Combined Orbit and Clock Corrections to Broadcast Ephemerides | GPS | since RTCM 3.1 |
1066 | Combined Orbit and Clock Corrections | GLONASS | since RTCM 3.1 |
1243 | Combined Orbit and Clock Corrections | Galileo | Proposal |
1249 | Combined Orbit and Clock Corrections | SBAS | Proposal |
1255 | Combined Orbit and Clock Corrections | QZSS | Proposal |
1261 | Combined Orbit and Clock Corrections | BDS | Proposal |
SSR II | |||
1265 | Phase Biases | GPS | Proposal |
1266 | Phase Biases | GLONASS | Proposal |
1267 | Phase Biases | Galileo | Proposal |
1268 | Phase Biases | SBAS | Proposal |
1269 | Phase Biases | QZSS | Proposal |
1270 | Phase Biases | BDS | Proposal |
1264 | VTEC | - | Proposal |
Abbreviations:
- RTK
- Real-Time Kinematic
- SSR
- State Space Representation
- MSM
- Multiple Signal Message
- URA
- User Range Accuracy
- HR
- High-rate Clock Corrections to Broadcast Ephemerides
MSM Description:
- MSM1
- Compact Pseudoranges
- MSM2
- Compact PhaseRanges
- MSM3
- Compact Pseudoranges and PhaseRanges
- MSM4
- Full Pseudoranges and PhaseRanges plus CNR
- MSM5
- Full Pseudoranges, PhaseRanges, PhaseRangeRate and CNR
- MSM6
- Full Pseudoranges and PhaseRanges plus CNR (high resolution)
- MSM7
- Full Pseudoranges, PhaseRanges, PhaseRangeRate and CNR (high resolution)
Links:
Monitoring
The operation of a real-time GNSS service demands a much higher level of monitoring than it is necessary in the post-processing world, where for example RINEX files can be reprocessed the next day in case of an error. Some monitoring tools and status pages are listed below.
NABU's
The Broadcaster function is continuously monitored by an alarm system that generates
"Notice Advisories to Broadcaster Users", in short NABU's.
If a data stream is unavailable for several minutes due to any reason, the monitor system
generates a NABU message and sends it by e-mail to the affected stream provider.
An additional message is sent when the stream becomes available again. All NABU messages are
stored in the NABU's Archive.
In addition availability and status information are available for IGS
and EPN broadcasters.
PPP (Precise Point Positioning)
BKG continuously generates PPP Plots
which present results
from BNC-PPP jobs run either non-stop or with consecutive hourly restarts. They are meant
for test and evaluation purposes and show the performance in terms of coordinate displacements. The mainly
used PPP client program is BNC which is capable of handling Broadcast Ephemeris Corrections for satellite
orbits and clocks coming in RTCM v3 format.
The intention is to give a rough idea on the real-time accuracy you may expect when using BNC with orbit
and
clock correction streams derived from the global IGS real-time networks. Note that your results may be
less
or more accurate depending on current satellite coverage. Problems may be caused by deficiencies of
orbit/clock correctors, deficiencies of the BNC software, or by outages in the stream flow over the
Internet.
Software
Beside the BKG Ntrip Client and BKG Ntrip Caster some further Ntrip related tools and software are listed in the following non-exhaustive table:
Name, Description | OS | Provider |
---|---|---|
software.rtcm-ntrip.org, Open Source Ntrip software | Linux | BKG, Dirk Stoecker |
github.com/barbeau/awesome-gnss, open-source GNSS software and resources | Sean Barbeau, community driven | |
RTKLIB, Open Source Program Package for GNSS Positioning | Windows, Linux without GUI | Tomoji Takasu, Japan |
Alberding Ntrip Caster | Linux, Service | Alberding GmbH |
SNIP Ntrip Caster GUI based multiple featured Caster |
Windows, Ubuntu | SubCarrier Systems Corp. (SCSC) |
GnssSurfer, Ntrip-Client and Server, RTCM 2.x and 3.x Decoder, Topcon/Javad Raw Decoder, Web-Monitoring, Backup-System | Windows (x64) | If interested please write to Juergen Siebert Juergen.Siebert[at]SenStadt.berlin.de, Senat Berlin |
Ntrip Version 2.0 Command Line Server (Zip, Exe) , reading from SISNeT Server, TCP/UDP IP Port, Serial port, or NtripCaster to support an Ntrip Version 1.0 or 2.0 Caster | Posix Windows |
Andrea Stuerze, BKG, Dirk Stoecker, Alberding GmbH |
GPSd Service/Monitor Daemon, Ntrip Client | Linux | BerliOS |