網絡協議基礎:「工做中模模糊糊的概念,此次終於理順了!」

如何毀掉一個嬰兒?
斷了他的奶。
如何毀掉一個年輕人?
斷了他的網。
「網絡之於年輕人,正如同奶水之於嬰兒」網絡

什麼是網?什麼是域名?什麼是IP、Mac地址,端口號?什麼是UDP?什麼是TCP?今天這篇教程,將帶你們學習TCP/IP的知識,「工做中模模糊糊的概念,此次終於理順了!」架構

TCP/IP背景介紹

上世紀 70 年代,隨着計算機技術的發展,計算機使用者意識到:要想發揮計算機更大的做用,就要將世界各地的計算機鏈接起來。可是簡單的鏈接是遠遠不夠的,由於計算機之間沒法溝通。所以設計一種通用的「語言」來交流是必不可少的,這時 TCP/IP 協議就應運而生了。機器學習

TCP/IP(Transmission Control Protocol/Internet Protocol)是傳輸控制協議和網絡協議的簡稱,它定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標準。tcp

TCP/IP 不是一個協議,而是一個協議族的統稱,裏面包括了 IP 協議、ICMP 協議、TCP 協議、以及 http、ftp、pop3 協議等。網絡中的計算機都採用這套協議族進行互聯。學習

網絡協議棧架構

提到網絡協議棧結構,最著名的當屬 OSI 七層模型,可是 TCP/IP 協議族的結構則稍有不一樣,它們之間的層次結構有如圖對應關係:設計

可見 TCP/IP 被分爲 4 層,每層承擔的任務不同,各層的協議的工做方式也不同,每層封裝上層數據的方式也不同:3d

  • (1)應用層:應用程序經過這一層訪問網絡,常見 FTP、HTTP、DNS 和 TELNET 協議;視頻

  • (2)傳輸層:TCP 協議和 UDP 協議;blog

  • (3)網絡層:IP 協議,ARP、RARP 協議,ICMP 協議等;教程

  • (4)網絡接口層:是 TCP/IP 協議的基層,負責數據幀的發送和接收。

本教程,就是從底向上分層次對 TCP/IP 的各協議作介紹。

IP 地址

網絡上每個節點都必須有一個獨立的 IP 地址,一般使用的 IP 地址是一個 32bit 的數字,被 . 分紅 4 組,例如,255.255.255.255 就是一個 IP 地址。有了 IP 地址,用戶的計算機就能夠發現並鏈接互聯網中的另一臺計算機。

域名

用 12 位數字組成的 IP 地址很難記憶,在實際應用時,用戶通常不須要記住 IP 地址,互聯網給每一個 IP 地址起了一個別名,習慣上稱做域名。

域名與計算機的 IP 地址相對應,並把這種對應關係存儲在域名服務系統 DNS(Domain Name System) 中,這樣用戶只需記住域名就能夠與指定的計算機進行通訊了。

MAC 地址

MAC(Media Access Control)地址,或稱爲物理地址、硬件地址,用來定義互聯網中設備的位置。

在 TCP/IP 層次模型中,網絡層管理 IP 地址,鏈路層則負責 MAC 地址。所以每一個網絡位置會有一個專屬於它的 IP 地址,而每一個主機會有一個專屬於它 MAC 地址。

端口號

IP 地址是用來發現和查找網絡中的地址,可是不一樣程序如何互相通訊呢?這就須要端口號來識別了。若是把 IP 地址比做一間房子 ,端口就是出入這間房子的門。真正的房子只有幾個門,可是端口採用 16 比特的端口號標識,一個 IP 地址的端口能夠有 65536(即:2^16)個之多!

經常使用協議對應端口號:

  • SSH 22

  • FTP 20 和 21

  • Telnet 23

  • SMTP 25

  • TFTP 69

  • HTTP 80

  • SNMP 161

  • Ping 使用ICMP,無具體端口號

封裝和分用

封裝:當應用程序發送數據的時候,數據在協議層次當中自頂向下經過每一層,每一層都會對數據增長一些首部或尾部信息,這樣的信息稱之爲協議數據單元(Protocol Data Unit,縮寫爲PDU),在分層協議系統裏,在指定的協議層上傳送的數據單元,包含了該層的協議控制信息和用戶信息。以下圖所示:

  • 物理層(一層)PDU指數據位(Bit)

  • 數據鏈路層(二層)PDU指數據幀(Frame)

  • 網絡層(三層)PDU指數據包(Packet)

  • 傳輸層(四層)PDU指數據段(Segment)

  • 第五層以上爲數據(data)

RFC

RFC(Request for Comment)文檔是全部以太網協議的正式標準,並在其官網上面公佈,由 IETF 標準協會制定。大量的 RFC 並非正式的標準,出版的目的只是爲了提供信息。RFC 的篇幅不一,從幾頁到幾百頁不等。每一種協議都用一個數字來標識,如 RFC 3720 是 iSCSI 協議的標準,數字越大意味着 RFC 的內容越新或者是對應的協議(標準)出現的比較晚。

其餘知識點

  • 鏈路層介紹

  • IP網際協議

  • 網絡層其它協議

  • 傳輸層:UDP協議

  • 傳輸層:TCP協議

  • 應用層協議


完整的教程學習(徹底免費),請打開這裏:
https://www.shiyanlou.com/courses/98


相關教程推薦:
GO語言模擬實現TCP/IP協議
https://www.shiyanlou.com/courses/1300


相關推薦

50個Python練手項目,拿去過冬吧!

10個不到500行代碼的超牛Python練手項目

10個精彩Python視頻教程整理,10種新技能輕鬆Get!

30本Python學習參考書,從入門到大師全了!

大牛推薦的10本學習Java必看書

如何開始使用Java機器學習

再別說找不到C++練手項目,這20個拿去不謝!

image

相關文章
相關標籤/搜索