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
Note that Ntrip Version 2.0 is fully downward compatible with Ntrip Version 1.0.


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:

Visit our stream list to get more details. See here for a more comprehensive list of Ntrip Broadcasters dedicated to support IGS and EUREF.

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.



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.

Ntrip Broadcasters dedicated to support IGS and EUREF
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.

non-exhaustive list of broadcast ephemeris streams
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)
The stream type (TTTT) can be one of the following:
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
Note that SSRA and SSRC may also contain DCBs, iono corrections, tropo corrections and phase-bias corrections.
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.
The following are IDs used in IGS and EUREF context:

Broadcast Correction IDs in EUREF and IGS context
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:

non-exhaustive selection of RTCM Version 3 message types
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:

Ntrip related tools and software
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