A.オペレーティングシステムの基礎
オペレーティングシステム:、他のソフトウェアは、オペレーティングシステムのサポートにより、順番に管理し、基本的なシステムソフトウェアの「ベアメタル」上で直接実行されるコンピュータプログラムのコンピュータのハードウェアおよびソフトウェアリソースを制御することである(オペレーティングシステムは、OSと呼ぶ)である必要があります実行します。
注:お使いのコンピュータ(ハードウェア) - > OS->アプリケーション
II。ネットワーク通信理論
インターネットの2.1性質は、ネットワークプロトコルのシリーズです
ハードは、オペレーティングシステムを持っている、あなたは正常に使用できるソフトウェアをインストールしていますが、唯一の自分の使用することができます
そのため、誰もがマシンを所有しているが、互いに隔離します
どのように私たちは一緒に遊ぶことができます
しかし、インターネットはまさに?
実際には、二つのコンピュータと2人の間の通信は、原則との間の通信が(中国の多くの地域は、すべての中国の人々が理解できるために異なる領域は、異なる方言を持って、我々の統一話すマンダリンあります)と同じである呼び出します
普通話は、中国国内の人々の間の通信のための標準である両国のであれば、人々はそれを交換することですか?
問題は、あなたがそう標準の世界ユニファイドコミュニケーションで、世界中の言語/標準をマスターするために、人間/コンピュータを求めることはできません、次のとおりです。英語
結論:コンピュータは、世界中の人々に位置しているかのように英語が、世界のすべての通信のための統一規格になるために、2台のコンピュータ間のインターネット接続が実際にあります
インターネットプロトコル、インターネットの性質と呼ばれる統一基準のシリーズは、総称して「インターネット・プロトコル」(インターネットプロトコルスイート)と呼ばれる協定のシリーズです。
インターネット・プロトコル機能:コンピュータへのアクセス、インターネット、およびインターネット接続のコンピュータ通信標準を定義する方法を説明します。
2.2 OSIの7層のプロトコル
7またはOSI TCP / IP 5またはTCP / IPの4つに異なる機能に応じてインターネットプロトコル
各実行共通の物理デバイス
2.3説明するためにTCP / IPを5機種
それぞれの層の起源と機能を説明するためのTCP / IPプロトコル5の観点から、我々のアプリケーション層、プレゼンテーション層、セッション層とのアプリケーション層、明確なメインの各プロトコル
インターネット通信の原理を理解するために。
私たちは、ほとんどがよりよく理解されているものからカットを始めたのでまず、アプリケーション層のユーザー知覚が最上層のみ、上から下へ、それぞれの層は、次のレベルに依存しています
各層は、特定のプロトコルを実行し、近いユーザーまで高い、より多くのダウンに近いハードウェアへ
2.3.1物理層
物理層の起源:上記は、コンピュータ間のアイソレーションと遊ぶためには、それはそれは、コンピュータネットワークの間に完了しなければならない暗示、インターネットにアクセスする必要があります
物理層の機能:電気的特性に基づいて、メイン送信低い電圧(電気信号)、番号1に対応する高電圧、デジタルに対応する低電圧0
2.3.2データリンク層
データリンク層の起源:単純な電気信号0と1は、任意の意味をなさない、何ビットが何を意味するかのグループ電気信号を提供しなければなりません
データリンク層は:電気信号のグループ化を定義します
イーサネットプロトコル:
初期の各企業の独自のグループを持っている、と後で統一規格というイーサネットプロトコルイーサネットを形成
イーサネット条項
- 電気信号のセットは、「フレーム」と呼ばれる、データパケットを構成します
- 二つの部分のヘッダとデータ先頭データ:各データフレームは、に分割されています
頭 | データ |
:( 18バイト)を含む頭部を固定します
- 6バイトの送信元/送信元アドレス
- 受信者/宛先アドレス、6つのバイト
- データ型、6つのバイト
46のバイトのデータを含む:(最小、最大1500バイト)
- パケットの具体的な内容
最大バイト数、それは最大制限断片伝送を超えるヘッド最短長+データ長= 64バイト、1518
MACアドレス:
送信元と送信先のアドレスは、ヘッドの起源に含まれる:イーサネット所定のインターネットアクセスデバイスはカードを持っている必要があり、送信と受信手段は、アドレスカードアドレス、つまりMACアドレスです
MACアドレス:各NICは、6つのパイプライン化された後、一般的に12進数(最初の6つの数字によって示される48バイナリ工場、の長さはベンダーである、世界のユニークなMACアドレスに焼成します号)
ブロードキャスト:
MACアドレスを持つ、同じネットワーク上の2つのホストが(ホストはARPプロトコルを介して別のホストのMACアドレスを取得する)と通信することができます。
イーサネット(登録商標)を使用することの最も原始的な方法、ブロードキャスト通信モード、轟音によって、すなわち、基本的なコンピュータ通信
2.3.3ネットワーク層
ネットワーク層の起源は:イーサネット、MACアドレス、ブロードキャスト送信モードでは、世界でコンピュータが相互に通信することができ、問題は、インターネットが世界的であるということです
構成同士の小さなローカルエリアネットワークから分離され、すべての通信は、イーサネットを使用して放送されている場合はそう、そして世界中のパケットを送信するためにマシンを受け取ることになります、
この問題は、単に非効率的ではない、それは災害のだろう
図の結論に:私たちは、ない場合には、放送によって送信された場合は、ではありません同じブロードキャストドメインに属するコンピュータを区別するための方法を見つける必要があります
区別できない方法(異なるブロードキャストドメイン/サブネットにパケットを分配するための)ルートを使用して、MACアドレスに、それが唯一のベンダーと関連しています
ネットワーク層の機能:新しいアドレスの導入は異なるブロードキャストドメイン/サブネット間を区別するために使用され、このアドレスは、ネットワークアドレスであります
IPプロトコル:
- 32ビットのネットワークアドレスを提供する、広く使用されたIPv4と呼ばれるIPアドレスのアドレスを規定する契約と呼ばれるネットワークアドレス、IPプロトコル、V4バージョンすなわち、バイナリで表されます
- レンジ0.0.0.0〜255.255.255.255
- IPアドレスは、例えば、一般的に4つの10進数として書かれた:172.16.10.1
二つの部分にIPアドレス
- ネットワークコンポーネント:サブネットを識別する
- ホスト部分:ホストを識別する
注:純粋なIPアドレスのみを識別することができない一部のネットワークまたはホスト部分からタイプIPアドレスを識別するIPサブネット
例:172.16.10.1と172.16.10.2との両方が同じサブネットに決定することができません
サブネットマスク
いわゆる「サブネットマスク」、サブネットワークの特徴を表すパラメータ。すべてのネットワーク、ホスト部0の一部である32ビットのバイナリ数は、それがIPアドレスへのフォームで同一です。既知のネットワークは、フロント部24、本体部8である場合、例えば、IPアドレス、172.16.10.1は、サブネットマスクは小数が255.255.255.0であるように書かれた11111111.11111111.11111111.00000000です。
「サブネットマスク」を知って、私たちは、同じサブネット内の任意の2つのIPアドレスかどうかを判断することができるようになります。二つの方法は、IPアドレスとサブネットマスクである同一のAND演算(2桁が1であり、演算結果がそうでなければ1、及び0である)、及び結果を比較しているし、もしそうならば、それらは同じサブしていることを示すためにネットワークは、それ以外の場合ではありません。
例えば、既知のIPアドレス172.16.10.1と172.16.10.2サブネットマスクが255.255.255.0である、彼らは同じサブネット内にあるかどうかを尋ねますか?両方のAND演算サブネットマスクと、それぞれ
172.16.10.1:10101100.00010000.00001010.000000001
255255.255.255.0:11111111.11111111.11111111.00000000
AND演算の結果が得られたネットワークアドレス:10101100.00010000.00001010.000000001-> 172.16.10.0
172.16.10.2:10101100.00010000.00001010.000000010
255255.255.255.0:11111111.11111111.11111111.00000000
AND演算の結果が得られたネットワークアドレス:10101100.00010000.00001010.000000001-> 172.16.10.0
結果は172.16.10.0であるので、彼らは同じサブネット内にあります。
要約すると、IPプロトコルの役割は、1つのコンピュータごとにIPアドレスが割り当てられている二つあり、他方は、同じサブネット内のどのアドレスを決定することです。
IPパケット
IPパケットは、ヘッドに分割されたデータ部分は、直接イーサネットパケットのデータ部に、単一のIPパケットのフィールドを定義する必要はありません
ヘッド:長さが20〜60バイト
データ:最大65515のバイトまで。
イーサネットパケットと「データ」セクションで、1500バイトの最大値のみ。IPパケットが1500のバイトを超えた場合したがって、それは別に送信いくつかのイーサネットパケットに分割する必要があります。
イーサネットヘッダ | IPヘッド | IPデータ |
ARPプロトコル
ARPプロトコル原産地:、道を放送し、イーサネットヘッダの最後のパッケージされるすべての上位パッケージしてからの話、私はドアのことを知ったとき、イーサネットプロトコル、イーサネットプロトコルを介して送信されることを轟音によって、基本的なコンピュータ通信
マック放送通信は、契約時にコンピュータの実現に基づいて、独自のを取得することは容易でマックで、ターゲットホストを取得するためにどのようにMACされ、あなたはプロトコルをARP変換する必要が
ARPプロトコル機能は:ブロードキャストパケットを送信する、宛先ホストのMACアドレス
プロトコルが動作します:各ホストのIPが知られています
たとえば、次のようにホスト172.16.10.10/24アクセス172.16.10.11/24
A:まず、サブネットのIPアドレスとサブネットマスクをそれを通して自分自身を区別する
シーン | パケットアドレス |
同じサブネット | ターゲットホストのMAC、ターゲットホストのIP |
異なるサブネット | ゲートウェイのMAC、ターゲットホストのIP |
II:同じネットワーク内の分析172.16.10.10/24と172.16.10.11/24(そうでない場合、同じネットワーク、172.16.10.1 IP標的に対する次の表は、ARP MACゲートウェイによって買収されました)
送信元MAC | ターゲットMAC | 送信元IP | ターゲットIP | データセクション | |
送信ホスト | 送信側MAC | FF:FF:FF:FF:FF:FF | 172.16.10.10/24 | 172.16.10.11/24 | データ |
III:このパッケージは、彼らのMacに、復帰することに応答して、送信側は、すべてのパケットを分解し、ホストが受信した後、そのターゲットのIP見つけ、そこからネットワークにブロードキャストすることによって送信されます
2.3.4トランスポート層
私たちは私たちがホストを見つけることサブネット、MACイーサネットレイヤを区別して、我々が使用するアプリケーションです助けにIPネットワーク層月も開いているコンピュータ上のQQ、嵐のビデオ、およびその他のアプリケーション:トランスポート層の起源プログラム、
そして、このホスト上のアプリケーションを識別するために、どのように、特定のホストとIPアドレスとMACを我々見つけ、その答えは、ポート、カード番号のアプリケーションに関連付けられているポートです。
トランスポート層の機能:ポートへの通信ポートを確立します
追加:ポートの0-65535,0-1023ポート範囲は、システムによって占められます
TCPプロトコル:
信頼性のある伝送、TCPパケット長が限定されるものではなく、理論的には無限大であることができるが、ネットワークの効率を確保するために、TCPパケットの典型的長さは、単一のTCPパケット再分割が不要であることを保証するために、IPパケットの長さを超えません。
イーサネットヘッダ | IPヘッド | TCPヘッド | データ |
UDPプロトコル:
正確IPパケットに信頼できないトランスポート、8バイト、これ以上65,535以下バイトの合計長さの合計のみの「ヘッダ」セクション。
イーサネットヘッダ | IPヘッド | UDPヘッド | データ |
TCPパケット
TCP 3ウェイハンドシェイクと4波
2.3.5アプリケーション層
アプリケーション層の起源:ユーザーがアプリケーション層で作業している、アプリケーションを使用しているが、インターネットの発達で、誰もが独自のアプリケーション、データのさまざまなを開発することができ、データは良い組織の形で提供されなければなりません
アプリケーションレイヤ機能:アプリケーションの所定のデータフォーマット。
例:TCPプロトコルのデータは、電子メール、WWW、FTPなどの各種プログラムに転送することができます。だから、そこにする必要があり合意は異なる電子メール、Webページ、FTPデータ形式、これらのアプリケーションプロトコルを構成し提供し、「アプリケーションレベルの。」
2.3.6ソケット
我々は2つのプロセスは、基本的なコミュニケーションができることができるようにする必要がある場合の前提条件は、一意に、我々はプロセスを一意に識別するためのPIDを使用することができ、ローカルプロセス通信では、プロセスを識別することを知っているが、2つだけPIDプロセスローカルに一意のネットワークPID紛争絶好のチャンス、私たちはそのパスを開放する必要がある、と私たちはホストを一意に識別するIP層のIPアドレスを知っている、と我々はIPアドレス+を使用できるようにTCP層プロトコルやポート番号が一意に、ホストプロセスを識別し、この時点一意プロセスネットワークを識別するプロトコルとポート番号。
ネットワークのプロセスを一意にマークを付けることができた後、彼らが通信にソケットを使用することができ、ソケットそれは何ですか?私たちは、多くの場合、ソケットのソケットに翻訳、ソケットは、アプリケーション層とトランスポート層との間に抽象化層であり、それはいくつかの簡単な界面層の呼び出しは、ネットワーク内の供給プロセスで達成された複雑な操作のための抽象化のTCP / IP層であり、通信。
実施の形態は、サーバとクライアントの接続が確立された後、あなたができるオープンで、「ファイル」を維持しているソケットはUNIXで生まれ、すべてがファイルUnixの哲学である思考には、ソケットは「 - - 読み取り/書き込みオフオープン」があります他のファイルは、読み取りまたは他のコンテンツ、通信の終わりに近いファイルを読み込むための独自のコンテンツを書き込みます。
ネットワーク間III。コミュニケーション
私は、通信ネットワークを実現したい、四つの要素を持っているために、各ホストの必要性
- マシンのIPアドレス
- サブネットマスク
- ゲートウェイのIPアドレス
- DNSのIPアドレス
それは四つの要素は2つの方法があり得
1.静的買収
その手動設定
2.ダイナミック買収
DHCPによって得られました
イーサネットヘッダ | IPヘッド | UDPヘッド | DHCPパケット |
(1)最前「イーサネットヘッダ」は、発信者(ネイティブ)と受信者(DHCPサーバー)MACアドレスのMACアドレスを提供されます。FF-FF-FF-FF-FF-FF:前者は、その後、ブロードキャストアドレスを記入し、知らないマシンカードのMACアドレスです。
「IPヘッダ」の後ろに(2)、及びメッセージの送信者の受信者のIPアドレスを設定します。このとき、両方のために、マシンは知りませんでした。したがって、0.0.0.0へのメッセージ送信者のIPアドレスは、受信機のIPアドレスが255.255.255.255に設定されています。
(3)最後に、「UDPヘッダ」、ポートおよびメッセージ送信者の受信ポートを設定します。この部分は良好な一致をDHCP、メッセージの送信元ポート68、ポート67が受信機です。
パケットが構築された後、それを発行することができます。イーサネットは、同じサブネット上のすべてのコンピュータは、このパッケージを受け取った、ブロードキャスト送信です。受信者のMACアドレスがFF-FF-FF-FF-FF-FFであるため、それぞれがこのパッケージを受け取るコンピュータは、また、決定するために、パケットのIPアドレスを分析しなければならないので、私は、誰が送信され見ることができません自分自身には送信されません。あなたはIPアドレスが0.0.0.0であるメッセージの送信者を参照すると、受信者は、DHCPサーバが他のコンピュータがパケットを破棄することができますが、「このパッケージは、私に送られ、」知っている、255.255.255.255です。
次に、DHCPサーバは、このパッケージのデータ内容を読み取り、IPアドレスを割り当て、「DHCP応答」パケットを送り返します。この構造は、応答パケット、MACアドレス、イーサネットヘッダの両方カードアドレス、IPヘッダのIPアドレスがDHCPサーバのIPアドレス(発信)と255.255.255.255(受信機)であり、UDPヘッダに類似していますポート67(発信)と68(受信機)は、特定のネットワークに割り当てられた要求元IPアドレスのパラメータと、これはデータセクションに含まれています。
彼らは知っているので、新しく追加されたコンピュータは、そのIPアドレス、サブネットマスク、ゲートウェイアドレス、DNSサーバなどのパラメータを、この応答パケットを受信します
IV。ネットワーク通信の流れ
1.機械の取得
- マシンのIPアドレス:192.168.1.100
- サブネットマスク:255.255.255.0
- ゲートウェイのIPアドレス:192.168.1.1
- DNSのIPアドレス:8.8.8.8
2.ブラウザを開き、アクセスグーグル、アドレスバーのURLにしたい:www.google.com。
3.dnsプロトコル(UDPプロトコルに基づいて)
13のルートDNS:
A.root-servers.net198.41.0.4米国
B.root-servers.net192.228.79.201米国(他のサポートのIPv6)
C.root-servers.net192.33.4.12フランス
D.root-servers.net128.8.10 0.90米
E.root-servers.net192.203.230.10米国
F.root-servers.net192.5.5.241米国(他のサポートのIPv6)
G.root-servers.net192.112.36.4米国
H.root-サーバ。 net128.63.2.53米国(他のサポートのIPv6)
I.root-servers.net192.36.148.17スウェーデン
J.root-servers.net192.58.128.30米国
K.root-servers.net193.0.14.129ブリテン(別のサポートIPv6)の
L.root-servers.net198.32.64.12米国
M.root-servers.net202.12.27.33日本(別のIPv6をサポート)
ドメイン名を定義します。http://jingyan.baidu.com/article/1974b289a649daf4b1f774cb.html
トップレベルドメイン:ジェネリックトップレベルドメイン(gTLDの)地理トップレベルドメイン(ccTLD:.COM、.NET、.ORG、.CNトップレベルドメイン等、国際的であるが、現在の国際的なインターネットドメインネームシステムによれば、国際的なトップレベルドメインは、2つのカテゴリに分類されています)2種類。gTLDドメイン名「COM」、「NET」、「ORG」、「BIZ」、「INFO」などの管理を担当する外国企業によって、エンディングなどです。地理的トップレベルドメインは、イギリスを代表して中国、「英国」に代わって、このような「CN」として、ドメイン名の最後の国コードです。地理的トップレベルドメインは、一般的に、それぞれの国や地域の経営者の責任です。
2人のドメイン名:トップレベルドメインは、地理的領域に基づいて、第2レベルドメイン名である、セカンドレベルドメインのアナロジー中国が持っている、.com.cn、.net.cn、.org.cn、.gd.cnおよび他のサブドメイン名です。親ドメイン名のサブドメインは、ドメイン名、または子ドメインが類推の親であるabc.comであるwww.abc.com * .abc.com。
一般的に、レコードは、ドメイン名のセカンドレベルドメインは、ドメイン名などalidiedie.com、 www.alidiedie.comより一般的に記録を使用しているが、これは通常はデフォルトですが、同様に* .alidiedie.com 2と呼ばれる全てのドメインalidiedie.com
4.HTTPコンテンツ部分、このような何か:
GET / HTTP / 1.1
ホスト:www.google.com
接続:キープアライブ
のUser-Agent:Mozillaの/ 5.0(Windows NTの6.1)......
受け入れ:text / htmlで、アプリケーション/ XHTML + xmlの、アプリケーション/ xmlの; Q = 0.9 、* / *; Q = 0.8
受け入れエンコード:GZIP、DEFLATE、SDCH
受け入れ言語:ZH-CN、ZH; Qが= 0.8
、文字セット受け入れ:GBK、UTF-8、Q = 0.7、*; Q = 0.3
クッキー:... ...
我々は、このセクションの長さは、それがにTCPパケットに埋め込まれる、4960バイトであることを前提としています。
5 TCPプロトコル
ポートを設定するには、TCPパケットの必要性は、受信者(グーグル)デフォルトのHTTPポート80は、送信者が(ネイティブ)ポートはランダムに生成され、51775を想定している1024〜65535の間の整数です。
TCPパケットのヘッダ長は20バイトであり、加えてHTTPパケット埋め込み、全体の長さは4980バイトとなります。
6 IPプロトコル
次に、TCPはパケットのIPパケットを再埋め込みます。IPパケットが知られているように、両方のIPアドレスを設定する必要があり、送信者は192.168.1.100(ネイティブ)で、受信機は、172.194.72.105(グーグル)です。
IPパケットのヘッダ長は20バイトであり、プラス埋め込みTCPパケットは、全体の長さは5000バイトとなります。
7イーサネット・プロトコル
最後に、IPは、イーサネットパケットに埋め込まれたパケット。イーサネットパケットは、両方のMACアドレスを設定する必要があり、送信元MACアドレスベースのマシンは、受信者は、(ARPプロトコルにより得られる)ゲートウェイ192.168.1.1のMACアドレスです。
データのイーサネットパケットの部分、1500バイトの最大長は、今IPパケット長は5000バイトです。このように、IPパケットは、4つのデータパケットに分割する必要があります。各パケットは、独自のIPヘッダ長(20バイト)を有しているので、4つのパケットのIPパケットデータは、1500,1500,1500,560ました。
8サーバーに応じて、
172.194.72.105複数のゲートウェイを転送した後、Googleのサーバー、私は4つのイーサネットパケットを受信しました。
IPヘッダの数は、Googleが完全なTCPパケットを引っ張って、一緒に4つのパケットを入れ、その後、「HTTPリクエスト」の内部を読み出し、その後、「HTTPレスポンス」を行い、その後、TCPプロトコルに背を送っます。
ユニットは、HTTPレスポンスを受信した後、ウェブページは、通信ネットワークを完了するために、表示することができます。