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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

网络知识 | 《图解TCP/IP》读书笔记(下)

發布時間:2023/12/4 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络知识 | 《图解TCP/IP》读书笔记(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【網絡知識|?作者?/ Edison Zhou

這是EdisonTalk的第291篇原創內容


作為一個專業的IT技術人,一個Web應用開發者,不了解網絡基礎和協議,怎么能行?本文是我2016年閱讀《圖解TCP/IP》一書的讀書筆記下半部分。

上半部分:點此閱讀

1TCP與UDP

TCP(Transmission Control Protocol)與UDP(User Datagram Protocol)
傳輸層的作用

TCP:面向連接的、可靠的流協議,提供可靠的通信傳輸。

所謂流,就是指不間斷的數據結構,你可以把它想象成排水管道中的水流。當應用程序采用TCP發送消息時,雖然可以保證發送的順序,但還是猶如沒有任何間隔的數據流發送給接收端。

UDP:面向無連接的,具有不可靠性的數據報協議。(讓廣播和細節控制交給應用的通信傳輸)

TCP用于在傳輸層有必要實現可靠傳輸的情況,由于它是面向連接并具備順序控制、重發控制等機制的,所以它可以為應用提供可靠傳輸。而UDP則主要用于那些對高速傳輸和實時性有較高要求的通信或廣播通信。

因此,TCP和UDP應該根據應用目的按需使用。另外,在日常使用TCP或UDP時,通常會用到操作系統提供的類庫,這種類庫一般被稱為API,對于TCP或UDP來說會廣泛使用到套接字(Socket)的API。應用程序使用套接字時,可以設置對端的IP地址、端口號,并實現數據的發送與接收。

端口號

MAC地址和IP地址分別用來識別同一鏈路中不同的計算機以及TCP/IP網絡中互連的主機和路由器。在傳輸層,則使用端口號來識別同一臺計算機中進行通信的不同應用程序。

一般知名端口號在0~1023之間,而我們經常使用的自定義/動態分配的端口號則一般在49152~65535之間。

UDP

UDP(User Datagram Protocol)不提供復雜的控制機制,利用IP提供面向無連接的通信服務。因此,它不會負責:流量控制、丟包重發等。

UDP廣泛應用于:?

1、包量較少的通信(DNS、SNMP等)

2、視頻、音頻等多媒體通信(即時通信)

3、限定于LAN等特定網絡中的應用通信?

4、廣播通信(廣播、多播)

TCP

TCP作為一種面向有連接的協議,只有在確認通信對端存在時才會發送數據,從而可以控制通信流量的浪費。

為了通過IP數據報實現可靠性傳輸,需要考慮很多事情,例如:數據的破壞、丟包、重復以及分片順序混亂等問題。

TCP通過檢驗和、序列號、確認應答、重發控制、連接管理以及窗口控制等機制實現可靠性傳輸。

使用TCP的一個連接的建立與斷開,正常過程下至少需要來回發送7個包才能完成,也就是我們常常聽到的三次握手,兩次揮手。

2路由協議

在互聯網世界中,夾雜著復雜的局域網和廣域網,然后,再復雜的網絡結構中,也需要通過合理的路由將數據發送到目標主機。而決定這個路由的,正是路由控制模塊。

靜態路由和動態路由

靜態路由:事先設置好路由器和主機中并將路由信息固定的一種方法;

eg.有100個IP網的時候,就需要手動設置近100個路由信息。并且,每增加一個新的網絡,就需要將這個新追加的網絡信息設置在所有的路由器上。因此,管理負擔很大。此外,一旦某個路由器發生故障,基本上無法自動繞過發生故障的節點,必須手工設置后才能恢復。

動態路由:讓路由協議在運行過程中自動地設置路由控制信息的一種方法;

eg.如果有一個新的網絡追加到原有網絡中,只要在新增加網絡的路由器上進行一個動態路由的設置即可。此外,網絡上一旦發生故障,路由器的設置也會自動重置。

動態路由會給相鄰路由器發送自己已知的網絡連接信息,而這些信息又像接力一樣依次傳遞給其他路由器,直到整個網絡都了解時,路由控制表也就制作完成了,而此時也就可以正確轉發IP數據包了。

路由算法

最具代表性的路由算法是:距離向量(Distance-Vector)算法和鏈路狀態(Link-State)算法。

(1)距離向量算法

根據距離(代價)和方向決定目標網絡或者目標主機位置的一種方法。

(2)鏈路狀態算法

在了解網絡整體連接狀態的基礎上生成路由控制表的一種方法,該方法中,每個路由器必須保持同樣的信息才能進行正確的路由選擇。

路由協議

(1)RIP(Routing Information Protocol)

RIP是距離向量型的一種路由協議,廣泛應用于LAN。

廣播路由:RIP將路由控制信息定期(30秒)向全網廣播。

確定路由:RIP基于距離向量算法決定路由,距離的單位被稱為“跳數”(經過的路由器的個數),RIP希望經過盡可能少的路由器將數據包發送到目標IP地址。

(2)OSPF(Open Shortest Path First)

OSPF是一種鏈路狀態型路由協議,即使網絡中有環路,也能夠進行穩定的路由控制。

3應用層協議

遠程登錄

Telnet利用TCP的一跳連接,通過這一條連接向主機發送文字命令并在主機上執行。但是Telnet中登錄時無需輸入密碼就可以發送,容易造成通信竊聽和非法侵入的危險。

SSH是加密的遠程登錄系統,可以加密通信內容。即使信息被竊聽也無法破解所發送的密碼、具體命令以及命令返回結果是什么。

文件傳輸

FTP是在兩個計算機之間進行文件傳輸時使用的協議,它使用兩條TCP連接:一條用于控制,一條則用于數據的傳輸。

(1)FTP控制使用的連接使用的是TCP21號端口(SFTP用的是22號端口)

(2)FTP用于數據傳輸的TCP連接通常使用20號端口

電子郵件

SMTP(Simple Mail Transfer Protocol)提供電子郵件服務協議,而一般接收端會使用POP3(Post Office Protocol)協議。

(1)SMTP是發送電子郵件的協議,它使用TCP的25號端口。它在建立一個TCP連接以后,便在這個連接上進行控制和應答以及數據的發送。

(2)POP是接收電子郵件的協議,它和SMTP一樣,也是在客戶端與服務端之間建立一個TCP連接完成相應操作。

WWW

HTTP(Hyper Text Transfer Protocol)默認使用TCP的80端口,首先是客戶端向服務器的80端口建立一個TCP連接,然后在這個TCP連接上進行請求和應答以及數據報文的發送。

網絡管理

SNMP(Simple Network Management Protocol)常用于TCP/IP的網絡管理。利用SNMP可以對連接到網絡的設備進行遠程管理,例如修改設置和確認是否運行正常等等。

Ref參考資料

[日]竹下隆史,《圖解TCP/IP》

上半部分傳送門:點此閱讀

總結

以上是生活随笔為你收集整理的网络知识 | 《图解TCP/IP》读书笔记(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

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