You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
TCP BBR(以下BBRと略します)は、Googleが新しく開発したTCPを高速化するための輻輳(ふくそう)制御アルゴリズムです。 GitHub/google/bbrのプレゼン資料(PDF) Google Cloud Platform Japan 公式ブログ 上記資料にもある通り、YouTubeに採用した結果、一部の国でスループットを14%以上も引き上げた実績があるとの事なので、先日構築したProxy(Qiita記事)のサーバーへ導入してみる事にしました。 上記Qiitaの記事では、Shadowsocksという日本では知名度の低い仕組みを採用していますが、SquidでProxyを構築している方やApacheでWebサーバを構築している方などにも、興味を持っていただけたら幸いです。 対象としている人 最低限のLinuxの知識がありテスト環境を構築できる人1 手軽に最新の技術に触れてみたい人
ということに、(今更?)気付いたお話です。 HAを組んだ際のVIPの切り替えテストをやっているときに、高負荷時とかは切り替えに7秒ぴったりかかるケースとかがあって、7秒って何の数字だろうと疑問を持ちました。 OSは、CentOS 6.4(2.6.32-358.23.2.el6.x86_64)です。 TCP SYNの再送間隔が、1...2...4...秒になっている で、tcpdumpを眺めていると以下のようなシーケンスです。 11:50:35.689301 IP client-host.8957 > server-host.http: Flags [S], seq 1616681830, win 14600, options [mss 1460,sackOK,TS val 889880946 ecr 0,nop,wscale 7], length 0 11:50:36.688503 IP
この記事はTCPの 全て を理解する、あるいは 『TCP/IP Illustrated』 (訳注:日本語版: 『詳解TCP/IP〈Vol.1〉プロトコル』 )を読破しようとか、そういうことではありません。ほんの少しのTCPの知識がどれほど欠かせないものなのかについてお話します。まずはその理由をお話しましょう。 私が Recurse Center で働いているとき、PythonでTCPスタックを書きました( またPythonでTCPスタックを書いたらどうなるかについても書きました )。それはとても楽しく、ためになる経験でした。またそれでいいと思っていたんです。 そこから1年ぐらい経って、仕事で、誰かが「NSQへメッセージを送ったんだが、毎回40ミリ秒かかる」とSlackに投稿しているのを見つけました。私はこの問題についてすでに1週間ほど考え込んでいましたが、さっぱり答えがでませんでした。 こ
When an application puts a socket into LISTEN state using the listen syscall, it needs to specify a backlog for that socket. The backlog is usually described as the limit for the queue of incoming connections. Because of the 3-way handshake used by TCP, an incoming connection goes through an intermediate state SYN RECEIVED before it reaches the ESTABLISHED state and can be returned by the accept s
久々のTCPネタ。 TCPのRSTについてこの記事でも簡単に触れた。 このRSTがどのようなタイミングで送信されるかというと、OSのソケットバッファに 受信データがまだ残っているにもかかわらず、アプリがcloseを実行したときに送信される(Linuxのお話)。 つまり、まだ受け取るべきデータが残っているにもかかわらず、有無を言わさずアプリが closeを実行してきたので、これは異常な状態だ、ということでRSTを送信し、 その受け取るべきデータを送ってきた送信者側に、「もうデータは送らないでくれ」と伝えたいのである。 さて、これを踏まえて考えると、実は下記のようなケースで問題が発生する。 マシンA(HTTPクライアント)はHTTP POSTのヘッダ(仮に1024バイトとする)とHTTP POSTのボディ(仮に8192バイトとする)をマシンB(HTTPサーバ)に送信した。 マシンBのOSは、9
現実的な値と根拠など Slow Start などの例に良く出てくる数字の論拠と、個々の単位がどこで決まってくるかを主に取り扱う。というメモ。苦手科目だ。_:(´ཀ`」 ∠): Max Segment Size (MSS) の決定 この MSS がウインドウサイズ(一度に転送するデータサイズ)の単位として扱われる。(後述) TCP コネクションが 3-way handshake によって確立される際、ノード間で下記のような MSS に関するやり取りが発生する。 各ノードは Maximum Transmission Unit (MTU) から TCPヘッダ20バイト、IPヘッダ20バイトの計40バイトを引いた値を MSS として提示する 各ノードの希望 MSS のうち低い方を、そのコネクションにおける MSS とする たとえばイーサネットでは最大1,500バイト(オクテット)がIP通信に利用で
クラスタ構成のサーバでは、障害発生後にクライアントがすぐに復旧しない場合があります。サーバ側がフェイルオーバした後にクライアント側が再接続するまでの時間を短くする方法を紹介します。 クライアントからサーバに接続するとソケットはESTABLISHEDになります。もしESTABLISHEDになったソケットで正しくパケットが送信されなかった場合、OSは再送を試みます。再送に失敗してソケットをクローズするまでの時間はOSの設定によります。 OSがTCP接続の異常を検知してからクローズするまでの時間を短くするには3つの方法があります。 パケットの再送回数を少なくする。 TCPレイヤでKeep Aliveパケットを送信する。この方法はTCP Keep Aliveに対応しているアプリのみ可能。 アプリケーションレイヤでKeep Aliveパケットを送信する。この方法はNullパケットを投げる等に対応して
QualNetには、QualNet Analyzer (`RunAnalyzer`で起動)という解析用のツールがあり、さまざまな統計情報をグラフ表示できるが、ここではtcptraceとxplotを使う方法を紹介する。 トレースファイルフォーマット record: <rec> record header: <rechdr> Originating_Node_Id msg_Seq_No Sim_Time Originating_Protocol_Id: $QUALNET_HOME/include/trace.h の TraceProtocolType参照 Processing_Node_Id Tracing_Protocol_Id: $QUALNET_HOME/include/trace.h の TraceProtocolType参照 Action Description: <action>
Browse the manual online You may download the manual (in HTML) for off-line reading here : As a tar ball : manual.tar.gz As a zip archive : manual.zip You may start browsing the manual off-line from the manual/index.html file. The manual source (TeX) is also available for download here . You may need LaTeX 2e, and the latex2html program to build it from source.
TCP高速化などを図ったLinuxカーネル3.6、リリース:仮想環境でのI/O性能を改善するVFIOも Linuxカーネルの新バージョン、「Linux 3.6」が10月1日にリリースされた。Linus Torvalds氏はこのリリースについて、アーキテクチャやファイルシステムに大幅な変更はないとしながらも、「着実な進歩」だと表現している。 カーネル3.6では、まずネットワーク接続を高速化するため、TCP Small QueuesやTCP Fast Openといった機能が盛り込まれた。TCP Small Queuesは、1つのキューに含まれるパケットの数に上限を設けることでRTTなどを減らし、ひいてはバッファサイズに起因する遅延や輻輳といった問題(Bufferbloat)を解決することを狙ったもの。一方TCP Fast Openは、TCPコネクション確立時のプロセスを最適化することで、Web
TCP Fast Open Sivasankar Radhakrishnan, Yuchung Cheng, Jerry Chu, Arvind Jain Google sivasankar@cs.ucsd.edu, {ycheng, hkchu, arvind}@google.com Barath Raghavan ICSI barath@icsi.berkeley.edu ABSTRACT Today’s web services are dominated by TCP flows so short that they terminate a few round trips after handshaking; this handshake is a significant source of latency for such flows. In this paper we desc
2011年、8年をかけた「Winny」裁判が終わった。渦中にいたのは「2ちゃんねる」では「47氏」と呼ばれていた金子勇氏だ。裁判後のインタビュー(関連記事)では、編集部の「これからどうしていきたいか?」という質問に「決めてないです」と答えていた金子氏であるが、着実に次のステップに進み始めている。 6月12日、Skeed社とデータホテルが業務提携して「CLOUD CONNECT」というデータセンター間を高速接続するサービスを展開すると発表(関連記事)したが、金子氏は現在、このSkeed社の社外取締役となっており、新たなプロダクトの開発に専念している。今回のインタビューでは、この金子氏とともに代表取締役社長である明石昌也氏も同席を願い、Winny事件をきっかけにできあがったというSkeed社や、事件の思い出、そして彼らが現在広めようとしている高速データ転送技術について尋ねてみたい。 Winny
All Microsoft Microsoft 365 Office Windows Surface Xbox Deals Support Software Windows Apps OneDrive Outlook Skype OneNote Microsoft Teams Microsoft Edge PCs & Devices Computers Shop Xbox Accessories VR & mixed reality Phones Entertainment Xbox Game Pass Ultimate Xbox Live Gold Xbox games PC games Windows digital games Movies & TV Business Microsoft Azure Microsoft Dynamics 365 Microsoft 365 Micro
By Yuchung Cheng, Make The Web Faster Team Transmission Control Protocol (TCP), the workhorse of the Internet, is designed to deliver all the Web’s content and operate over a huge range of network types. To deliver content effectively, Web browsers typically open several dozen parallel TCP connections ahead of making actual requests. This strategy overcomes inherent TCP limitations but results in
No application is an island. Whether we like it or not, tying systems together has become the norm. Yet connecting software is about more than just exchanging bytes. As organizations move toward a service-oriented world, the real goal—creating effective business processes that unite separate systems into a coherent whole—comes within reach. Microsoft BizTalk Server 2006 supports this goal. Like it
個人的にはあまり使わないwiresharkのDisplay Filterだが、知ってると便利な場合もあるのでメモ。 SYNフラグが設定されたパケットの表示 tcp.flags.syn==1 SYNフラグが設定されていないパケットの表示 tcp.flags.syn==0 SYNフラグのみ設定されたパケットの表示 tcp.flags==2 ACKフラグが設定されたパケットの表示 tcp.flags.ack==1 ACKフラグが設定されていないパケットの表示 tcp.flags.ack==0 ACKフラグのみ設定されたパケットの表示 tcp.flags==16 ACKフラグとSYNフラグが設定されたパケットの表示 tcp.flags.syn==1 && tcp.flags.ack==1 ACKフラグとSYNフラグのみ設定されたパケットの表示 tcp.flags==18 ACKフラグかSYNフラグ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く