ディレクトリ
day31の宿題
1.クラス5話ネットワークプロトコル層モデル、うち各ソートの内容
物理層
物理層の機能:主に高電圧が数1、デジタル0に対応する低電圧に対応し、電気的特性に基づいて、低電圧(電気信号)を送信します。ネットワークデータは01010101100101形式からなる電気信号を介して送信されます。
データリンク層
二つの部分のヘッダとデータの先頭データ:電気物理層パケット、電気信号のセットは「フレーム」と呼ばれる、データパケットを構成し、各データフレームが分割されます。
- ):( 18のバイトを含む頭部を固定します
- 6バイトの送信元/送信元アドレス
- 受信者/宛先アドレス、6つのバイト
- データ型、6つのバイト
- 46のバイトのデータを含む:(最小、最大1500バイト)
MACアドレス:データグラムの送信元アドレスと受信者のアドレスは、MACアドレスです。それぞれが一意のネットワークカードのMACアドレスを持っている:12進数(最初の6桁は、ベンダIDであり、行番号は6です)
放送:同じLAN内での通信、コンピュータのローカルエリアネットワークにデータを送信するために、轟音のおかげで、あなたはすべてのコンピュータに要求を送信する必要があり、その後、我々は、データを受信するために、そのコンピュータを取得する必要があります。(バルク)
ネットワーク層
- IP:IPv4の32ビットバイナリ表現:ドット十進表記0.0.0.0から255.255.255.255まで、範囲が制限され、すべてのネットワークデバイスを図示していないので、そこのIPv6
- サブネットマスク:サブネットマスクとIPは、2つのIPによって決定されているのと同じネットワークセグメントにある、によってビットごとのIPアドレスとサブネットマスクを行います
- IPは、Macコンバータと関係を持っています
- 172.16.10.10/24アクセスホスト172.16.10.11/24
- ARPプロトコル:、宛先ホストをブロードキャストパケットを送信するMACアドレス
- MACアドレス学習:MACアドレスとIPアドレスマッピングテーブル
- 最初のものは、受信したデータのIP / MACマッピングテーブルに追加される{「172.16.10.1」:「ローカルホスト」}
- プロトコルの任意の種類は、ヘッダとコンテンツを持っています
- 172.16.10.10/24アクセスホスト172.16.10.11/24
トランスポート層
- TCPプロトコル:
- スリーウェイハンドシェイクは4波(フォーカス、図)、接続が確立された方法、信頼性を保証するためにデータを送信する方法、切断する方法を切断、接続を確立するプロセスにおける状態であります
- あなたが表示された場合、状態多数のサービスがSYN_RCVD
- ドスとDDoS攻撃:サービス拒否攻撃、サービス攻撃の分散拒否
- ポート番号:ポート範囲0-65535,0-1023ポートはシステムによって占有されています
- UDPプロトコル:
- (ビデオを参照)、いないデータに対して、応答を必要としないように、送信
- ポート
- 一意のデバイスによって決定IP +サブネットマスク
- IP + CD +ポート番号によって、サブネットマスクは、一意のソフトウェアを識別します
- セミ結合プール
アプリケーション層
アプリケーション層の起源:ユーザーがアプリケーション層で作業している、アプリケーションを使用しているが、インターネットの発達で、誰もが独自のアプリケーション、データのさまざまなを開発することができ、データは良い組織の形で提供されなければなりません
アプリケーションレイヤ機能:アプリケーションの所定のデータフォーマット。
- 例:TCPプロトコルのデータは、電子メール、WWW、FTPなどの各種プログラムに転送することができます。だから、そこにする必要があり合意は異なる電子メール、Webページ、FTPデータ形式、これらのアプリケーションプロトコルを構成し提供し、「アプリケーションレベルの。」
2.スリーウェイハンドシェイクは4つの波を図面を説明、およびcは端部と側状態sであります
スリーウェイハンドシェイク:
- クライアントは、サーバーへの接続要求を送信します。
- 応答は、サーバ、クライアントの要求を同意して、クライアントからの接続要求を送信します。
- クライアントサーバの応答は、接続することで合意しました。
四波:
- クライアントはサーバーに切断要求を送信します。
- 切断され、クライアントに応答するサーバーを要請することで合意しました。
- サーバーは、顧客の切断要求を送信します。
- クライアントが切断を終了し、サービス要求に応答することに合意しました。
3.サーバーを書き、サーバーに送信する文字列のHello Worldを達成するためのクライアントを書く、クライアントは、資本のリターンにデータを送信します
サーバーコード:
import socket
soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
soc.bind(('127.0.0.1',8081))
soc.listen(5)
conn,addr = soc.accept()
print(addr)
data = conn.recv(1024)
conn.send(data.upper())
conn.close()
クライアントコード:
import socket
soc = socket.socket()
soc.connect(('127.0.0.1',8081))
soc.send(b'hello world')
data = soc.recv(1024)
print(f'我收到了服务端回的消息:{data.decode("utf8")}')
soc.close()
結果:
私は戻って、サーバーへのメッセージを受け取った:こんにちは、世界