タグ付けされた質問 「computer-networks」

複数のコンピューターを接続してネットワークを形成するときに発生する問題に関する質問。

5
なぜ多くのインターネットプロトコルがテキストベースですか?
私が発見したことから、インターネット上を移動する非常に大量のプロトコルは、バイナリではなく「テキストベース」です。問題のプロトコルには、HTTP、SMTP、FTP(これはすべてテキストベースですか?)、WHOIS、IRCが含まれますが、これらに限定されません。 実際、これらのプロトコルの一部は、バイナリデータを送信する場合に、いくつかのフープを介してジャンプします。 これには理由がありますか?テキストベースのプロトコルは、同じ量の情報を送信するためにより多くのデータを送信する必要があるため、明らかに多少のオーバーヘッドがあります(以下の例を参照)。これを上回るメリットは何ですか? することで、テキストベースの、私はプロトコルで使用される文字のほとんどが間にある意味0x20(スペース)と0x7E(~)のために使用される臨時の「speical文字」と非常に特殊な目的な改行、ヌル、ETX、およびEOTとして、。これは、接続を介して生のバイナリデータを送信することとは対照的です。 たとえば、整数123456をテキストとして送信するには、文字列123456(16進で表現31 32 33 34 35 36)を送信する必要がありますが、32ビットのバイナリ値は(16進で表現)として送信さ0x0001E240れます(また、ご覧のとおり、特殊なヌル文字を「含む」 。

6
非対称遅延のあるネットワークでのクロック同期
コンピューターに初期化されていない正確なクロックがあると仮定します。つまり、コンピューターの時計の時刻は、リアルタイムに一定のオフセットを加えたものです。コンピューターにはネットワーク接続があり、その接続を使用して定数オフセットを決定します。BBB 簡単な方法は、コンピューターがタイムサーバーにクエリを送信し、現地時間です。タイムサーバは、一度にクエリを受信と含む応答送信時間でそれを受けて、クライアントに戻って。次に、、つまりです。 T T B + C 2 B + C 1 ≤ T ≤ B + C 2 T - C 2 ≤ B ≤ T - C 1B + C1B+C1B + C_1TTTTTTB + C2B+C2B + C_2B + C1≤ T≤ B + C2B+C1≤T≤B+C2B + C_1 \le T \le B …


6
2つの将軍の問題が解決できない場合、私たち人間はどのように物事に同意することができますか?
2つの将軍の問題が解決できない場合、私たち人間はどのように物事に同意することができますか? つまり、私たちは毎日コミュニケーションを取り、コンピューターサイエンスが扱うコミュニケーションの問題と同じ制限を持っています。なぜ私たちに影響しないのですか?

4
一方向ネットワーク遅延の測定
これは、私が作成したネットワーク遅延の測定に関するパズルです。解決策は不可能だと思いますが、友人は同意しません。どちらにしても説得力のある説明を探しています。(これはパズルとして提起されていますが、NTPは言うまでもなく、オンラインゲームなどの通信プロトコルの設計と経験に適用できるため、このWebサイトに収まると思います。) 次の図に示すように、2つのロボットが2つの部屋にあり、一方向の待ち時間が異なるネットワークで接続されているとします。ロボットAがロボットBにメッセージを送信する場合、ロボットBが到着するのに3秒かかりますが、ロボットBがロボットAにメッセージを送信する場合、到着するのに1秒かかります。レイテンシは変化しません。 ロボットは同一であり、クロックの共有はありませんが、時間の経過を測定できます(たとえば、ストップウォッチがあります)。ロボットA(メッセージが3秒遅れる)とロボットB(メッセージが1秒遅れる)がどちらであるかはわかりません。 往復時間を発見するプロトコルは次のとおりです。 whenReceive(TICK).then(send TOCK) // Wait for other other robot to wake up send READY await READY send READY // Measure RTT t0 = startStopWatch() send TICK await TOCK t1 = stopStopWatch() rtt = t1 - t0 //ends up equalling 4 seconds 一方通行の遅延を決定するプロトコルはありますか?ロボットは、メッセージ送信の遅延が長いロボットを検出できますか?

2
wifiパスワードはWEPとWPAを使用してデータをどのように暗号化しますか?
(ワイヤレスネットワークに接続するために)入力するパスワードは、ワイヤレスネットワーク上のデータをどのように暗号化しますか? 読んだところ、入力したパスワードがパスフレーズと同じかどうかわかりません。それが正しい場合、パスフレーズはどのようにして4つのWEPキーを生成できますか? 4つのキーがWEPでどのように機能し、どのようにデータを暗号化するかを理解しています。また、WPAのキーがデータを暗号化する方法は知っていますが、知っておく必要があるのは次のことだけです。 ネットワークにアクセスするために入力するパスワードの利点は何ですか?また、このパスワードはデータの暗号化にどのように役立ちますか?

1
エンドツーエンドの原則を形式化できますか?
1990年代後半、私が大学院にいたとき、 JHサルツァー; DPリード; DDクラーク:システム設計におけるエンドツーエンドの議論。ACM Trans。計算。システム。2(4):277-288、1984。DOI= 10.1145 / 357401.357402 すべての大学のすべてのオペレーティングシステムクラスで読む必要があり、インターネットの設計の基礎となる主要な指針の1つであるように思われます。(例:J Kempf、R Austein(eds)、およびIAB、「Rise of the Middle and the Future of End-to-End:Reflections on the Evolution of the Internet Architecture」、RFC 3724、2004年3月。 ) エンドツーエンドの原則は次のように述べています(Saltzer et al。、1984): [if]問題の機能が完全かつ正確に実装できるのは、通信システムのエンドポイントにあるアプリケーションの知識と助けを借りた場合のみです。...問題のある機能を通信システム自体の機能として提供することは、可能。[ただし]通信システムによって提供される機能の不完全なバージョンは、パフォーマンスの向上に役立つ場合があります。 またはもっと簡単に(要約から): エンドツーエンドの議論は、システムの低レベルに配置された機能は、その低レベルで提供するコストと比較した場合、冗長であるか、またはほとんど価値がない可能性があることを示唆しています。 しかし、私は自分の経験(インターネットアーキテクチャではなくコンピュータアーキテクチャ)でエンドツーエンドの原則を適用することにほとんど成功していません。原理は「詩」(つまり、数学的に定義されていない一連の用語を含む英語の散文では)として記述されているので、「問題の機能は、アプリケーションの知識と助け。」しかし、アプリケーションの「知識とヘルプ」はもちろんのこと、「問題の機能」とは何でしょうか。 例:(インターネットとは異なり)オンチップネットワークではパケットをドロップできませんが、バッファリングは非常に制限されているため、デッドロックを回避または回復する方法が必要です。一方で、アプリケーションもデッドロックを解消する必要がありますよね?ですから、私は一般的なケース(デッドロックなし)を高速にして、アプリでデッドロック回避をオフにするべきだと考えるかもしれません。これは、実際、私たちがAlewifeとFuguで試したものです(Mackenzie et al。、Exploiting Two-Case Delivery for Fast Protected Messaging、Int'l Symp High-Perf Comp Arch、(HPCA-4):231-242、 1998.またはJohn Kubiatowiczの論文。)それは「機能しました」(バッファーがいっぱいになったときにインターコネクトにプロセッサーを中断させ、OSにソフトウェアバッファリングを追加させることによって)が、私は学界や業界(その作成者である私たちを含む)で誰も見たことがないHPCAペーパー)アイデアを再現しようと競争している。したがって、ネットワークでのデッドロックの回避は、アプリケーションレベルのデッドロックの回避と同じ「問題の機能」ではないか、エンドツーエンドの原則が間違っています。 …

2
記憶に残るIPv6アドレスの弱いハッシュ関数
IPv6の形式のIPv6アドレスは、862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0IPv4の4オクテットよりも記憶や転記がはるかに困難です。 これを緩和する試みが 行われ、IPv6アドレスがより記憶に残るものになっています。 「これは比較的無害であり、支払う価値がないように曲げられている場合、これは比較的無害であり、見つけやすい」というフレーズがターゲットIPv6アドレスにハッシュされることを見つけるために逆にできる意図的に弱いハッシュ関数はありますか?もちろん、ハッシュには衝突する入力が多数あり、この例のフレーズのように、記憶に残る可能性のある文が自動的に提供される可能性があります。 私は2つの部分があると思います:最初に、両方の方向に良い分布を持つ弱いハッシュ。2つ目は、多くの衝突(短い、指定された言語の単語で構成され、場合によっては簡略化された文法に従う)から覚えやすいフレーズを選択するためのアルゴリズムです。 ハッシュ関数は弱くする必要がありますが、努力がまだ重要であることは間違いありません。ただし、フレーズがわかると、ターゲットアドレスへのハッシュの計算は非常に高速になります。 編集 私は、πのいくつかの数字を記憶するために、この関連するアイデア、Piphilologyを見つけました。 量子力学を含む激しい講義の後、もちろんアルコール飲料をどうやって望むか!

1
Koch-snowflake-like(およびその他のエキゾチックな)ネットワークトポロジの分析と参照
コンピュータネットワーキングおよび高性能クラスタコンピュータの設計では、ネットワークトポロジは、ノードがリンクで接続されて通信ネットワークを形成する方法の設計を指します。一般的なネットワークトポロジには、メッシュ、トーラス、リング、スター、ツリーなどが含まれます。これらのトポロジを分析的に調査して、期待されるパフォーマンスに関連するプロパティを決定できます。このような特性には、直径(ノードが通信する場合に交差する必要のあるリンクの数に関するノードのペア間の最大距離)、ノード間の平均距離(ネットワーク内のノードのすべてのペア全体)、およびバイセクション帯域幅が含まれます。 (ネットワークの2つの半分の間の最悪の場合の帯域幅)。当然、他のトポロジーとメトリックが存在します。 Kochスノーフレークに基づくネットワークトポロジを考えてみましょう。そのようなトポロジの最も単純な具体化は、完全に接続されたセットアップの3つのノードと3つのリンクで構成されます。直径は1、平均距離は1(ノード内に通信を含める場合は2/3)などです。 トポロジの次の具体化は、12個のノードと15個のリンクで構成されています。3つのノードの3つのクラスターが完全にあり、各クラスターは3つのリンクによって完全に接続されています。さらに、3つの元のノードがあり、6つの追加リンクを使用して3つのクラスターを接続しています。 実際、インカネーションノードとリンクの数は、次の反復関係によって記述されます 。N (1 )= 3 L (1 )= 3 N (k + 1 )= N (k )+ 3 L (k )L (k + 1 )= 5 L (k ) うまくいけば、このトポロジーの形状は明確です。化身のkはのように見えるのkkkkN(1)=3N(1)=3N(1) = 3 L(1)=3L(1)=3L(1) = 3 N(k+1)=N(k)+3L(k)N(k+1)=N(k)+3L(k)N(k+1) = N(k) + 3L(k) L(k+1)=5L(k)L(k+1)=5L(k)L(k+1) = 5L(k)kkkコッホ曲線の化身。(重要な違いは、私が念頭に置いていることですが、実際には、連続する反復で1/3ノードと2/3ノード間のリンクを維持しているため、各「三角形」が完全に接続され、上記の反復関係が保持されます)。kthkthk^{th} さて、質問です: このネットワークトポロジは調査されていますか?調査されている場合、それは何と呼ばれますか?広範囲にわたって調査されている場合、参考資料はありますか?そうでない場合、このトポロジの直径、平均距離、および二分帯域幅は何ですか?これらは、コスト(リンク)とメリットの点で、他の種類のトポロジとどのように比較されますか? 「星の星」トポロジーについて聞いたことがあります。これは、これと似ていますが、同一ではないと思います。どちらかといえば、これは「リングのリング」、またはそれらの線に沿った何かのようです。当然、このトポロジの定義に微調整を加えたり、より高度な質問をしたりすることができます(たとえば、以前の段階で導入されたリンクに異なる帯域幅を割り当てるか、そのようなトポロジのスケジューリングまたはデータ配置について話し合うことができます)。より一般的には、エキゾチックな、またはほとんど研究されていないネットワークトポロジーの実用的な参考資料にも関心があります(実用性に関係なく)。 …


1
現代の正規表現の表現力
私は最近、主に単語のグループを特別なプロパティと照合する正規表現の課題を提案するWebサイトについて友人と話し合いました。彼は||||||||、数|が素数であるような文字列に一致する正規表現を探していました。そのような言語は、通常であれば、補題をポンプの翻訳が素数のためにあるという事実与えますので、私はすぐにそれが今まで動作しません彼に言われた十分な大きさ、それが存在するのk ≤ pがあるようP + N kは、すべての主要ですN ≥ - 1、よく、これは全くケースしにくい(素数の配分、そのような未知の自明とプロパティを破砕、...)pppk≤pk≤pk \leq pp+nkp+nkp + nkn≥−1n≥−1n \geq -1 しかし、誰かが解決策に付属している:一致しない(||+?)\1+ キャプチャグループに一致するように、この表現しようとする(つまりすることができ||、|||、||||などの上の出現箇所)のn ≥ 2回。一致する場合、文字列で表される数はkで割り切れるので、素数ではありません。それ以外の場合です。k≥2k≥2k \geq 2|n≥2n≥2n \geq 2kkk そして、グループ化と後方参照により、正規表現が理論的な意味で...正規表現よりも実際にはるかに表現力豊かになることが明らかになったので、私は愚かに感じました。今では、実際の正規表現を実行するときに私が知らなかったルックアラウンドやその他の演算子も追加されました。 ウィキペディアによると、文脈自由文法によって生成された言語よりもさらに表現力があります。だからここに私の質問があります: 現代の正規表現エンジンを使用して、(文脈自由文法から生成された)代数言語を表現できますか より一般的な説明、または現代の正規表現で説明できる言語の種類の複雑さの少なくとも上限はありますか? より実用的には、その背後に深刻な理論がありますか、それとも有限オートマトンに基づく実際の正規表現の最初のブロックに実装可能と思われるたびに新しい機能を追加するだけですか? 「モダンな正規表現」は質問が具体的ではないことを知っていますが、少なくとも後方参照を使用することを意味します。もちろん、この「現代の正規表現」言語に対する特定の制限を想定している部分的な回答者がいる場合は、遠慮なく投稿してください。

1
エネルギー効率の高いコンピューティングとネットワーキングには、どのようなテクニックがありますか?
現在、エネルギー効率とグリーンITに関するクラウドコンピューティングの可能性を検討しています。このレビューに関連して、データセンター(コンピューティング)、ハードウェア、ネットワーキング、およびストレージデバイスのエネルギー効率を向上させるための手法について調べています。 具体的には、コンピューティング/サーバーについては、すでにいくつか見つかりました。 周波数と電圧のスケーリングを利用したエネルギーを意識したスケジューリング手法 サーバーリソースを統合する仮想化 ACPIなどの省エネハードウェア、特にモバイルデバイスなどのいくつかのプロセッサ技術 ただし、ネットワーキングデバイスの場合、省エネ技術に関する情報を取得することはかなり困難です。私は、ネットワークの負荷が低い場合にハードウェアをオフにできる新しいプロトコルと代替ルーティング方法について人々が考えていることを読んだことがあります。誰かがそのような例を知っていますか? ネットワーキングまたはコンピューティングのどちらのために追加する必要がある他のポイント
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.