400-650-7353

精品課程

您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】TCP/IP協議詳解

【Python基礎知識】TCP/IP協議詳解

  • 來源:
  • 2021-08-30 16:36:31
  • 閱讀()
  • 分享
  • 手機端入口

如今,互聯網一詞已被人們所熟知,它廣泛應用于人類生活的各個方面。但是究其歷史,互聯網是由1971年的ARPANET發展而來的。ARPANET是一個計算機網絡,它的出現比互聯網要早得多。

網絡中的計算機為了彼此之間進行通信形成一個通信網絡,就必須首先制定網絡協議。早期的計算機網絡,根據廠商的不同有著自己規定的一套協議,Microsoft、IBM和Apple等公司都有各自的互不兼容的一套網絡協議。這就像一群人有的說中文,有的說英語,有的說德語,說同一種語言的人之間可以交流,而說不同語言的人之間就難以交流了。

網絡協議的不兼容阻礙了互聯網的發展。而隨著網絡的發展,規模和覆蓋面越來越大,從而形成了統一的標準OSI(開放系統互連)。OSI模型從上到下具有7層結構,分別是應用層、表示層、會話層、運輸層、網絡層、數據鏈路層和物理層。其中,應用層定義了應用程序之間通信的協議,運輸層主要用來確保端到端的數據通信正常,網絡層負責在各個主機之間傳輸數據。

在互聯網所使用的各種網絡協議中,最重要的是TCP和IP協議。如今人們常說的TCP/IP協議并不一定單指TCP和IP這兩個具體的協議,而通常是表示互聯網所使用的整個TCP/IP協議族。

下面介紹一下TCP/IP協議。

計算機進行通信時,類似于現實中的郵政通信,計算機通信的雙方必須知道對方的地址才行。在TCP/IP協議中,IP地址是互聯網上每臺計算機的唯一標識。目前,最廣泛采用的是IPv4版本的IP地址,如192.168.100.179。IP地址是采用點分十進制的一組數組成的。一般情況下,網絡上一臺設備只有一個IP地址,但路由器需要同時接入到兩個及以上的網絡,因此,路由器就會有兩個或多個IP地址。通常計算機中負責IP數據包發送/接收的硬件設備是網卡,一個IP地址對應一張網卡,網卡就是計算機的網絡接口。

一臺計算機通過計算機網絡將數據發送到另一臺計算機,數據是逐層封裝的。在IP層,IP協議負責將數據從一個IP地址發送到另一個IP地址。首先數據需要按照IP協議分割成多個小數據塊,塊長度一般為1024字節,這個小數據塊稱為IP數據報。發送出去的IP包,由于整個互聯網的架構非常復雜,兩臺計算機之間經常有多條線路,因此,中間的路由器就負責轉發一個IP包。IP包的特點是按塊發送,途經多個路由,但由于路由器的承載能力有限,當大批IP包同時到達時,就會因路由器處理不過來而丟包。另外,IP包經過多個路由器的轉發,在路由器中的排隊時間也不同,因此,到達接收端的順序也不會完全按照發送時的順序。一個IP包除了包含要傳輸的數據外,還包含源IP地址和目標IP地址。

IP協議之上的是TCP協議,TCP稱為傳輸控制協議。TCP協議在兩臺計算機之間建立的是可靠的連接,因此,TCP報文是按順序處理的。形象地說,TCP協議是通過握手建立連接的,再確保按順序收到下層的每個IP包,如果IP包丟失了,就向發送端請求重發。

應用層上許多常用的應用都是建立在TCP協議上的,例如,萬維網瀏覽器上使用的HTTP協議,發送電子郵件的SMTP協議等。

TCP協議中設定了端口號,用來區分主機上的不同通信進程。例如,根據IP地址找到目的主機后,IP包需要上傳到TCP層進行處理,TCP可以根據端口號來區分出當前通信的是網頁瀏覽器還是QQ應用程序,這樣就實現了進程間通信。

對于TCP協議,要了解它的三次握手和四次揮手。

三次握手過程如下:

①客戶端發送連接請求報文。

②服務器端接收連接請求后,回復ACK報文。

③客戶端接收到ACK報文后,也向服務器端發送ACK報文。

這樣TCP連接就建立了。

TCP連接的拆除需要發送四個包,故稱為四次揮手。

四次揮手過程如下:

①客戶端發送一個FIN,用來關閉客戶端到服務器端的數據傳送。

②服務器端收到這個FIN,它發回一個ACK,確認序號為收到的序號加1。與SYN一樣,一個FIN將占用一個序號。

③服務器端關閉與客戶端的連接,發送一個FIN給客戶端。

④客戶端發回ACK報文確認,并將確認序號設置為收到序號加1。

運輸層協議除了TCP外,還有UDP。UDP適用于對效率要求相對較高而對準確性要求相對較低的場合,例如,視頻在線點播、網絡語音通話等。

了解了TCP/IP協議的基本概念后,就可以開始進行網絡編程了。

學習疑問申請解答
您的姓名
您的電話
意向課程
 

中公優就業

IT小助手

掃描上方二維碼添加好友,請備注:599,享學習福利。

>>本文地址:
注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

推薦閱讀

優就業:ujiuye

關注中公優就業官方微信

  • 關注微信回復關鍵詞“大禮包”,享學習福利
QQ交流群
在線疑問解答
(加群備注“網站”)
IT培訓交流群 加入群聊 +
軟件測試 加入群聊 +
全鏈路UI/UE設計 加入群聊 +
Python+人工智能 加入群聊 +
互聯網營銷 加入群聊 +
Java開發 加入群聊 +
PHP開發 加入群聊 +
VR/AR游戲開發 加入群聊 +
大前端 加入群聊 +
大數據 加入群聊 +
Linux云計算 加入群聊 +
優就業官方微信
掃碼回復關鍵詞“大禮包”
享學習福利

測一測
你適合學哪門IT技術?

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
 
課程資料、活動優惠 領取通道
 
 
五月天黄色网站