Ryo's Log

26才(現在31才)が一回人生を仕切り直して始めていくブログです。主に技術ログ。

【職業訓練】【CCNA】【5日目】授業の流れと自習のタイミングがつかめていない

5日目です。

 

CCNAでは基本情報で得た知識の通信の部分をさらに細かく学んでいく感じです。

単語を覚えるのが結構楽しいです。

 

授業の進みと自習の進みとの具合が

つかみ切れていないので講義が聞きづらいです。

 

今日は

 

・TCPとUDP

・DHCP

・DNS

・FTP

 

です。

 

 

単語リスト

 

・TCP(Transmission Control Protocol)

データを送信する前に通信相手とコネクションを確立

コネクション型のプロトコル

トランスポート層

信頼性が高い

仮想のコネクション

3wayhandshake

順序制御

エラー制御

再送制御

ウィンドウ制御

輻輳制御

 

長さセグメント

+セグメンテーション

アプリケーション層からデータを受け取るとネットワーク層のMTUに適したサイズに分割しTCPセグメントを生成する。

 

+TCPセグメントのフォーマット

送信元ポート(16):送信元ポート番号

宛先ポート(16):宛先ポート番号

シーケンス番号(16):断片化(分割)されたデータを示す番号。順序制御に使用。

確認応答番号(32):データを受信したことを通知、次に受信したいシーケンス番号を通知

データオフセット(32):TCPヘッダは可変長。この値でヘッダの末尾を認識、位置を判断

予約(6):将来の拡張用。未使用のフィールド。通常は0

制御ビット/コードビット(6):各ビットをフラグと呼び、様々な制御を行う

ウィンドウ(16):受信側で受信可能なバッファの大きさを送信側に通知。オクテット単位

チェックサム(16):TCPヘッダとデータ部のエラーチェック

緊急ポインタ(16):緊急処理が必要なデータの場所を示す。URGビットを1にする

オプション(可変長):必要に応じてオプションを追加

パディング(可変長):32ビットの倍数になるように0を挿入する

 

+制御ビット

URG(Urgent Pointer):緊急に処理すべきデータを含んでいることを示す

ACK(Acknowledgment):確認応答番号フィールドが有効であることを示す

PSH(Push):受信したデータをすぐにアプリケーションに渡す

RST(Reset):何らかの異常を検出、コネクションの切断を要求

SYN(Synchronize):コネクションの確立を要求

FIN(Finish):これ以上送信データがないため、コネクションの終了を要求する

 

+チェックサム

送信側でデータと一緒にチェックサムを送信、受信側で送られてきたデータから同じ計算をしてチェックサムと比較することで誤り判断、再送処理を行う。

 

+3wayhandshake

www.infraexpert.com

 

コネクションの確立は3回

切断は4回

 

 

+順序制御と確認応答

信頼性の確保のための制御機能

MSS(Maximum Segment Size)

1つのTCPセグメントで運ぶことのできるデータ量

 

順序制御

3wayhandshakeでは送受信両者の小さいほうのMSSを採用する。送信されるデータはMSSに分割し、複数のTCPセグメントとして送信する。ばらばらに分割されたデータはシーケンス番号によって再構成する。

 

再送制御

セグメントの破損などの際にTCPでは再送タイマーを設定、ある一定時間内に確認応答がない場合データを再送信する

 

ウィンドウ制御(フロー制御)

コネクションの確立するときにSYNセグメントを相手に通知、送信側は相手からの確認応答を待たずにTCPセグメントを送信することが出来る。

スライディングウィンドウ

ウィンドウサイズ拡張(RFC1323)

 

オプションの終了

TCPオプション・リストの終了を表す

 

NO-OP(NO-OPeration)

特別な意味を持たず、32bit単位にそろえるために1~3個利用される

 

選択的受信確認(Selective Acknowledgment=SACKという)

受信確認の応答アルゴリズムを最適化するために利用される。連続した領域でなく、部分的にACKを返すことにより、無駄な再送を防ぎ、転送効率を向上させることができる。RFC2018で定義されている

 

TCPタイムスタンプ

パケット中にタイムスタンプ(送信時間)情報を埋め込むために利用される。タイムスタンプ情報からパケットの往復時間(Round Trip Time)を計測し、TCPの再送タイマ・アルゴリズムの最適化を行う

 

・UDP(User Datagram Protocol)

コネクションレス型

UDPはポート番号でアプリケーションを識別してデータを渡すだけ

送信する単位はデータグラム

 

+UDPのデータフォーマット

