技術記事ノック #66~#83
ARP
- IPアドレスからMACアドレスを調べる仕組み
- ブロードキャストでARPリクエストを送る
- ユニキャストでARPリプライが返ってくる
- ネットワーク層のお話
-
https://teratail.com/questions/45327
- 分かりやすい感じの説明
WebSocket
SNS等の登場によって、リアルタイムなやりとりが求められるようになる。
これをHTTP通信で実現しようとすると難しい。
この問題を解決するためにWebSocketという新しいプロトコルが生まれた。
仕組み
- サーバとクライアントが一度コネクションを確立すると、その後の通信を専用プロトコルで行う。
- サーバプッシュ機能
- 一度コネクションを確立した後は、どちらからも通信を行うことが可能。
- 通信量削減
- 一度コネクションを確立すると、そのコネクション上で通信を行う(HTTPのように、通信のたびにコネクションを作らない
- ※HTTPはステートレス
- ヘッダのサイズが最小2byte, 最大14byteと小さい
- 一度コネクションを確立すると、そのコネクション上で通信を行う(HTTPのように、通信のたびにコネクションを作らない
- サーバプッシュ機能
- ハンドシェイク
- 双方向通信の実現
ICMP
- Internet Control Message Protocol
- IP通信の疎通状態を確認したり、問題が有る時にエラー情報を返す、「IP通信を補助するプロトコル」
- IPと同じネットワーク層
- ICMPの機能の一部にpingがある
- ICMP ≠ ping
- ポート番号の概念はないが、その代わりにタイプ番号とコード番号がある
Memo
-
sortコマンドで気をつけること
-
ifconfig
-
ネットワークの接続状況の確認
-
ifconfigコマンドを使ってネットワークアダプタのIPアドレスを設定することができる。
-
-
ping
-
ネットワークの導通を確認
-
-
HTTPステータスコード
-
これを意識した設計を行うことでサーバとクライアント間の開発がスムーズに進む
-
不適切なステータスコードを割り当ててしまうとクライアントが混乱し、システム全体の挙動に支障をきたすことも...
-
理解することで、問題の切り分けや判断がしやすくなる
-
サイトにアクセス出来ないときは、パブリックDNS8.8.8.8に設定してみよう
これは、Googleが運営するパブリックDNSサービス(Google Public DNS)です。このDNSサーバーのアドレスを自分のPCに設定す ると、ブラウジングの速度が向上、セキュリティもアップするとしています。登場したのは2009年のことでした。Google Public DNSの優先DNSサーバのアドレスは、先ほどから登場している「8.8.8.8」、代替DNSサーバのアドレスは「8.8.4.4」です。
CPUとGPU
- CPU
- Central Processing Unit
- コンピュータ全体の計算処理
- 連続的な計算処理
- コア: 数個
- GPU
- Graphics Processing Unit
- 3Dグラフィックスなどの画像描写に必要な計算処理
- 並列的な計算処理
- コア: 数千個
-
ポートフォワーディング
-
インターネットから特定のポート番号宛にパケットが届いたときに、あらかじめ設定しておいたLAN側の機器にパケットを転送する機能
-
自宅に公開用のWebサーバなどを設置する場合に使用される機能
-
-
ポート番号「0」
-
現在は使われておらず、将来何らかの新たなシステムで使うことになるかもしれないので「予約」されている状態
-