{"id":6552,"date":"2019-09-06T17:04:39","date_gmt":"2019-09-06T17:04:39","guid":{"rendered":"https:\/\/www.use-snip.com\/kb\/?post_type=ht_kb&#038;p=6552"},"modified":"2021-11-14T00:34:44","modified_gmt":"2021-11-14T00:34:44","slug":"ntrip-rev2-uses-in-snip","status":"publish","type":"ht_kb","link":"https:\/\/www.use-snip.com\/kb\/knowledge-base\/ntrip-rev2-uses-in-snip\/","title":{"rendered":"NTRIP Rev2 uses in SNIP"},"content":{"rendered":"<p><span style=\"color: #0000ff;\"><strong>SNIP<\/strong> <\/span>fully supports both NTRIP <strong>Rev1<\/strong> and NTRIP <strong>Rev2<\/strong> connection styles.\u00a0 <span style=\"color: #0000ff;\"><strong>SNIP<\/strong> <\/span>also provides an auto-fallback for connecting <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/question-what-is-an-ntrip-client\/\" target=\"_blank\" rel=\"noopener noreferrer\">NTRIP Clients<\/a> that need to use one or the other format.\u00a0\u00a0 <span style=\"color: #0000ff;\"><strong>SNIP<\/strong> <\/span>allows you to select how it connects to other <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/question-what-is-an-ntrip-caster\/\" target=\"_blank\" rel=\"noopener noreferrer\">NTRIP Casters<\/a> using either the Rev1 or Rev2 protocol\u00a0 styles.\u00a0 How to control this is discussed below after a quick review of the differences between Rev1 and Rev2 NTRIP formats.<\/p>\n<h4><strong>The Need<\/strong><\/h4>\n<p>For the most part issues with Rev2 connections come up when higher grade devices (NovAtel, Trimble, Topcon, Leica, Hemisphere, Septentrio, etc.)\u00a0 need to connect to the <span style=\"color: #0000ff;\"><strong>SNIP<\/strong> <\/span>Caster (they connect acting as <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/question-what-is-an-ntrip-server\/\" target=\"_blank\" rel=\"noopener noreferrer\">NTRIP Servers<\/a>).\u00a0 Many of these devices now default to using the Rev 2 protocol for connections.\u00a0\u00a0 Many lower cost devices, including those based on RTKLIB source code, do not use the Rev2 protocol.\u00a0 The overall industry adoption of various Rev2 features remains very low.\u00a0 For <span style=\"color: #0000ff;\"><strong>SNIP<\/strong> <\/span>this issue can come up when you create a <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/reserving-pushed-mountpoint\/\" target=\"_blank\" rel=\"noopener noreferrer\">PUSH-In reservation<\/a> for such a device.\u00a0 You must then determine if it will connect using Rev1 or Rev2 and set the reservation details accordingly. Unlike the <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/question-what-is-an-ntrip-client\/\" target=\"_blank\" rel=\"noopener noreferrer\">NTRIP <em>Client<\/em><\/a> connections which can safely drop back from Rev2 to Rev1 (auto-fallback), <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/question-what-is-an-ntrip-server\/\" target=\"_blank\" rel=\"noopener noreferrer\">NTRIP <em>Server<\/em><\/a> connections compromise their connection security if this is done because the user name field is lost.<\/p>\n<h4><strong>History<\/strong><\/h4>\n<p>How do these two connection formats differ?\u00a0 Well the stock answer on this site is to suggest that you should buy a copy of the actual RTCM standard (<a href=\"https:\/\/rtcm.myshopify.com\/collections\/differential-global-navigation-satellite-dgnss-standards\" target=\"_blank\" rel=\"noopener noreferrer\">from here<\/a>).\u00a0 But a very terse summary follows.\u00a0 When the protocol was first developed the term \u201cGET\u201d was used in the normal HTML fashion to request a stream. The term \u201cSOURCE\u201d was used to send in a stream (NTRIP was influenced by a protocol called shoutcast).\u00a0 And strictly speaking, that is not a suitable HTML verb to be used, which the Gods of the internet made very clear to us all.\u00a0\u00a0 So it was replaced with the more customary \u201cPOST\u201d and the password was moved into the header data and encoded in Base64 along with a user name for greater security.\u00a0 A few other changes were also made.\u00a0 Here are two (simplified) example NTRIP connections to <em>send in<\/em> data to a Caster showing the differences.<\/p>\n<p style=\"padding-left: 40px;\"><strong><span style=\"color: #008000;\">NTRIP Rev1 example<\/span><br \/>\n<\/strong><\/p>\n<pre style=\"padding-left: 40px;\">SOURCE password \/MyBase\r\nSource-Agent: NTRIP myTool\/rev\r\nSTR: Glendora, CA;RTCM 3.1;1004(1),1005(10),1012(1);2;GPS+GLO;SNIP;USA;34.13;-117.83;0;0;sNTRIP;none;N;N;0;;\r\nAccept: *\/*\r\nConnection: close<\/pre>\n<p style=\"padding-left: 40px;\"><strong><span style=\"color: #008000;\">NTRIP Rev2 example<\/span><br \/>\n<\/strong><\/p>\n<pre style=\"padding-left: 40px;\">POST \/MyBase HTTP\/1.1\r\nHost: ntrip.someDomain.net\r\nNtrip-Version: Ntrip\/2.0\r\nAuthorization: Basic dXNlck5hbWU6cGFzc3dvcmQ=\r\nUser-Agent: NTRIP myTool\/rev\r\nNtrip-STR: ;Glendora, CA;RTCM 3.1;1004(1),1005(10),1012(1);2;GPS+GLO;SNIP;USA;34.13;-117.83;0;0;sNTRIP;none;N;N;2380;none;\r\nAccept: *\/*\r\nCache-Control: no-store, no-cache, max-age=0\r\nConnection: close<\/pre>\n<p>In the second example above the text \u201cHTTP\/1.1\u201d is a historical typo which appeared in the published standard that has now become commonplace as some devices expect it.\u00a0\u00a0 The Base64 decode of \u201cdXNlck5hbWU6cGFzc3dvcmQ=\u201d is \u201cuserName:password\u201d<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Using NTRIP Rev2 Connections in <span style=\"color: #0000ff;\">SNIP<\/span><\/strong><\/h3>\n<h3><strong>NTRIP Clients<\/strong><\/h3>\n<p>You do not have to do anything to support both Rev1 and Rev2 connections, this is fully automatic.\u00a0 [Rev2 connection support is not provided in the <span style=\"color: #993300;\"><strong><em>Lite<\/em><\/strong><\/span> copy of <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span>.\u00a0 But as almost all devices support auto-fallback this is less of an issue.]<\/p>\n<h3><strong>Remote-Relay Slots<\/strong><\/h3>\n<p>The <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/the-relay-streams-tab\/\">Remote-Relay slot<\/a> connections have your <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> node connect to a remote NTRIP Caster by acting as an NTRIP Client to obtain the data.\u00a0 The <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> side initiates the connection to the remote Caster or device.\u00a0 The default behavior is to connect using NTRIP Rev1.\u00a0 However by checking the box marked \u201cUse NTRIP R2\u201d you can instruct <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> to use the Rev2 format when connecting.\u00a0 Note that an account with a suitable user name and password is still required at the other end.\u00a0 Note that from <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> release 3.03 onward, one can also make <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/secure-caster-connections\/\" target=\"_blank\" rel=\"noopener\">secure connections<\/a> to remote NTRIP Casters which offer that connection method.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6540\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/RemRelayRev2use.png\" alt=\"\" width=\"656\" height=\"596\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/RemRelayRev2use.png 656w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/RemRelayRev2use-300x273.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/RemRelayRev2use-50x45.png 50w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/RemRelayRev2use-600x545.png 600w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/RemRelayRev2use-320x291.png 320w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>PUSH-In Slots<\/strong><\/h3>\n<p>In the <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> vocabulary, <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/the-pushed-streams-tab\/\">PUSH-In slots<\/a> are how remote Base Stations connect and send data to <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span>. These devices initiate the connection and act as NTRIP Servers, <em>pushing<\/em> their data to <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span>.\u00a0 In the Rev1 format, either a community password is used, or a password for the reservation created for that mountPt name.\u00a0 In Rev2 there is no similar concept to a community password, and every connection requires both a user name and a password which have been reserved for that mountPt name.<\/p>\n<p>The default behavior for <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> are to use a Rev1 format, but by checking the box marked \u201cNTRIP Rev2\u201d the reservation can be setup for a Rev2 connection.\u00a0 When this box is checked, the <em>User<\/em> text field is also enabled to allow entering a suitable log-on name.\u00a0 The selected name can be anything and need not relate to any user account names owned or assigned to the same party.\u00a0 Note that the password field is always enabled as this is required in both Rev1 and Rev2 formats.\u00a0 The connecting devices MUST use the format selected in the reservation.\u00a0 You will see various warnings and details in the console log if a connection attempt mangles any of these values.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6541\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_InRev2use.png\" alt=\"\" width=\"420\" height=\"360\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_InRev2use.png 420w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_InRev2use-300x257.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_InRev2use-50x43.png 50w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_InRev2use-320x274.png 320w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #008000;\"><strong>Note<\/strong><\/span>: When Rev 2.11 or a new copy of <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> is run on any older installation, all existing reservations are converted to the new format that supports both Rev1 and Rev2.\u00a0 But all of these connections are then set to be Rev1 (the most common).\u00a0 <strong>If you have any existing reservations that need to use the Rev2 format<\/strong>, you will need to edit these to be Rev2 and also to provide a user name for each.<\/p>\n<h3><strong>PUSH-Out Slots<\/strong><\/h3>\n<p>In the <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> vocabulary, <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/the-pushed-out-streams-tab-output-data\/\">PUSH-Out slots<\/a> are how <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> sends data from one of its own streams to a remote NTRIP Caster.\u00a0 In this connection method, <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> initiate the connection and acts as an NTRIP Server, <em>pushing<\/em> the selected data stream to the remote device. The remote device may support Rev1 and\/or Rev2, and the connection details need to be set up to meet those requirements.<\/p>\n<p>The default behavior for <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> is to use a Rev1 format, but by checking the box marked \u201cUse NTRIP Rev2\u201d the connection can be set up to use a Rev2 format.\u00a0 When this box is checked, the <em>User<\/em> text field is also enabled to allow entering a suitable log-on name.\u00a0 As with PUSH_In, the password field is always enabled as this is required in both Rev1 and Rev2 formats.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6542\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_OutRev2use.png\" alt=\"\" width=\"310\" height=\"290\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_OutRev2use.png 310w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_OutRev2use-300x281.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2019\/09\/PUSH_OutRev2use-50x47.png 50w\" sizes=\"auto, (max-width: 310px) 100vw, 310px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #008000;\"><strong><em>Notes<\/em><\/strong><\/span>:<\/p>\n<p>Support for NTRIP Rev2 connections is not provided in the free <span style=\"color: #993300;\"><strong><em>Lite<\/em><\/strong><\/span> model of <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span>. \u00a0If you require this feature, please consider <a href=\"https:\/\/www.use-snip.com\/pricing\/\" target=\"_blank\" rel=\"noopener noreferrer\">purchasing<\/a> a copy of the <span style=\"color: #993300;\"><strong><em>Basic<\/em><\/strong> <\/span>model of <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span>.<\/p>\n<p>The SSL check box shown in the above images is a future item on the <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> development roadmap.\u00a0 Today almost no NTRIP Clients support correct TSL\/SSL use, but this feature has certain desired benefits for secure <em>machine to machine<\/em> connections.<\/p>\n<p>&nbsp;<\/p>\n<h3>See Also<\/h3>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/ntrip-rev1-versus-rev2-formats\/\" target=\"_blank\" rel=\"noopener noreferrer\">The article<\/a> on NTRIP <strong>Client<\/strong> Rev1 versus Rev2 connection details.<\/p>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/secure-caster-connections\/\" target=\"_blank\" rel=\"noopener\">The article<\/a> on making <strong>secure<\/strong> connections with Rev2 NTRIP Clients <strong><br \/>\n<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SNIP fully supports both NTRIP Rev1 and NTRIP Rev2 connection styles.\u00a0 SNIP also provides an auto-fallback for connecting NTRIP Clients that need to use one or the other format.\u00a0\u00a0 SNIP allows you to select how it connects to other NTRIP Casters using either the Rev1 or Rev2 protocol\u00a0 styles.\u00a0 How [&hellip;]<\/p>\n","protected":false},"author":13,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"ht-kb-category":[285],"ht-kb-tag":[446,397,512],"class_list":["post-6552","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-base-station-setup","ht_kb_tag-ntrip-rev1","ht_kb_tag-rev2","ht_kb_tag-secure"],"_links":{"self":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb\/6552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/comments?post=6552"}],"version-history":[{"count":22,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb\/6552\/revisions"}],"predecessor-version":[{"id":8028,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb\/6552\/revisions\/8028"}],"wp:attachment":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/media?parent=6552"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb-category?post=6552"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb-tag?post=6552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}