iOSのインタビューの質問 - 内部強度-socket

ソケットは何ですか?

1.背景:いえばソケット、我々は状況を想定し、その誕生の背景を見てする必要があります:私たちは、ネットワーク通信のための異なるプロセスをしたい、我々は、各プロセスが固有のIDを持っている必要がありますが、別のに必要プロセス上のPIDのオペレーティングシステムは、この問題を解決するためには、現実的ではありません問題を、複製することがあり、TCP / IPプロトコルは、1台のコンピュータ、プロトコルタイプ、およびTCP内を表現することができる便利な、IPプロトコルに来ましたポートは、異なるコンピュータの異なるプロセス間のネットワーク通信の問題を達成するため、コンピュータプロセスを示すことができます。そして、問題があるすべての私たちは、この問題を解決するために、プロセス指向の開発期間中に合わせてコードを記述する必要がある時、ソケット生まれの友人ということです;
2、コンセプト:それは層に基づいてTCP / IPプロトコル上に配置されているが、あります通信中のコンピュータの基礎は、基本的な操作部TCP / IPプロトコルスイートは、ソケットは、必要な要素を必要とする:プロトコルタイプがUDPポートまたはTCP、送信元ホストアドレス、送信元ホストアドレス処理、宛先ホストアドレス、宛先ホストプロセスでありますポート、プロトコル、それはTCP / IPカプセル化TCP / UDPは、C APIインターフェースに基づいて上位レイヤの種類を提供しない;
3バイトストリームデータの種類、ソケットは、2つのカテゴリに分類、、現在のソケットUDPプロトコルは、ソケットユーザパケットである場合、現在のTCPプロトコルは、ソケットのソケットである
:3.1 TCP
TCPはトランスポート層の通信プロトコルの接続指向、高信頼性である:
コネクション型:TCPため通信のための3ウェイハンドシェイクの前に行われる、4回の休憩を切断され、
高い信頼性を:TCPネットワーク環境が所有されますので、コントロールは、フロー制御;
3.2、輻輳制御を、フロー制御、再送メカニズムを?

まず、私たちは、どのような状況の下までに輻輳制御、トラフィック制御の必要性を持っていますか?、輻輳制御とフロー制御原理?

拥塞控制:  我们在进行网络通信的时候需要用到网络资源,网络资源包括数据包缓存区、网络带宽、路由节点的处理能力;在某段时间内,若对网络中某一资源的需求超过了该资源能够提供的可用部分时,网络性能就会变坏,这种情况就叫做拥塞;拥塞发生的主要原因是网路能够提供可用资源不足以满足用户的需求;
产生拥塞控制过程: 在早期TCP发送数据包,一致直接发送最大数据量的包,这样很快,网络层的带宽资源、接收节点也处黎不过来,甚至导致网络层崩溃,后期为了解决这个问题引进了嗅探发送,就是刚开始讲自己的拥塞窗口大小设为最大的发送数据即MMS,假设为M;刚开始按照指数级发送数据包,当发送的数据包数量大于M,此时会采用拥塞控制算法,重启从0开始,按线性增大发送数据,并且拥塞窗口的大小为原来一般即M/2,后面一次照这样发送,这期间主要如果服务端没有收到某个数据包,此时服务端会连续向客户端发送3次ACK包请求具体的包,这时,客户端会立即开始快速重传

TCP:詳細
https://www.jianshu.com/writer#/notebooks/37246528/notes/43805129

3.2、DUP
UDPは、通信プロトコルのトランスポート層報告されたデータに基づいて、コネクションレス及び信頼性がありません。

3.3は、TCP / UDP短所:
TCPの利点:3ウェイハンドシェイクのテスト、確認、窓、再送信、輻輳制御機構、転送のプロセスがリソースを解放するために、切断完了です。
TCPの欠点:検証フェーズが攻撃された、低効率、CPU、メモリ、およびシステムによって占められる他のハードウェアリソース、やり過ぎ転送少量のデータには適していません。
TCPの利点:高効率の
TCPの短所:大量のデータ転送に適した、信頼できないではありません。
UDPおよびTCPとの間の差の要約:
コネクションに連結されたベース1、
システム・リソースの2要件(TCPより、少ないUDP);
3.UDP比較的単純なプログラム構造、
4ストリームモードとパケットモードデータ;
5。 TCP保証データの正確、そのデータを確実にするためにUDPパケットロスが、TCPの順序は、UDPは保証されません。

図4は、プロセスの動作:
4.1、サーバはソケット、BINDサーバのホストアドレス、肩の痛みとポートを作成し、その関数を受け入れる呼び出し、一貫性のある状態をブロックし始め、クライアントは、クライアントの要求がある場合、およびへの参入を阻止します、サービスがデータを返すまで、サーバはクライアントソケットを保存し、その後、ソケットは、単一の顧客データに書き込まれ、クライアントが近いのリンクを送信することができ、メッセージが切断されて受信し、ソケットの完全な交換を完了

おすすめ

転載: blog.csdn.net/weixin_34205076/article/details/90922050