基礎のいろいろ復習


あとでかきたすもの
cent 67のちがい

うちのネットワーク構成

3クラウドの違い、特徴

DNS Records

dnsのレコードってこんなに種類あったの?!?!?!

https://en.wikipedia.org/wiki/List_of_DNS_record_types

A, AAAA, CNAME, MX,

NS, PTR, SPF, TXT, SOA, ALIAS,

SRV,

for DNSSEC

DNSKEY, DS, NSEC, NSEC3, NSEC3PARAM, RRSIG,

http status code

1xx Informational responses

An informational response indicates that the request was received and understood. It is issued on a provisional basis while request processing continues.

301 Moved permanently

302 "Moved Temporarily"

304 Not Modified (RFC 7232)
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.[26]

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

HTTP Methods

Method Description
GET GET requests can be cached, have length restrictions
POST POST requests are never cached, POST requests have no restrictions on data length
HEAD Same as GET but returns only HTTP headers and no document body
PUT Uploads a representation of the specified URI
DELETE Deletes the specified resource
OPTIONS Returns the HTTP methods that the server supports
CONNECT Converts the request connection to a transparent TCP/IP tunnel

https://www.w3schools.com/tags/ref_httpmethods.asp

HTTP 4-way handshake-termination

FIN ->
<- ACK
<- FIN
ACK ->

https://ipcisco.com/

SSL Handshake

暗号化方式を決める 3 steps
証明書を送る・これで以上ね 2 steps
公開鍵で暗号化した共通鍵を送る・これで以上ね 2 steps
秘密鍵で復号し共通鍵もらえましたのでokです・これで以上です 2 steps

計 9 steps

http://tech.nikkeibp.co.jp/it/article/COLUMN/20071012/284445/

telnet http

$ telnet example.com 80
#Trying 93.184.216.34...
#Connected to example.com.
#Escape character is '^]'.
GET / HTTP/1.0
host: example.com
                             最後に空改行

clear arp cache

arp -a     # get ip
arp -d <ip>

コンテナとは

仮想マシンを実現するソフトウェアはハイパーバイザーで、VMwareのESXi、LinuxのKVM、MicrosoftのHyper-Vなどがあります
「コンテナ」と呼ばれる「他のユーザーから隔離されたアプリケーション実行環境」

コンテナでは、1つのOSで稼働しますので、プロセッサやメモリの消費は少なく、ストレージの使用もわずかです。そのため、仮想マシンに比べて起動時間が短く、同じ性能のハードウェアであれば、より多くのコンテナを同時に動かすことができます。

DockerはあくまでOS上で動く、プロセスの1つに過ぎません。Linux上で稼働する関連したプロセスをグルーピングし、それぞれは独立したユーザー空間で稼働します。

基本的にLinuxのバイナリファイルは設計思想上、後方互換性を保って作られているので 動作します。これもLinuxがDockerを実現できた大きな理由の1つでしょう。

コンテナはあくまでプロセスとして実現されており、OSとして動かす為に必要な処理が走らない為、高速に動作させることができます。

cgroups
cgroupsはLinuxカーネルが提供する、グルーピングした特定のプロセス群にハードウェアとそれに関係する側面から制限をかける機能です。各コンテナに対するCPU時間の割り当て優先度や、メモリ使用量、データ転送に伴う帯域などを調整できます。

原理的にコンテナ方式による実行環境の制御はセキュリティ的な観点からは、仮想サーバより脆弱性を秘めています。

仮想サーバはOSやハイパーバイザに何らかの脆弱性がなければ、他の仮想環境に影響を与えることはまずないですが、コンテナ間の関係はあくまでただのプロセスなので、他のコンテナ(プロセス)へ影響を与える可能性は仮想環境よりは間違いなく高いです。

Dockerはnamespaceやcgroups含め、Linuxカーネルが提供するコンテナ実現関連のAPIを抽象化するインタフェースとしてlibcontainerをDocker0.9より内部で実装してます。

http://www.itmedia.co.jp/enterprise/articles/1612/19/news041.html
https://qiita.com/tajima_taso/items/28938415846dcc2e83ff