1~4に当てはまる層の名前を答えなさい
アプリケーション層 トランスポート層 インターネット層 ネットワークインターフェース層
TCP/IPモデルの内、アプリケーション層はどんな()を送るかを伝え、トランスポート層はデータをどう()かを伝え、インターネット層は()を用いてどこに行けばよいかを伝え、ネットワークインターフェース層は()を用いてどこを通っていけばよいかを伝える
データ 扱う IPアドレス MACアドレス
通信の約束事である()は、インターネットに関する技術の標準を定める団体であるIETFが正式に発行する文書である()<Request For Comments>によって決められる
プロトコル RFC
1、2に当てはまるドメインの名前を答えなさい
ブロードキャストドメイン コリジョンドメイン
TCP/IPモデルのトランスポート層は、通信における()に関するプロトコル群であり代表的なプロトコルに()と()がある
信頼性 TCP UDP
TCPは、コネンクション型のプロトコルで、高信頼性<3ウェイハンドシェイク、ACK番号等>や通信効率の最適化機能<ウィンドウ制御>を提供します。UDPは、()のプロトコルであることから、TCPに比べると信頼性がないもののTCPのような制御情報もないので、データを()かつ容量を()送受信できます。
コネクションレス型 高速 多く
TCPがとっている、信頼性を高めるために送信元&宛先双方で状況を確認しあいながら通信する方式を()と呼び、送信データは()と呼ばれる単位に分割されて制御・送信される
コネクション型 TCPセグメント
TCPヘッダについて1~5に入る言葉を答えなさい
送信元ポート 宛先ポート シーケンス番号 確認応答番号 データオフセット
TCPヘッダの制御ビットに使用されるフラグ①
・()<Urgent Flag>:TCPヘッダの後に続くデータが急いで処理しなければならないことを示す
・()<Push Flag>:受信したデータを、すぐにアプリケーションソフトに渡すことを要求する
・()<Reset Flag:コネクションを強制的に切断する
URG PSH RST
TCPヘッダの制御ビットに使用されるフラグ②
・()<Acknowledgement Flag>:確認応答であることを示す。最初のコネクションの確立要求以外はすべてオン
・()<Synchronize Flag>:コネクションの確立を要求する
・()<Finish Flag>:コネクションの切断を要求する
ACK SYN FIN
TCPセグメントとして1回に送信できる最大データ量を()<Maximum Segment Size>と呼ぶ。TCPにおいてデータを分割し、TCPセグメントを生み出すことを()<TCPセグメンテーション>と呼ぶ
MSS セグメント化
一つ一つのセグメントに付与された、セグメント化されたデータを再構成する手がかりとなる情報のことを()と呼ぶ
シーケンス番号
接続の確認とシーケンス番号の初期値を決める目的で行われる最初の通信のことを()と呼ぶ
3ウェイハンドシェイク
大量のデータを送る際,ウィンドウと呼ばれる送信可能なサイズ幅を管理しつつ、確認応答を待たずに次々とデータを送信する機能のことをを()と呼ぶ
ウィンドウ制御
WWWで使われるアプリケーション層のプロトコルを()<Hyper Text Transfer Protocol>と呼ぶ
HTTP
HTTPの主なヘッダ
・()と():リクエスト・メッセージまたはレスポンス・メッセージに固有に含まれるヘッダ
・():リクエスト・メッセージとレスポンス・メッセージに共通して含まれ得る。主にメッセージ全体の属性について示す
・():主にエンティティ<転送されるデータ。主にボディに含まれるデータなどの総称>の詳細や属性について示すフィールド
・その他、()やフィールド<RFC2965>などHTTPのRFCには定義されていないフィールドが格納される場合もある
リクエストヘッダ レスポンスヘッダ 一般ヘッダ エンティティヘッダ クッキー
HTTPの主なヘッダのフィールド①
():HTTPの要求先ホスト
():ブラウザ識別用文字列
():ブラウザが受け入れるデータ形式
():ブラウザが受け入れる言語
Host User-Agent Accept Accept-Language
HTTPの主なヘッダのフィールド②
():データのサイズ
():持続接続機能<Keep-Alive>をブラウザがサポートしている場合、その旨を相手に伝える
():データのメディアのタイプ<text/htmlなど>
():このメッセージが生成された時間
Content-Length Connection Content-type Date
Content-Typeで使用される、本文の種類を示す型を()<Multipurpose Internet Mail Extension>型と呼ぶ
例:
– text/html HTML文書
– text/xml XML文書
– text/plain テキスト
– image/gif GIF画像
– image/jpeg JPEG画像
– video/mpeg MPEG
MIME
本来は離れた場所にあるサーバにログインして、コマンドで操作できるようにするためのプログラムを()と呼ぶ
TELNETプロトコル
telnetコマンドに、サーバの()又は()と()を指定して起動すると、TCPの3ウェイハンドシェイクでコネクションを確立して動作しているサービスに接続することができる
ホスト名 IPアドレス ポート番号
telnet<HTTP1.0>による接続手順
①telnet 10.10.207.12 80 → IPアドレスに80番ポートを通して接続
②Connected to 10.10.207.12. →()が成功
③GET / HTTP/1.0 → IPアドレス()にあるドキュメントをHTTPバージョン1.0を用いて要求、本来は/の部分にファイル名を記述<index.htmlなど>
④Connection: close → データの()が終了
3ウェイハンドシェイク 直下 やりとり
接続を試みた際のステータスコード一覧
()番台:情報が足りない
()番台:成功
()番台:ファイル関係のエラー
()番台:サーバー自体に問題がある
100 200 400 500
HTTP1.1では、HTTP1.0とは違ってGETの後に()の記述が必要であり()機能が標準となっているため、Connection: closeのタイミングが違う
HOST: Keep-Alive
Connection: Keep-Alive<持続接続機能>を使うと、1回の TCP接続で()のコンテンツを要求することにより、通信パフォーマ
ンスを向上させることができる。外部サイトからコンテンツを読み込む際 などに使用される。
複数
クライアントからサーバへ http 通信する際、直接やり取りするのが好ましくない、効率的で無い場合に利用される代理応答サーバのことを()と呼ぶ
プロキシサーバー
プロキシサーバーのメリット
①()の向上
→悪意あるユーザからの直接アクセスを防ぐ
②アクセスログ情報の()
→組織内のインターネットアクセスをプロキシサーバへ集中させることで、誰がいつどのようなサイトを見ているか、といったログ情報の収集ができる
③インターネット()の削減
→ユーザが閲覧したサイトのコンテンツをプロキシサーバの HDD 等のディスクにキャッシュし、2 人目以降が同じサイトを見ようとする際にキャッシュから応答する
セキュリティ 集中管理 通信量
プロキシサーバーを経由して接続する
①telnet 10.1.1.15 ()
② GET http://www.oit.ac.jp/ HTTP/1.0
8080
電子メールのプロトコルでメール送信時に使われる、テキストベースのプロトコルを()<Simple Mail Transfer Protocol>と呼ぶ。RFC821で規定されている。
SMTP
電子メールをメールサーバとメールクライアント間でやり取りをするプロトコルで、サーバ側を()<Message Transfer Agent>、クライアント側を()<Message User Agent>という。
MTA MUA
メールクライアントでメールを送信するときは、メールクライアントが()となる。メールサーバ間で転送するときは()がMUAの役割を演じる。MTAとMUAの間で()のやり取りをしながら、メールの転送を実現する。
MUA 送信元 SMTP
SMTPのやり取りは、MUAから送られる()と、MTAの()の組からなっており、これをRFC821で決められた順番で実行してメールの転送を行う。
コマンド 応答
SMTP基本コマンド
( ):セッションの開始、送信側ドメイン通知
( ):送信元アドレスの通知
( ):宛先アドレスの指定
( ):本文の入力
( ):セッション終了
*コマンドは大文字でも小文字でもいい
サーバからの応答
( ):要求された処理完了
( ):エラーにより要求中断
HELO MAIL RCPT DATA QUIT 250 451
メールの送信例①<SMTP>
> telnet 10.10.207.12 25
ーーーーーー中略ーーーーーー
( ) hoge.example.com
250 instance-1.us-central1-a.c.fine-slice-261311.internal
( ) id201399
250 2.1.0 Ok
HELO MAIL FROM:
メールの送信例②<SMTP>
( ) <自分のID> 例: id201399
250 2.1.5 Ok
( )
354 End data with <CR><LF>.<CR><LF>
This is a test Mail.
.
250 2.0.0 Ok: queued as C67A33F3A6
( )
221 2.0.0 Bye
RCPT TO: DATA QUIT
電子メールのプロトコルでメール受信時に使われる、テキストベースのプロトコルを()<Post Office Protocol 3>と呼ぶ。RFC1939で規定されている。
POP3
POP3は、サーバに接続されていない時はメールボックスに蓄積され、接続した時だけ溜まっているメールを取り込む()型である。ポート番号は一般的にTCP()番を使用し、ユーザIDと()で認証を行う
ストア&フォワード 100 パスワード
POP3の基本コマンド①
():USER、PASS、APOP、QUIT
アクセスしてきたユーザを()するものである。認証が成功したら状態が変化する。
認証部 認証
POP3の基本コマンド②
():STAT、LIST、RETR、DELE、NOOP、RSET、TOP、UIDL、QUIT
ユーザを認証すると認証部からこの状態に変化し、ユーザのメールを読み出したり、不要なものを削除したりする。再度()に戻る方法は無い
メール読み出し部 認証部
POP3におけるサーバからの応答は正常な場合は()を、異常な場合は()を返す
+OK +ERR
POP3の基本コマンド①-1
ユーザのパスワードを要求するメッセージを返してもらうコマンドは()<user_name>であり、成功した時の応答は()である
user +OK
POP3の基本コマンド①-2
サーバからユーザ名に対する正常応答を受けてクライアントからパスワードを送信するコマンドは()<password>である。ここで送る物は()であることに注意する必要があり、送られ成功した時の応答は()である。ちなみにこの時点で()からメール読み出し部へ遷移する
pass 平文 +OK Logged in 認証部
POP3の基本コマンド②-1
メールの数とサイズ<オクテット>を確認する場合は()コマンドを用いる。応答としては()のように帰ってくる
stat +OK 5 2020
POP3の基本コマンド②-2
メールの()を取得する場合は()コマンドを用いる。応答しては、
()
1 404
2 404
3 404
4 404
のように続く
リスト list +OK 5 messages:
POP3の基本コマンド②-3
メールを取得する場合は()<メール番号>コマンドを用いる。
サーバは指定された()のメールをクライアントに返す。
retr メール番号
POP3の基本コマンド③
一連のメール受信を終了するためには()コマンドを用いる。サーバ側は()のように応答して通信を終了する
quit +OK Logging out
メールの受信例①<POP3>
❯telnet 10.10.122.54 110
Trying 10.10.122.54...
Connected to 10.10.122.54.
Escape character is '^]'.
+OK Dovecot (Ubuntu) ready.
( ) <自分のID> 例: id191399
+OK
( ) <自分のパスワード> 例: pw191399
+OK Logged in.
user pass
メールの受信例②<POP3>
( )
+OK 1 294
( )
+OK 1 messages:
1 294
...
( )
+OK 294 octets
Return-Path: <id191399@seclab-cuckoo>
ーーーーー中略ーーーーーーー
(JST)
This is a test mail.
.
( )
+OK Logging out.
Connection closed by foreign host.
stat list retr 1 quit
POP3には、パスワードを()せずそのまま受信するため、盗聴される可能性やメール本文も見放題になってしまう危険性がある。そのために、()<Authenticated Post Office Protocol>を用いて()を行う
暗号化 APOP チャレンジーレスポンス
任意のデータから()<ハッシュ値、メッセージダイジェスト>と呼ばれる固定長の乱数を生成する演算手法のことを()と呼ぶ。()であるという性質も持つ
ダイジェスト ハッシュ関数 不可逆
チャレンジレースポンスでは、()をダイジェストとして採用している
MD5アルゴリズム
チャレンジーレスポンスの流れ
1.サーバ側が()を発生させてそれを鍵としてクライアント側に送る。<チャレンジ>
2.サーバとクライアントそれぞれが鍵とパスワードを合わせて()関数によって不可逆な鍵を作る
3.サーバ側とクライアント側で作った不可逆な鍵を比べて認証する[/b]<レスポンス>[/b]
乱数 ハッシュ
チャレンジーレスポンスの欠点
・()が生のパスワードを保管しておく必要がある
→サーバかクライアント片方がクラックされるとパスワードが()する。
・APOPが使っているMD5に()がある。
・そもそも()は暗号化されない
双方 流出 脆弱性 メール本文
POP3に公開鍵暗号方式と共通鍵暗号方式を組み合わせた()もしくは()を組み合わせたものである()や()を用いることでPOP3を安全に使うことができる。この方式を用いた場合、メールサーバからクライアントマシン間のユーザ名・パスワード・メールの内容のすべてが暗号化 される
SSL TLS POP3S POP3+TLS
POP3Sのポート番号は()であり、POP3+TLSのポート番号は()である
995 110
SMTPが抱える問題点
・どのSMTPサーバにメール送信を頼んでも目的地に届く。これを()などに利用され、踏み台にされているサーバが多数存在する。
暗号化されて()。
スパム いない
SMTPがスパムメールの中継に使われないためには、()を認証する必要性がある。
送信者
SMTP不正防止対策
・():直前にPOPで接続することで、送信者のホストを認証
・():SMTPの接続時に、送信者を認証する
・()<Realtime Blackhole List>:第三者中継を許すサーバのリストをデータベース化。リストに載っている悪いサーバからのメールは受け取らない
POP before SMTP SMTP AUTH RBL
POP before SMTPは毎回POP認証を行うため、()の増加と()の低下を招く。また、()を偽ることでメールを飛ばすことが可能になってしまう。
ネットワークトラフィック スループット 送信元
現時点でSMTPを安全に使うためには、SMTPSもしくはSMTP+TLSと()を組み合わせるほかない
SMTP AUTH
SMTPS + SMTP AUTHのポート番号は()であり、
SMTP + TLS SMTP AUTHのポート番号は()である
465 25