それで、tcp/ip プロトコル スタックを学び始めました。しかし、すべてのソースで tcp プロトコルの説明が曖昧すぎます。主に、tcp プロトコルが実際にプログラムでどのように実装されているかを知りたいと考えています。適用されたプロトコルが tcp プロトコルと通信する方法。この通信のインターフェースは何ですか。今のところ、適用されたプロトコルは適用されたプログラムに直接実装されていると思います。ブラウザがHTTPプロトコルを実装し、このプロトコルがOSに実装されているtcpプロトコルの集中実装と通信するとしましょう。それは正しいですか、私はこれを学ぶことができる情報源がありません.何か読むことをお勧めしてください.
1 に答える
注:あなたの質問は幅広いものに傾いていますが、それは良い入門的な質問だと思うので、私はそれに答えています。
TCP はレイヤー 4 (またはトランスポート層) プロトコルです。その上にネットワーク アプリケーション (および UDP などの他のレイヤー 4 プロトコル) があります。アプリケーションは、ソケット インターフェイス ( http://linux.die.net/man/7/socket ) を介してレイヤー 4 プロトコルとやり取りできます。HTTP は、TCP 上で実行され、ソケット インターフェイスを使用するアプリケーションでもあります。HTTP 以外にも、Telnet、BGP など、TCP 上で実行される有名なアプリケーションが数多くあります。
TCP とオプションの基本を理解するのに最適な本の 1 つは、Richard Stevens 著の「TCP/IP Illustrated, Vol. 1: The Protocols」です。TCP の仕組みとさまざまなオプションについて説明しています。ここにリンクがあります: http://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469
それを読んだら、おそらく RFC 自体を読む必要があります: http://www.ietf.org/rfc/rfc793.txt
実装の詳細については、その第 2 巻「TCP/IP の図解: The Implementation, Vol. 2」を参照してください。リンクは次のとおりです: http://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X . この本は BSD の実装について述べていますが、TCP の実装がどのように機能するかの基本的なメカニズムを理解するのに役立ちます。