タグ

ネットワークに関するCrasyDiamondのブックマーク (7)

  • 自宅サーバのインフラ設計書を公開します - @int128

    自宅サーバのインフラ設計書を公開します。 Design paper of the home server(抜粋) 昨夜にTwitterで公開したら予想外に反響があったので、ちゃんとエントリに残すことにしました。クラックされるおそれがあるので、細かい部分は公開できないことをご了承ください。 内容はこんな感じ。 要件概要 機器仕様 ネットワーク設計 ソフトウェアスタック設計 共通基盤設計 サーバ詳細設計 上記にバックアップ設計や運用管理まわり*1を加えれば、インフラの設計書はだいたいこんな感じではないかと思います。 インフラの要件定義は難しい 一方で、インフラの要件定義は十分に標準化が進んでおらず、会社やチームによって文化がかなり違います。特に受託開発(SI)の場合は、お客様の中にインフラに詳しい人がいなくて調整に苦労することも多いと思います。費用と可用性のトレードオフの部分はなかなか伝わりづ

    自宅サーバのインフラ設計書を公開します - @int128
  • インターネット10分講座:DNSキャッシュ - JPNIC

    今回の10分講座では、DNS(Domain Name System)の仕組みを理解するのに必要なDNSのキャッシュとそれに起因する脆弱性についてお話しします。 DNSのおさらい まずはじめに、DNSの仕組みについておさらいします。 DNSは、ルートゾーンを起点としたツリー構造を持つ、世界中に存在する多数のサーバが協調しあって動作する分散データベースです。これらのサーバ群にアクセスすることで、ホスト名からIPアドレスを検索したり、メールアドレスから送信先メールサーバを特定したりします。 DNSでは、ある特定のサーバ1台がドメイン名情報をすべて持っているわけではなく、「委任」と呼ばれる仕組みでデータを階層ごとに分散化し、併せてサーバの冗長化を実現しています。 DNSクライアントがデータを得るときは、この委任をルートゾーンから順次たどっていくことで、最終的に必要な情報を得ます。 DNS では、ド

  • プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG

    インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近ではAWS,GCPをはじめとするクラウドサービスが充実しているのでWeb界隈のエンジニアはなおさら気にするシーンが少なくなったように思います。 今日は最低限これだけ覚えていたら有事の際にちょっとは役に立ちますよという話が出来たらなと思います。 書式統一のため sudo を省略しています。ご容赦下さい。 コマンド編 ping ping です。疎通確認を行う時のコマンドです。 さすがに分かると聞こえてきそうですね。 例えば、192.168.1.1 というサーバに通信を確認したい場合はこうです。 $ ping 192.168.1.1 繋がる場合はこうなります。 $ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 d

    プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

    CrasyDiamond
    CrasyDiamond 2015/04/02
    読んで勉強しろ!おれ!
  • なぜHTTPSはHTTPより速いのか

    先週、httpvshttps.com というウェブサイトが公開されました。このウェブサイトでは、HTTP と HTTPS を用いてアクセスした場合のウェブページのダウンロード完了までにかかる時間の比較ができるのですが、多くの環境で HTTPS の方が HTTP よりも高速なことに驚きの声が上がっていました。 HTTP が TCP 上で平文を送受信するのに対し、HTTPS は TCP 上で TLS (SSL) という暗号化技術を用いて通信を行います。ならば、TLS のオーバーヘッドのぶん HTTPS のほうが遅いはずだ、という予測に反する結果になったのですから、驚くのも無理はありません。 実は、この結果にはからくりがありました。 Google Chrome、Mozilla Firefox、最近のSafari注1は、Google が開発した通信プロトコル「SPDY」に対応しており、HTTPS

    なぜHTTPSはHTTPより速いのか
  • Part2 TCP編--接続と切断,制御,仲介,確実かつ効率よく届ける

    相手のアプリケーションに正確なデータを確実かつ効率よく届けるために,TCPの役割は「接続と切断」,「通信制御」,「アプリケーションとの仲介」という三つの機能に分かれている。Part2では,これら三つの機能を順番に探っていくことにしよう。 TCPの役割は,相手のアプリケーションに正確なデータを確実かつ効率よく届けることだ。もう少し細かく見ると,「接続と切断」,「通信制御」,「アプリケーションとの仲介」という三つの機能に分かれている(図1)。 「接続と切断」とは,通信相手を呼び出して相手と1対1で通信できる仮想的な通信路を確保すること。通信路は「コネクション」と呼ばれ,ほかの通信にじゃまされずに相手との間で,データを確実にキャッチボールできるようにする。このコネクションを確立する手順が「3WAY(スリーウェイ)ハンドシェーク」である。通信相手を呼び出して,これからキャッチボールを始めるという“

    Part2 TCP編--接続と切断,制御,仲介,確実かつ効率よく届ける
    CrasyDiamond
    CrasyDiamond 2014/11/28
    スリーウェイハンドシェイク
  • TCPとUDPの違いが分かりません>< - TCPとは何なのか、UDPとは何なのか解説していただけませんでしょうか。よろしく... - Yahoo!知恵袋

    TCPはコネクション型で、パケットの順序や欠落を保証しているプロトコル。 UDPは、コネクションレス型で、パケットの順序や欠落を保証していないかわりに、負荷が軽く高速に動作するプロトコル。 また、原理的にUDPは投げっぱなしなので、1対多の通信(ブロードキャストやマルチキャスト)が可能です。 潜水艦の中で、艦長が各部署を指揮する場合に例えましょうか。 TCPは伝声管を使って、命令を伝えて、復唱要求をするような形ですね。 「機関室、出力最大」 「出力最大、アイ」 みたいな感じです。 これだと、特定部署のみに命令を確実に伝えることができますね。 また、目的の部署に通じる伝声管を開けて命令を伝え、復唱を確認するために命令の伝達に多少時間がかかります。 UDPは艦内放送で一方的に命令を伝えるような形ですね。 「こちら艦長。ただ今を持って艦を放棄する。全員速やかに脱出されたし」 とか 「こちら艦長。

    TCPとUDPの違いが分かりません>< - TCPとは何なのか、UDPとは何なのか解説していただけませんでしょうか。よろしく... - Yahoo!知恵袋
  • 1