仕上げネットワークプログラミングのインタビューの質問(B)

1:C / SとB / Sアーキテクチャとは何ですか?

C / Sアーキテクチャのソフトウェア(すなわち、クライアント/サーバ・モデル)は、2つの層に、クライアントとサーバは:第1の層はサービスロジックに示すクライアントシステムに結合され、第2の層は、ネットワーク・データベース・サーバの組み合わせによって形成されています。単に第一層は第二層はデータベース層である、ユーザ・プレゼンテーション層であることを意味します。クライアントと直接これら二つの成分に接続されたサーバは、重要な役割を果たしています。

第一層のB / Sの構造は、ブラウザ(即ち、クライアント)のみの単純な入出力機能、トランザクション処理ロジックは非常に小さい部分です。顧客は、クライアントをインストールする必要はありませんので、限りブラウザは、それが幅広いユーザーを対象としていて、インターネットを閲覧することができるようになりますよう、インターフェースは比較的単純な、一般的になるように設計されています。第二の層は、WEBサーバである情報伝達の役割を果たしています。ユーザーがデータベースにアクセスしようとするとき、それは最初のWEBサーバに要求を送信します、統一WEB要求した後、データベース・サーバーにアクセスするためのデータベース・サーバに要求を送信し、要求を達成するためのSQLステートメントに基づいています。第3層は、大量のデータを保持するデータベースサーバです。データベースサーバがリクエストWEBサーバを受信すると、SQLステートメントが処理され、結果は次の、WEBサーバへのデータ結果を返され、WEBサーバは、HTMLテキストとしてブラウザに送信された変換を受け取ることになります送信されます。

 

2:ARPプロトコルは何ですか?

ARP(アドレス解決プロトコル)があるARP最も簡単な引数は次のとおりです。イーサネットIP、契約の上位層プロトコルでは、ノードのIPアドレスと、ARPは、ノードのMACアドレスを提供することができるようになります。

 

3:ローカル・エリア・ネットワークと広域ネットワークとは何ですか?

ワイドエリアネットワーク(WAN、公衆イントラネット、エクストラネット)は、我々は通常、インターネットを参照するもので、それは世界中のネットワークです。ローカル・エリア・ネットワーク(LAN、プライベートネットワーク、内部ネットワーク)は、ワイドエリアネットワーク(WAN)に対して、主に小さな範囲内コンピュータネットワークを指します。この「小規模では」家族、学校、会社、または政府部門かもしれません。BT公衆ネットワークは、多くの場合、外部ネットワーク、即ち、ワイドエリアネットワーク(WAN)と呼ばれ、多くの場合、プライベートネットワークと呼ばBT、内部ネットワーク、すなわち、ローカルエリアネットワーク(LAN)。各コンピュータ(またはその他のネットワークデバイス)が一つ以上のWAN IPアドレス(またはパブリックネットワーク、外部ネットワークのIPアドレス)の後に広域ネットワークに適用するには、WAN IPアドレスは、一般的にISP、WANに支払いますIPアドレスは繰り返すことができない、各コンピュータ(または他のネットワークデバイス)は、ローカルエリアネットワーク(LAN)またはLAN IPアドレスの複数(又はプライベートネットワーク、IPアドレス)、内部LANに割り当てられたローカルIPアドレスを有しています、IPアドレスの異なるLANを繰り返すことができ、お互いに影響を与えません。

 

4:TCPプロトコルに基づいて、ソケットの簡単なソケット通信プロセスとは何ですか?。

「ソケット」として知られているソケットは、ネットワーク通信のための方法を提供するシステムである。これはコンピュータが情報を送信する方法を指定しないプロトコルではなく、メッセージを送信するためのインターフェースをプログラマーに提供し、プログラマこのインタフェースを使用する方法、メッセージの送受信.Socketは、IPポートのペアを説明し、互いのIPを知るために、プログラマの操作を簡単にし、ポートはサーバプロセスによって送信されたメッセージそして、お互いにメッセージを送ることができますソケットは、当事者、つまりクライアントとサーバ間の通信が含まれています。

ソケット手順を以下に示します。

一般的な手順TCPサーバがプログラムされています。   

図1に示すように、ソケット、機能ソケット()を作成します。

SOCKET SocketListen =ソケット(AF_INET、SOCK_STREAM、IPPROTO_TCP)。   

ソケット属性、関数のsetsockopt()を設定するための2、; *オプション   

