【ネスぺ対策】トランスポート層まとめ

ネットワークスペシャリスト合格に必要となる知識を一問一答形式で確認していきます。

目次

トランスポート層

オートネゴシエーションを説明せよ

接続先ポートに対し,自動で最適な通信環境を設定する機能。例えば,全二重・半二重の自動判別や速度の自動判別などが設定できる。

FCoEではTCPとUDPのどちらを用いるか

どちらも用いられない。FCoEではIPによるルーティングは行われず,TCPやUDPは使用されない。FCは高品質の光ファイバを用いるため,基本的にはビット誤りはゼロであるという仮定がある。また,物理層ではイーサネットを拡張したプロトコルが利用され,以下の仕様が含まれている。

  • IEEE 802.1Qbb:優先度ベースフロー制御(PFC)
  • IEEE 802.1Qaz:トラフィックごとの帯域制御(ETS)
  • IEEE 802.1DCBX:スイッチ間の情報交換プロトコル(DCB)
  • IEEE 802.1Qau:輻輳通知

ただし,DCBはData Center Bridging Exchangeの略称である。

TCPヘッダ長とUDPヘッダ長を述べよ
  • TCP:20byte
  • UDP:8byte
well-knownポート番号まとめ

以下にWell-knownポートをまとめる。ただし,TCPとUDPはソケットにおいてそれぞれ別々のモジュールで実装されているため,TCPとUDPでポート番号を共有することができる点に注意する。

ポート番号TCP/UDPプロトコル
20TCPFTP転送
21TCPFTPデータ
22TCP/UDPSSH
23TCPTELNET
25TCPSMTP
43TCPWHOIS
53TCP/UDPDNSゾーン転送/名前解決
67UDPDHCPサーバ
68UDPDHCPクライアント
69UDPTFTP
80TCP/UDPHTTP
110TCPPOP3
115TCPSFTP
123UDPNTP
143TCPIMAP4
161UDPSNMPポーリング
162UDPSNMPトラップ
179TCPBGP
220TCPIMAP3
389TCPLDAP
443TCPHTTPS
465TCPSMTP over SSL/TLS
500UDPIKE
514UDPSYSLOG
520UDPRIP
546UDPDHCPv6サーバ
547UDPDHCPv6クライアント
587TCPSMTP AUTH
989TCP/UDPSFTPデータ
990TCP/UDPSFTP制御
993TCPIMAPS
995TCPPOP3S
well-knownポート番号まとめ
TCPの3ウェイハンドシェイクにおけるシーケンス番号と確認応答番号の違いを述べよ

シーケンス番号は,各端末が自分で管理しているパケットの通番でランダムな値から開始する。確認応答番号は,シーケンス番号に1を加えた値を利用する。例えば,以下のように設定する。

  • SYN:シーケンス番号は1000で確認応答番号は0
  • SYN+ACK:シーケンス番号は2000で確認応答番号は1001
  • ACK:シーケンス番号は1001で確認応答番号は2001
TCPにおけるフロー制御(流量制御)を説明せよ

受信側がTCPヘッダでウィンドウサイズを指定する。

Nagleアルゴリズムを説明せよ

ネットワークの利用効率を高めるために利用されるアルゴリズムで,次の状態のいずれかに該当する場合はTCPでパケットを送信し,該当しない場合は送信待ちを行うものである。

  • 全ての送信済みデータが確認応答されている場合(=受信側はデータを受け取れるということ)
  • 最大セグメント長であるMSSのデータを送信できる場合(=送信側は十分にデータを溜めたということ)

Nagleアルゴリズムはファイルの送受信等のユースケースで有効化し,イベントにより発火する通信等の時間的に間隔が空くユースケースでは無効化した方が,ネットワークの利用効率を向上させることができる。

チェックサムの仕組みを「疑似ヘッダ」と「1の補数表現」という言葉を用いて説明せよ

疑似ヘッダと呼ばれる仮想的なヘッダを含めたデータに対して,1の補数表現を用いた計算を行うことでデータの整合性をチェックする仕組み。TCP/UDPデータグラムに対して適用されるチェックサムはIPチェックサムとも呼ばれる。チェックサムの計算では,1の補数の前後を足すと全て1になるという性質を利用する。

具体的には,疑似ヘッダにはIPヘッダから抽出したIPアドレスの情報が格納されており,チェックサムを計算する前に全長が16bitの倍数となるように0をパディングする。その際,チェックサムフィールドの16bitは全て0を格納しておく。そのうえで,16bit単位で1の補数の和を求め,さらにその計算結果の1の補数を計算してチェックサムフィールドに格納する。受信側のホストはチェックサムフィールドを含む全てのデータの和を計算し,チェックサムフィールドに格納する。全てのデータを16bit単位で足すと,チェックサムフィールドにはチェックサムフィールド以外の和に対する1の補数値が格納されているため,16bit全てが1となれば正しい値と判断する。チェックサムの計算では「16bitのフィールドを足して1bitにする」と勘違いしやすいので注意が必要である。

1の補数表現を用いる理由は以下のとおりである。

  • 桁があふれても一の位に戻るため情報の欠落がない
  • 0の表現が+0を表す0x0000と-0を表す0xFFFFの二つある。
MSSとMTUを調整する主体を述べよ。

MSSは3wayハンドシェイク時にクライアントPCで設定されるが,途中でカプセル化されるとルータで上書きされる。MTUはルータで設定される。MSSだけ調整すればよい訳ではない理由は,MSSはTCPでしか利用されないから。例えばUDPではMTUを調整する必要がある。

シェアはこちらからお願いします!

コメント

コメントする

※ Please enter your comments in Japanese to distinguish from spam.

目次