日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP协议学习

發布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP协议学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計算機網路學得不好,首先先放個OSI七層網絡模型吧

在協議的控制下,上層對下層進行調用,下層對上層進行服務, 上下層間用交換原語交換信息。這樣可以提高傳輸速率,并且保證數據安全,所以說其實每一層都有存在的必要

但是現在互聯網上大家都有TCP/IP協議,可以說是某種黑話,他封裝了前三層

每一層也有不同的協議

?

在網絡通信的過程中,將發出數據的主機稱為源主機,接收數據的主機稱為目的主機。當源主機發出數據時,數據在源主機中從上層向下層傳送。源主機中的應用進程先將數據交給應用層,應用層加上必要的控制信息就成了報文流,向下傳給傳輸層。傳輸層將收到的數據單元加上本層的控制信息,形成報文段、數據報,再交給網際層。網際層加上本層的控制信息,形成IP數據報,傳給網絡接口層。網絡接口層將網際層交下來的IP數據報組裝成幀,并以比特流的形式傳給網絡硬件(即物理層),數據就離開源主機。 通過網絡傳輸,數據到達目的主機后,按照與源主機相反的過程,在目的主機中從下層向上層進行拆包傳送。首先由網絡接口層接收數據,依次剝離原來加上的控制信息,最后將源主機中的應用進程發送的數據交給目的主機的應用進程。 TCP/IP協議的基本傳輸單位是數據報(Datagram),TCP協議負責把數據分成若干個數據報,并給每個數據報加上報頭,報頭上有編號,以保證目的主機能將數據還原為原來的格式。IP協議在每個報頭上再加上接收端主機IP地址,這樣數據能找到自己要去的地方。如果傳輸過程中出現數據失真、數據丟失等情況,TCP協議會自動請求重新傳輸數據,并重組數據報。可以說,IP協議保證數據的傳輸,TCP協議保證數據傳輸的質量。 TCP/IP協議數據在傳輸時每通過一層就要在數據上加個報頭,其中的數據供接收端同一層協議使用,而在接收端,每經過一層要把用過的報頭去掉,這樣可以保證傳輸數據的一致性。 UDP?包的大小就應該是?1500 - IP頭(20) - UDP頭(8) = 1472(Bytes)
TCP?包的大小就應該是?1500 - IP頭(20) - TCP頭(20) = 1460 (Bytes) 在用UDP局域網通信時,經常發生“Hello World”來進行測試,但是“Hello World”并不滿足最小有效數據(64-46)的要求,為什么小于18個字節,對方仍然可用收到呢?因為在鏈路層的MAC子層中會進行數據補齊,不足18個字節的用0補齊。但當服務器在公網,客戶端在內網,發生小于18個字節的數據,就會出現接收端收不到數據的情況。

用UDP協議發送時,用sendto函數最大能發送數據的長度為:65535- IP頭(20) - UDP頭(8)=65507字節。用sendto函數發送數據時,如果發送數據長度大于該值,則函數會返回錯誤。??

用TCP協議發送時,由于TCP是數據流協議,因此不存在包大小的限制(暫不考慮緩沖區的大小),這是指在用send函數時,數據長度參數不受限制。而實際上,所指定的這段數據并不一定會一次性發送出去,如果這段數據比較長,會被分段發送,如果比較短,可能會等待和下一次數據一起發送。

RPC(Remote Procedure Call)—遠程過程調用,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通信程序之間攜帶信息數據。在OSI網絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發包括網絡分布式多程序在內的應用程序更加容易。

?

轉載于:https://www.cnblogs.com/BobHuang/p/11198770.html

總結

以上是生活随笔為你收集整理的TCP/IP协议学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。