3)(バインド機能と、ソケットのIPアドレスとポートの情報を結合します。

SOCKET_ERROR =バインド(SocketListen、(定数のsockaddr *)&addrは、はsizeof(ADDR))   

図4は、リスン()関数を用いて、モニターを開きます。

SOCKET_ERROR ==(SocketListen、2)を聞きます   

5は、顧客は()関数を受け入れるで提供受けるように接続されています。

SOCKET SocketWaiter =受け入れる(SocketListen、_Out_構造体のsockaddr * ADDR _Inout_ INT * addrlenは)

図6に示すように、データの送受信、機能の送信を()およびRECV()、またはリード()とwrite()。

図7に示すように、ネットワーク接続オフ;

closesocket(SocketListen)。

closesocket(SocketWaiter)。

8、近いモニタ。

この機能は、接続指向の、すなわち、すべての接続は、送信する前に確立され、接続を介してデータを受信する必要がありSOCK_STREAM、通信ネットワークはコネクションと信頼できないようなSOCK_DGRAMユーザーデータグラムプロトコルのプロトコルです。

プログラミングのTCPクライアントの一般的な手順は次のとおりです。   

図1に示すように、ソケット、機能ソケット()を作成します。   

ソケット属性、関数のsetsockopt()を設定するための2、; *オプション   

3、ソケット、関数バインド()にIPアドレスとポートの情報を結合; *オプション   

図4に示すように、IPアドレスとポート等セット特性が相互に接続されます。   

図5に示すように、接続サーバ、関数接続()。   

図6に示すように、データの送受信、機能の送信を()およびRECV()、またはリード()とwrite()。   

図7に示すように、閉じたネットワーク接続、intsend(_In_SOCKETs、//送信、返されたソケット_In_constチャーを受け入れたソケットに* BUF、_In_ INT LEN、_In_ INTフラグ);

 

5:スティッキースティックパッケージは現象が起こる場合、パッケージの原因ソケットスティックパッケージの理由は何ですか?

スティックパッケージ:複数のデータパケットは、データ読み出しのための一定の大きさの推定値を使用しながら、両方の場合に、データパケットの送信を読み出しが、境界面の発生から決定することができない場合、連続バッファに連続的に格納されています指は、すぐにデータパケットの終了前に最初のパケットデータの後、見に受信バッファから受信者に送信者によって送信された複数のデータパケットのサイズは、パケットの中にスティックを受信一致しないとき。

スティックパック現象の理由は、多面さの両方が送信者によって引き起こされることが、また受信者によって引き起こされることがあります。

誘導された粘度のパケット送信側は、それ自体で、パケットデータ送信後に収集、送信者が多いのに十分なデータを伝送効率を改善するために、TCPプロトコル、TCPによって引き起こされます。連続したデータ伝送が小さい場合には、通常、TCPの受信側は、データパケットの粘着性を受信するように、これらのデータパケットの合成うちに応じて最適化アルゴリズムを送信します。

受信者のユーザー・プロセスがタイムリースティックパック現象で、その結果、データを受信して​​いないので、スティックパッケージの受信者が発生しています。ユーザプロセスは、次のデータパケットは、その後、次のデータパケットが到着した場合、バッファから処理ユーザデータをフェッチバッファ受信する第1の受信システムで受信したデータが、前のデータパケットがまだ除去されていないからですシステムは正面に置かれた後に、データパケットは受信バッファ、およびユーザプロセスに応じてバッファサイズは、時間は、複数のパケットデータに取らように、システムをフェッチバッファから予め設定されたデータを受信します。

下請けは、彼らがスティックパッケージを発生するように管理することが、当社のサブ受信者を指します。さらに、元のデータの意味を歪める、サブ読み取る誤ったデータが得られ、パケット境界位置ずれ発生(接続長さに表示されます)。

1.ときに短い接続の場合に関係なく、スティック包装ケース。

2.送信者だけで送信は、受信側のストレージだけ受信OKに、スティックのパッケージを考慮していないので、ファイル転送などの無伝送データ構造、もし

3.当事者が接続を確立する場合、接続は構造物の処理時間の異なるデータの期間内に送信する必要がある:前処理受信者のスレッドを作成し、受信したパケットが別の接着パケットに前処理されています

注:パッケージを貼り、1がパッケージは完全なパケット一緒に接着されている2つのケースがありますが、他のケースのパッケージは、一緒に不完全なパケットを立ち往生しています。

 

6:ファイアウォールや役割は何ですか?

1.ファイアウォールとは何ですか

ファイアウォール異なるネットワークに設置組み合わせ(例えば、公衆網を信頼できると信頼できないイントラネット)またはネットワークセキュリティドメイン間の一連の構成要素を指します。これは、ネットワークのセキュリティを達成するために、可能な外部遮蔽するための情報、構造、ネットワーク内で動作条件限り、ファイアウォールを介したデータの流れを変更、限界を監視することができます。論理的に、ファイアウォールはセパレータ、リミッタで、効果的に内部ネットワークのセキュリティを確保するために、内部ネットワークとインターネットとの間の任意の活動を監視するためのパーサです。

2.ファイアウォールを使用するメリット

脆弱なサービスの保護。サービスをフィルタリングすることで安全でない、ファイアウォールが大幅にネットワークのセキュリティを向上させ、ホストサブネットのリスクを減らすことができます。例えば、ファイアウォールは、ファイアウォールを介してNIS、NFSサービスを無効にすることができ、ソースルーティングとICMPリダイレクトパケットを拒否することができます。

システムへのアクセスを制御しますファイアウォールは、システムのアクセス制御を提供することができます。そのような別のホストへのアクセスを禁止しながら、外部から特定のホストへのアクセスを許可します。例えば、ファイアウォールは、特定のメールサーバやWebサーバへの外部からのアクセスを可能にします。

セキュリティの集中管理ファイアウォールイントラネット上の安全な管理を集中、イントラネット上の各マシンをセキュリティポリシーを設定することなく、ファイアウォールは内部ネットワーク全体のシステム上で実行することができる定義されたセキュリティルール。ファイアウォールは、個別に各マシン上の特定の認証ソフトウェアをインストールすることなく、さまざまな認証方法を定義することができます。外部ユーザーは、イントラネット経由のアクセスに一度認証を必要とします。

強化された機密性。使用ファイアウォールは、このようなFigerやDNSなどの有用な情報ネットワークシステムの攻撃を、取得するために攻撃者を防ぐことができます。

レコードや統計データとネットワークの使用率データの不正使用ファイアウォールは、ファイアウォールが攻撃の可能性と検出を決定するために統計データを提供することができ、記録及び統計ファイアウォール、ネットワーク通信を介して、ネットワークの使用状況に関する統計情報を提供するために、することができます。

ポリシーの適用。ファイアウォールは、ネットワークセキュリティポリシーを策定し、実施するための手段を提供します。ファイアウォールが設定されていない場合は、ネットワークセキュリティは、ホストあたりのユーザーに依存します。

 

7:違いは、ポーリング、ファイルディスクリプタモデルを選択?

「(世論調査のepollを選択)の誘導のためのいくつかの一般的なサーバー・ネットワーク・プログラミング・モデル」のブログのコレクションを参照してください!

さらなる処理は、設定または選択フラグFD性質に格納されたデータ構造をチェックすることによって行われます。このような欠点が原因で発生します。

数が限られている個々のプロセスを監視することができる1 fdが。

多量のFDを維持する2必要が頭上の構造物を通過するとき、ユーザは、大きな空間とカーネル空間をコピーできるように、データ構造を格納するために使用されます。

ソケットの3は、スキャンとリニアスキャンです。

 すべてのトラバース場合ポーリングとは、本質的に何の違いを選択していない、FDに対応する各機器の状態を問い合わせるその後、カーネル空間に渡された配列をコピーしてしまうユーザーは、装置内のデバイスは、レディキューとトラバーサルに追加された場合は、続けていいえデバイスはデバイスの準備ができてまたはアクティブタイムアウトになるまでのfd再び通過した後に再び目を覚ます、現在のプロセスを中断し、準備ができFDました。このプロセスは、多くの不必要なトラバーサルを受けています。それがストアにリンクされたリストに基づいているため、接続の最大数を制限するだけでなく、欠点がない:FDの多数の配列は、このようなコピーであるか否かを、ユーザ・モードとカーネルアドレス空間との間にその全体がコピーされます意味。世論調査でも、「トリガレベル」によって特徴付けられる、FD報告あれば、処理されていない、それが再び次のポーリングをFDを報告します。

epollをサポートレベルトリガとエッジトリガ、最大の特徴は、そのエッジトリガされ、そればかりFDとなっているプロセスの状態が必要になりますし、一度通知します伝えます。私たちは前にも言ったレプリケーションの問題では、epollを使用すると、レプリケーションのオーバーヘッドを減らすMMAP。もう一つの特徴は、epoll_ctl登録FDを通じて「イベント」の準備の通知方法を使用してファイルディスクリプタは、fdの準備ができたら、カーネルはFDをアクティブにするために同様のコールバックコールバックメカニズムを使用して、イベントがepoll_waitに通知することが可能です。

公開された61元の記事 ウォンの賞賛9 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_33204444/article/details/93651541
おすすめ