
{"id":1472,"date":"2010-05-12T22:45:37","date_gmt":"2010-05-12T17:15:37","guid":{"rendered":"http:\/\/www.jeffrin.in\/?p=1472"},"modified":"2010-05-12T22:45:37","modified_gmt":"2010-05-12T17:15:37","slug":"duplicate-selective-acknowledgement","status":"publish","type":"post","link":"https:\/\/www.trueangle.org\/index.php\/2010\/05\/12\/duplicate-selective-acknowledgement\/","title":{"rendered":"duplicate selective acknowledgement"},"content":{"rendered":"<pre class=\"brush:bash\">\n$cat \/proc\/sys\/net\/ipv4\/tcp_dsack\n1\n$\n<\/pre>\n<pre class=\"brush:text\">\ntcp_dsack - BOOLEAN\nAllows TCP to send \"duplicate\" SACKs.\n<\/pre>\n<p>\nThis option is required to send duplicate SACKs which was briefly described in the tcp_sack variable explanation. This is described in detail within the RFC 2883. This RFC document explains in detail how to handle situations where a packet is received twice or out of order. D-SACK is an extension to standard SACK and is used to tell the sender when a packet was received twice (ie, it was duplicated). The D-SACK data can then be used by the transmitter to improve network settings and so on. This should be 100% backwards compatible with older implementations as long as the previous implementors have not tried to implement this into the old SACK option in their own fashion. This is extremely rare and should not be a problem for anyone.<\/p>\n<p>Copyright \u00a9 2002 by Oskar Andreasson\n<\/p>\n<p><a>http:\/\/www.icir.org\/floyd\/sacks.html<\/a><\/p>\n<pre class=\"brush:bash\">\ngrepping through the linux kernel source 2.6.32\nselected parts.\n$grep -r tcp_dsack *\nsysctl_net_ipv4.c:              .procname       = \"tcp_dsack\",\ntcp_input.c:int sysctl_tcp_dsack __read_mostly = 1\n<\/pre>\n<p><font color=\"blue\" size=\"3\">Problem : find what is sysctl in the linux kernel code. <\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>$cat \/proc\/sys\/net\/ipv4\/tcp_dsack 1 $ tcp_dsack &#8211; BOOLEAN Allows TCP to send &#8220;duplicate&#8221; SACKs. This option is required to send duplicate SACKs which was briefly described in the tcp_sack variable explanation. This is described in detail within the RFC 2883. This RFC document explains in detail how to handle situations where a packet is received twice &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.trueangle.org\/index.php\/2010\/05\/12\/duplicate-selective-acknowledgement\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;duplicate selective acknowledgement&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[1044],"_links":{"self":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/1472"}],"collection":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/comments?post=1472"}],"version-history":[{"count":0,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/1472\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media?parent=1472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/categories?post=1472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/tags?post=1472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}