送信元ポート(16):送信元のポート番号

宛先ポート(16):宛先のポート番号

長さ(16):UDPヘッダとデータ部の長さを合わせた値をオクテットで表したもの

チェックサム(16):UDPヘッダとデータ部のエラーチェック

UDPではTCPと比べオーバーヘッドが小さい

データ回復機能なし

ストリーミングで使用

 

 

・DHCP(Dynamic Host Configuration Protocol)

IPアドレスの設定情報を自動で取得する

DHCPのポ-ト番号はサーバ側(67)とクライアント側(68)がある

IPアドレスの管理作業を簡素化できる

OS起動後に割り振られる

UDPで動作

DHCPサーバ:設定情報を管理してDHCPクライアントに情報を配信する

 

クライアントサーバモデル:分散処理を行うネットワーク形態のひとつ

クライアントがサーバにサービスの要求を行い、サーバがクライアントに処理結果を応答して返す

 

DHCPサーバからIPアドレスをリースする

リース期限がある

これはIPアドレスの占有を防ぐため

 

スイッチをDHCPサーバにすることもできるらしい

 

DHCPの動作

DHCP DISCOVER(ブロードキャスト):LAN内のDHCP SVを探す

DHCP OFFER(ユニキャスト):全DHCP SVが反応

DHCP REQUEST(ブロードキャスト):ここに決めたと全ノードに連絡

DHCP ACK(ユニキャスト):アドレスを提供する

 

ブロードキャストはルータを超えないが

DHCPリレーエージェントの設定を使用するとルータを超えてブロードキャストが可能となる

 

アドレスプールの範囲から割り当てられる

あらかじめ決まったアドレスを固定で割り当てる

 

DHCPはBOOTP(Bootstrap Protocol)を拡張したプロトコル

BOOTP(RFC951)

DHCP(RFC2131,2132)

 

・DNS(Domain Name Sysetem)

ホスト名(ドメイン名)からIPアドレスを検索する仕組み。名前解決を行うプロトコル

 

 

ドメイン名は「.」で区切られたラベルで構成され最大63文字、ドメイン名全体では255文字以下で中ればいけない。英字、数字、ハイフンが使用でき、大文字と小文字の区別はない

 

トップレベルドメイン(TLD)(第一レベルドメイン)

セカンドレベルドメイン(SLD)(第二レベルドメイン)

一番左はホスト名

 

ドメイン名を省略しない文字列のことをFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)という

 

ICANN(Internet Corporation for Assigned Names and Numbers):アイキャン

によって認定された組織(レジストリ)によってドメインの管理は任されている

 

jpドメインはJPNIC(日本ネットワークインフォメーションセンター)とJPRS(日本レジストリサービス)がレジストリになる

 

hostsファイル hostsファイルにホスト名とIPアドレスのマッピング情報を登録しておくと優先的に処理される

 

DNSサーバ

ドメイン名とIPアドレスの対照表を格納している

 

リゾルバ

IPアドレス情報を検索するプログラム

 

スタブリゾルバ

DNS内で完結する検索

 

フルサービスリゾルバ(再帰問合せ)

全てのDNSに聞きに行くこと

 

ローカルDNSサーバ

自社のサーバもしくはISPの管理しているDNSサーバ

 

ルートサーバ

最上位のDNSサーバ

 

ワイドプロジェクトWIDE

日本のルートディレクトリの管理を行っているらしい

 

ゾーン情報

ドメイン情報のこと

 

DNSはUDP,TCP両方を使用し、ポート番号は53

クライアントとDNSサーバ間UDP

DNSサーバ間TCP

 

DNSは運用の際、正と複を用意する

マスターDNSとスレーブDNS

(linuxの場合はバインドDNS)

更新作業の時には

NOTIFY(ゾーン転送通知)

AXFR(Asynchronous xfer) IXFR(Incrememtal xfer) xferはtransferの略語

(ゾーン転送)

が行われる

耐障害性

負荷分散のため

 

・HTTP(Hypertext Transfer Protocol)

webブラウザとWebサーバでのデータのやり取りをするためのプロトコル

ポート番号80

HTMLを転送する

 

GET

HEAD

POST

PUT

DELETE

 

HTTPリクエスト

リクエスト行

メッセージヘッダ

メッセージボディ

 

HTTPレスポンス

ステータス行

メッセージヘッダ

メッセージボディ

 

スキーム

スキーム独自部分

 

HTTPS

 

FTP

 

ちょっと今日は集中力が切れてしまったので後半は途中です。