導航:首頁 > 網路安全 > tcp網路協議如何找到下一跳

tcp網路協議如何找到下一跳

發布時間:2023-01-30 02:32:24

㈠ TCP/IP協議介紹全一點的急用

TCP/IP 協議簇 TCP/IP(Transmission Control Protocol/Internet Protocol)已成為一個事實上的工業 標准。 TCP/IP是一組協議的代名詞,它還包括許多協議,組成了TCP/IP協議簇。 TCP/IP協議簇分為四層,IP位於協議簇的第二層(對應OSI的第三層),TCP位於協議簇的第 三層(對應OSI的第四層)。 TCP和IP是TCP/IP協議簇的中間兩層,是整個協議簇的核心,起到了承上啟下的作用。 1、介面層 TCP/IP的最低層是介面層,常見的介面層協議有: Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、HDLC、PPP等。 2、網路層 網路層包括:IP(Internet Protocol)協議、ICMP(Internet Control Message Protocol) 控制報文協議、ARP(Address Resolution Protocol)地址轉換協議、RARP(Reverse ARP)反向 地址轉換協議。 IP是網路層的核心,通過路由選擇將下一跳IP封裝後交給介面層。IP數據報是無連接服務 。 ICMP是網路層的補充,可以回送報文。用來檢測網路是否通暢。 Ping命令就是發送ICMP的echo包,通過回送的echo relay進行網路測試。 ARP是正向地址解析協議,通過已知的IP,尋找對應主機的MAC地址。 RARP是反向地址解析協議,通過MAC地址確定IP地址。比如無盤工作站和DHCP服務。 3、傳輸層 傳輸層協議主要是:傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協 議UDP(User Datagram rotocol)。 TCP是面向連接的通信協議,通過三次握手建立連接,通訊時完成時要拆除連接,由於TCP 是面向連接的所以只能用於點對點的通訊。 TCP提供的是一種可靠的數據流服務,採用「帶重傳的肯定確認」技術來實現傳輸的可靠 性。TCP還採用一種稱為「滑動窗口」的方式進行流量控制,所謂窗口實際表示接收能力,用 以限制發送方的發送速度。 UDP是面向無連接的通訊協議,UDP數據包括目的埠號和源埠號信息,由於通訊不需要 連接,所以可以實現廣播發送。 UDP通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出丟包現象,實際應用中要求 在程序員編程驗證。 4、應用層 應用層一般是面向用戶的服務。如FTP、TELNET、DNS、SMTP、POP3。 FTP(File Transmision Protocol)是文件傳輸協議,一般上傳下載用FTP服務,數據埠 是20H,控制埠是21H。 Telnet服務是用戶遠程登錄服務,使用23H埠,使用明碼傳送,保密性差、簡單方便。 DNS(Domain Name Service)是域名解析服務,提供域名到IP地址之間的轉換。 SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協議,用來控制信件的發送、中 轉。 POP3(Post Office Protocol 3)是郵局協議第3版本,用於接收郵件。 數據格式: 數據幀:幀頭+IP數據包+幀尾 (幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字) IP數據包:IP頭部+TCP數據信息 (IP頭包括源和目標主機IP地址、類型、生存期等) TCP數據信息:TCP頭部+實際數據 (TCP頭包括源和目標主機埠號、順序號、確認號、校 驗字等)

㈡ tcp ip數據包傳輸過程

「……3.A的默認網關R1接到A送來的乙太網幀,並搜索自已的ARP緩存……」
這句話也不一定:

R1收到A發來的包,先查看IP報頭,找到目的地址,看目標是否是直連可達的,然後才會搜索本地ARP緩存;

如果目標不在本地直連介面,則去查找路由表(而不是ARP緩存),然後送往下一跳路由器

㈢ TCP/IP是什麼意思

TCP/IP是一個互聯網通信協議。互聯網協議是一個網路通信模型,以及一整個網路傳輸協議家族,為互聯網的基礎通信架構。它常被通稱為TCP/IP協議族(英語:TCP/IP Protocol Suite,或TCP/IP Protocols),簡稱TCP/IP。

TCP / IP(傳輸控制協議/互聯網協議),也稱為互聯網協議套件,是萬維網的核心通信系統,它使每個連接互聯網的設備能夠同時與其他所有此類設備進行通信。

實質上,它是安裝在每台計算機上的計算機化語法(語言),用於公共(Internet)和專用(內部網和外部網)網路。該協議的發展使互聯網以及在線商務迅速發展。

因為該協議家族的兩個核心協議:TCP(傳輸控制協議)和IP(網際協議),為該家族中最早通過的標准。由於在網路通訊協議普遍採用分層的結構,當多個層次的協議共同工作時,類似計算機科學中的堆棧,因此又被稱為TCP/IP協議棧(英語:TCP/IP Protocol Stack) 。

這些協議最早發源於美國國防部(縮寫為DoD)的ARPA網項目,因此也被稱作DoD模型(DoD Model)。這個協議族由互聯網工程任務組負責維護。

(3)tcp網路協議如何找到下一跳擴展閱讀:

TCP/IP的運作:

TCP / IP是一個雙層程序:較高層(TCP)將消息內容反匯編成小的「數據包」,然後通過網際網路傳輸,由接收計算機的TCP重新組裝回消息的原始形式。

較低層(IP)扮演「地址管理器」的角色,並將每個數據包發送到正確的目的地。IP地址由網路中的每台計算機檢查,以確保根據需要轉發消息。

TCP / IP在客戶端,伺服器通信模型上運行,這意味著第一計算機(客戶端)的用戶向第二網路計算機(伺服器)發出服務請求,例如轉發網頁。

TCP / IP還依賴於點對點通信,這意味著通信在預定義的網路邊界內從一台主機移動到另一台主機。最後,TCP / IP被認為是無狀態的,因為每個請求都是新的,與之前的所有請求無關,使得所有人都可以自由地使用網路路徑。

電子商務企業需要熟悉的許多更高級別的應用程序利用和/或構建在TCP / IP上。這些應用程序構成了更高層的協議語言,並且通常與TCP / IP一起打包為單個「套件」。例子包括:

HTTP(Internet的超文本傳輸協議)。

FTP(互聯網的文件傳輸協議)。

Telnet,可以從遠程位置登錄計算機。

SMTP(簡單郵件傳輸協議)。

通過模擬電話數據機訪問互聯網將涉及使用兩種特殊協議之一:SLIP(串列線路互聯網協議)或PPP(點對點協議)。這些協議的功能是以一種形式「封裝」數據包,允許它們通過撥號電話連接發送到接入提供商的數據機。

UDP(用戶數據報協議)是TCP的替代方案,有時用於非常專業的目的。它使用超簡單的「無連接」傳輸,只需要最少量的協議。它主要用於在線應用程序之間的低延遲,容忍損失的連接。

用於交換路由器數據的TCP / IP相關協議包括:

ICMP(Internet控制消息協議)。

IGP(內部網關協議)。

EGP(外部網關協議)。

BGP(邊界網關協議)。

參考資料來源:網路-TCP/IP協議



㈣ tcp/ip協議在ISO 7層協議中的位置及上下層關系

TCP/IP協議是
網路介面層
物理層是定義物理介質的各種特性: 1、機械特性。 2、電子特性。 3、功能特性。 4、規程特性。 數據鏈路層是負責接收IP數據包並通過網路發送之,或者從網路上接收物理幀,抽出IP數據包,交給IP層。 常見的介面層協議有: Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。
網路層
負責相鄰計算機之間的通信。其功能包括三方面。 一、處理來自傳輸層的分組發送請求,收到請求後,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然後將數據報發往適當的網路介面。 二、處理輸入數據報:首先檢查其合法性,然後進行尋徑--假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報尚未到達信宿,則轉發該數據報。 三、處理路徑、流控、擁塞等問題。 網路層包括:IP(Internet Protocol)協議、ICMP(Internet Control Message Protocol) 控制報文協議、ARP(Address Resolution Protocol)地址轉換協議、RARP(Reverse ARP)反向地址轉換協議。 IP是網路層的核心,通過路由選擇將下一跳IP封裝後交給介面層。IP數據報是無連接服務。 ICMP是網路層的補充,可以回送報文。用來檢測網路是否通暢。 Ping命令就是發送ICMP的echo包,通過回送的echo relay進行網路測試。 ARP是正向地址解析協議,通過已知的IP,尋找對應主機的MAC地址。 RARP是反向地址解析協議,通過MAC地址確定IP地址。比如無盤工作站還有DHCP服務。
傳輸層
提供應用程序間的通信。其功能包括:一、格式化信息流;二、提供可靠傳輸。為實現後者,傳輸層協議規定接收端必須發回確認,並且假如分組丟失,必須重新發送。 傳輸層協議主要是:傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協議UDP(User Datagram protocol)。
應用層
向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網路其它主機上注冊的介面。TELNET會話提供了基於字元的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網路內機器間的文件拷貝功能。 應用層一般是面向用戶的服務。如FTP、TELNET、DNS、SMTP、POP3。 FTP(File Transfer Protocol)是文件傳輸協議,一般上傳下載用FTP服務,數據埠是20H,控制埠是21H。 Telnet服務是用戶遠程登錄服務,使用23H埠,使用明碼傳送,保密性差、簡單方便。 DNS(Domain Name Service)是域名解析服務,提供域名到IP地址之間的轉換。 SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協議,用來控制信件的發送、中轉。 POP3(Post Office Protocol 3)是郵局協議第3版本,用於接收郵件。
OSI協議是
物理層
物理層是OSI的第一層,它雖然處於最底層,卻是整個開放系統的基礎。物理層為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環境。 物理層的媒體包括架空明線、平衡電纜、光纖、無線信道等。通信用的互連設備指DTE和DCE間的互連設備。DTE即數據終端設備,又稱物理設備,如計算機、終端等都包括在內。而DCE則是數據通信設備或電路連接設備,如數據機等。數據傳輸通常是經過DTE-DCE,再經過DCE-DTE的路徑。互連設備指將DTE、DCE連接起來的裝置,如各種插頭、插座。LAN中的各種粗、細同軸電纜、T型接頭、插頭、接收器、發送器、中繼器等都屬物理層的媒體和連接器。 物理層的主要功能是:①為數據端設備提供傳送數據的通路,數據通路可以是一個物理媒體,也可以是多個物理媒體連接而成。一次完整的數據傳輸,包括激活物理連接、傳送數據和終止物理連接。所謂激活,就是不管有多少物理媒體參與,都要在通信的兩個數據終端設備間連接起來,形成一條通路。②傳輸數據。物理層要形成適合數據傳輸需要的實體,為數據傳送服務。一是要保證數據能在其上正確通過,二是要提供足夠的帶寬(帶寬是指每秒鍾內能通過的比特(Bit)數),以減少信道上的擁塞。傳輸數據的方式能滿足點到點,一點到多點,串列或並行,半雙工或全雙工,同步或非同步傳輸的需要。③完成物理層的一些管理工作。 涉及的協議有:RS-232,RS-449,X.21、V.35、ISDN、FDDI、IEEE802.3、IEEE802.4、IEEEE802.5等。
數據鏈路層
數據鏈路可以粗略地理解為數據通道。物理層要為終端設備間的數據通信提供傳輸介質及其連接。介質是長期的,連接是有生存期的。在連接生存期內,收發兩端可以進行不等的一次或多次數據通信。每次通信都要經過建立通信聯絡和拆除通信聯絡兩個過程。這種建立起來的數據收發關系就叫做數據鏈路。而在物理媒體上傳輸的數據難免受到各種不可靠因素的影響而產生差錯,為了彌補物理層上的不足,為上層提供無差錯的數據傳輸,就要能對數據進行檢錯和糾錯。數據鏈路的建立,拆除,對數據的檢錯,糾錯是數據鏈路層的基本任務。 鏈路層是為網路層提供數據傳送服務的,這種服務要依靠本層具備的功能來實現。鏈路層應具備如下功能: (1)鏈路連接的建立、拆除和分離; (2)幀定界和幀同步。鏈路層的數據傳輸單元是幀,協議不同,幀的長短和界面也有差別,但無論如何必須對幀進行定界; (3)順序控制,指對幀的收發順序的控制; (4)差錯檢測和恢復。還有鏈路標識,流量控制等等。差錯檢測多用方陣碼校驗和循環碼校驗來檢測信道上數據的誤碼,而幀丟失等用序號檢測。各種錯誤的恢復則常靠反饋重發技術來完成。 獨立的鏈路產品中最常見的當屬網卡,網橋也是鏈路產品。數據鏈路層將本質上不可靠的傳輸媒體變成可靠的傳輸通路提供給網路層。在IEEE802.3情況下,數據鏈路層分成了兩個子層,一個是邏輯鏈路控制,另一個是媒體訪問控制。圖所示為IEEE802.3LAN體系結構。 其中 AUI——連接單元介面 PMA——物理媒體連接 MAU——媒體連接單元 PLS——物理信令 MDI——媒體相關介面 涉及的協議有:HDLC、LAP-B、ISO8802等。
網路層
網路層的產生也是網路發展的結果。在聯機系統和線路交換的環境中,網路層的功能沒有太大意義。當數據終端增多時。它們之間有中繼設備相連,此時會出現一台終端要求不只是與惟一的一台而是能和多台終端通信的情況,這就產生了把任意兩台數據終端設備的數據鏈接起來的問題,也就是路由或者叫尋徑。另外,當一條物理信道建立之後,被一對用戶使用,往往有許多空閑時間被浪費掉。人們自然會希望讓多對用戶共用一條鏈路,為解決這一問題就出現了邏輯信道技術和虛擬電路技術。 網路層為建立網路連接和為上層提供服務,應具備以下主要功能: (1)路由選擇和中繼; (2)激活,終止網路連接; (3)在一條數據鏈路上復用多條網路連接,多採取時分復用技術; (4)檢測與恢復; (5)排序,流量控制; (6)服務選擇; (7)網路管理。 涉及的協議有:CCITT X.213、ISO8878、X.223、ISO9542等。
傳輸層
傳輸層是兩台計算機經過網路進行數據通信時,第一個端到端的層次,具有緩沖作用。當網路層服務質量不能滿足要求時,它將服務加以提高,以滿足高層的要求;當網路層服務質量較好時,它只用很少的工作。傳輸層還可進行復用,即在一個網路連接上創建多個邏輯連接。傳輸層也稱為運輸層。傳輸層只存在於端開放系統中,是介於低3層通信子網系統和高3層之間的一層,但是很重要的一層。因為它是源端到目的端對數據傳送進行控制從低到高的最後一層。 有一個既存事實,即世界上各種通信子網在性能上存在著很大差異。例如電話交換網,分組交換網,公用數據交換網,區域網等通信子網都可互連,但它們提供的吞吐量,傳輸速率,數據延遲通信費用各不相同。對於會話層來說,卻要求有一性能恆定的界面。傳輸層就承擔了這一功能。它採用分流/合流,復用/介復用技術來調節上述通信子網的差異,使會話層感受不到。 此外傳輸層還要具備差錯恢復,流量控制等功能,以此對會話層屏蔽通信子網在這些方面的細節與差異。傳輸層面對的數據對象已不是網路地址和主機地址,而是會話層的界面埠。上述功能的最終目的是為會話提供可靠的,無誤的數據傳輸。傳輸層的服務一般要經歷傳輸連接建立、數據傳送、傳輸連接釋放3個階段才算完成一個完整的服務過程。而在數據傳送階段又分為一般數據傳送和加速數據傳送兩種。 涉及協議有:ISO8073、ISO8602、TP0、TP1、TP2、TP3、TP4等。
會話層
會話層提供的服務是應用建立和維持會話,並能使會話獲得同步。會話層使用校驗點可使通信會話在通信失效時從校驗點繼續恢復通信。這種能力對於傳送大的文件極為重要。會話層,表示層,應用層構成開放系統的高3層,面向應用進程提供分布處理、對話管理、信息表示、檢查和恢復與語義上下文有關的傳送差錯等。為給兩個對等會話服務用戶建立一個會話連接,應該做如下幾項工作: (1) 將會話地址映射為運輸地址; (2) 數據傳輸階段; (3)連接釋放。 涉及協議有:ISO8326、CCITT X.215、ISO8327DENG 。
表示層
表示層的作用之一是為異種機通信提供一種公共語言,以便能進行互操作。這種類型的服務之所以需要,是因為不同的計算機體系結構使用的數據表示法不同。例如,IBM主機使用EBCDIC編碼,而大部分PC機使用的是ASCII碼。在這種情況下,便需要會話層來完成這種轉換。通過前面的介紹,我們可以看出,會話層以下5層完成了端到端的數據傳送,並且是可靠的、無差錯的傳送。但是數據傳送只是手段而不是目的,最終是要實現對數據的使用。由於各種系統對數據的定義並不完全相同,最易明白的例子是鍵盤——其上的某些鍵的含義在許多系統中都有差異。這自然給利用其它系統的數據造成了障礙。表示層和應用層就擔負了消除這種障礙的任務。 涉及協議有:APDU、ISO8824、ISO8825、CCITT X.209、CCITT X.216等。
應用層
應用層向應用程序提供服務,這些服務按其向應用程序提供的特性分成組,並稱為服務元素。有些可為多種應用程序共同使用,有些則為較少的一類應用程序使用。應用層是開放系統的最高層,是直接為應用進程提供服務的。其作用是在實現多個系統應用進程相互通信的同時,完成一系列業務處理所需的服務。 涉及協議有:ISO8649、ISO9066、ISO9072、ISO9804、CCITT X.227、CCITT X.228、CCITT X.229、CCITT X.247、CMIP、CMIS、CCITT X.500等。

㈤ TCP/IP、SIP協議

TCP/IP協議 (傳輸控制協議/網間協議)

TCP/IP 協議集確立了 Internet 的技術基礎。TCP/IP 的發展始於美國 DOD (國防部)方案。 IAB (Internet 架構委員會)的下屬工作組 IETF (Internet 工程任務組)研發了其中多數協議。 IAB 最初由美國政府發起,如今轉變為公開而自治的機構。IAB 協同研究和開發 TCP/IP 協議集的底層結構,並引導著 Internet 的發展。TCP/IP 協議集記錄在請求註解(RFC)文件中,RFC 文件均由 IETF 委員會起草、討論、傳閱及核准。所有這些文件都是公開且免費的,且能在 IETF 網站上列出的參考文獻中找到。
TCP/IP 協議覆蓋了 OSI 網路結構七層模型中的六層,並支持從交換(第二層)諸如多協議標記交換,到應用程序諸如郵件服務方面的功能。TCP/IP 的核心功能是定址和路由選擇(網路層的 IP/IPV6 )以及傳輸控制(傳輸層的 TCP、UDP)。

IP (網際協議)

在網路通信中,網路組件的定址對信息的路由選擇和傳輸來說是相當關鍵的。相同網路中的兩台機器間的消息傳輸有各自的技術協定。LAN 是通過提供6位元組的唯一標識符(「MAC」地址)在機器間發送消息的。SNA 網路中的每台機器都有一個邏輯單元及與其相應的網路地址。DECNET、AppleTalk 和 Novell IPX 均有一個用來分配編號到各個本地網和工作站的配置。

除了本地或特定提供商的網路地址,IP 為世界范圍內的各個網路設備都分配了一個唯一編號,即 IP 地址。IPV4 的 IP 地址為4位元組,按照慣例,將每個位元組轉化成十進制(0-255)並以點分隔各位元組。IPV6 的 IP 地址已經增加到16位元組。關於 IP 和 IPV6 協議的詳細說明,在相關文件中再另作介紹。

TCP (傳輸控制協議)

通過序列化應答和必要時重發數據包,TCP 為應用程序提供了可靠的傳輸流和虛擬連接服務。TCP 主要提供數據流轉送,可靠傳輸,有效流控制,全雙工操作和多路傳輸技術。可查閱 TCP 部分獲取更多詳細資料。

在下面的 TCP/IP 協議表格中,我們根據協議功能和其在 OSI 七層網路通信參考模型的映射關系將其全部列出。然而,TCP/IP 並不完全遵循 OSI 模型,例如:大多數 TCP/IP 應用程序是直接在傳輸層協議 TCP 和 UDP 上運行,而不涉及其中的表示層和會話層。

主要協議表

IP TCP UDP IPsec HTTP POP3 SNMP MPLS DNS SMTP

應用層(Application Layer)

--------------------------------------------------------------------------------

BOOTP:引導協議 (BOOTP:Bootstrap Protocol)
DCAP:數據轉接客戶訪問協議 (DCAP:Data Link Switching Client Access Protocol)
DHCP:動態主機配置協議 (DHCP:Dynamic Host Configuration Protocol)
DNS:域名系統(服務)系統 (DNS:Domain Name Systems)
Finger:用戶信息協議 (Finger:User Information Protocol)
FTP:文件傳輸協議 (FTP:File Transfer Protocol)
HTTP:超文本傳輸協議 (HTTP:Hypertext Transfer Protocol)
S-HTTP:安全超文本傳輸協議 (S-HTTP:Secure Hypertext Transfer Protocol)
IMAP & IMAP4:信息訪問協議 & 信息訪問協議第4版 (IMAP & IMAP4:Internet Message Access Protocol)
IPDC:IP 設備控制 (IPDC:IP Device Control)
IRCP/IRC:網際網路在線聊天協議 (IRCP/IRC:Internet Relay Chat Protocol)
LDAP:輕量級目錄訪問協議 (LDAP:Lightweighted Directory Access Protocol)
MIME/S-MIME/Secure MIME:多用途網際郵件擴充協議 (MIME/S-MIME/Secure MIME:Multipurpose Internet Mail Extensions)
NAT:網路地址轉換 (NAT:Network Address Translation)
NNTP:網路新聞傳輸協議 (NNTP:Network News Transfer Protocol)
NTP:網路時間協議 (NTP:Network Time Protocol)
POP&POP3:郵局協議 (POP & POP3:Post Office Protocol)
RLOGIN:遠程登錄命令 (RLOGIN:Remote Login in Unix)
RMON:遠程監控 (RMON:Remote Monitoring MIBs in SNMP)
RWhois:遠程目錄訪問協議 (RWhois Protocol)
SLP:服務定位協議 (SLP:Service Location Protocol)
SMTP:簡單郵件傳輸協議 (SMTP:Simple Mail Transfer Protocol)
SNMP:簡單網路管理協議 (SNMP:Simple Network Management Protocol)
SNTP:簡單網路時間協議 (SNTP:Simple Network Time Protocol)
TELNET:TCP/IP 終端模擬協議 (TELNET:TCP/IP Terminal Emulation Protocol)
TFTP:簡單文件傳輸協議 (TFTP:Trivial File Transfer Protocol)
URL:統一資源管理 (URL:Uniform Resource Locator)
X-Window/X Protocol:X 視窗 或 X 協議(X-Window:X Window or X Protocol or X System)

表示層(Presentation Layer)

--------------------------------------------------------------------------------

LPP:輕量級表示協議 (LPP:Lightweight Presentation Protocol)

會話層(Session Layer)

--------------------------------------------------------------------------------

RPC:遠程過程調用協議 (RPC:Remote Procere Call protocol)

傳輸層(Transport Layer)

--------------------------------------------------------------------------------

ITOT:基於TCP/IP 的 ISO 傳輸協議 (ITOT:ISO Transport Over TCP/IP)
RDP:可靠數據協議 (RDP:Reliable Data Protocol)
RUDP:可靠用戶數據報協議 (RUDP:Reliable UDP)
TALI:傳輸適配層介面 (TALI:Transport Adapter Layer Interface)
TCP:傳輸控制協議 (TCP:Transmission Control Protocol)
UDP:用戶數據報協議 (UDP:User Datagram Protocol)
Van Jacobson:壓縮 TCP 協議 (Van Jacobson:Compressed TCP)

網路層(Network Layer)

--------------------------------------------------------------------------------

路由選擇(Routing)
BGP/BGP4:邊界網關協議 (BGP/BGP4:Border Gateway Protocol)
EGP:外部網關協議(EGP:Exterior Gateway Protocol)
IP:網際協議 (IP:Internet Protocol)
IPv6:網際協議第6版 (IPv6:Internet Protocol version 6)
ICMP/ICMPv6:Internet 信息控制協議 (ICMP/ICMPv6:Internet Control Message Protocol)
IRDP:ICMP 路由器發現協議 (IRDP:ICMP Router Discovery Protocol)
Mobile IP: 移動 IP (Mobile IP:IP Mobility Support Protocol for IPv4 & IPv6)
NARP:NBMA 地址解析協議 (NARP:NBMA Address Resolution Protocol)
NHRP:下一跳解析協議 (NHRP:Next Hop Resolution Protocol)
OSPF:開放最短路徑優先 (OSPF:Open Shortest Path First)
RIP/RIP2:路由選擇信息協議 (RIP/RIP2:Routing Information Protocol)
RIPng:路由選擇信息協議下一代 (RIPng:RIP for IPv6)
RSVP:資源預留協議 (RSVP:Resource ReSerVation Protocol)
VRRP:虛擬路由器冗餘協議 (VRRP:Virtual Router Rendancy Protocol)

組播(Multicast)
BGMP:邊界網關組播協議 (BGMP:Border Gateway Multicast Protocol)
DVMRP:距離矢量組播路由協議 (DVMRP:Distance Vector Multicast Routing Protocol)
IGMP:Internet 組管理協議 (IGMP:Internet Group Management Protocol)
MARS:組播地址解析服務 (MARS:Multicast Address Resolution Server)
MBGP:組播協議邊界網關協議 (MBGP:Multiprotocol BGP)
MOSPF:組播OSPF (MOSPF:Multicast OSPF)
MSDP:組播源發現協議 (MSDP:Multicast Source Discovery Protocol)
MZAP:組播區域范圍公告協議 (MZAP:Multicast Scope Zone Announcement Protocol)
PGM:實際通用組播協議 (PGM:Pragmatic General Multicast Protocol)
PIM-DM:密集模式獨立組播協議 (PIM-DM:Protocol Independent Multicast - Dense Mode)
PIM-SM:稀疏模式獨立組播協議 (PIM-SM:Protocol Independent Multicast - Sparse Mode)

MPLS 協議(MPLS Protocols)
CR-LDP:基於路由受限標簽分發協議 (CR-LDP: Constraint-Based Label Distribution Protocol)
GMPLS:通用多協議標志交換協議 (GMPLS:Generalized Multiprotocol Label Switching)
LDP:標簽分發協議 (LDP:Label Distribution Protocol)
MPLS:多協議標簽交換 (MPLS:Multi-Protocol Label Switching)
RSVP-TE:基於流量工程擴展的資源預留協議 (RSVP-TE:Resource ReSerVation Protocol-Traffic Engineering)

數據鏈路層(Data Link Layer)

--------------------------------------------------------------------------------

ARP and InARP:地址轉換協議和逆向地址轉換協議 (ARP and InARP:Address Resolution Protocol and Inverse ARP)
IPCP and IPv6CP:IP控制協議和IPV6控制協議 (IPCP and IPv6CP:IP Control Protocol and IPv6 Control Protocol)
RARP:反向地址轉換協議 (RARP:Reverse Address Resolution Protocol)
SLIP:串形線路 IP (SLIP:Serial Line IP)

SIP
介紹

新一代的服務

歷史回顧

SIP 的優點:類似 Web 的可擴展開放通信

SIP 會話構成

介紹

通信提供商及其合作夥伴和用戶越來越渴求新一代基於 IP 的服務。現在有了 SIP(會話啟動協議),一解燃眉之急。SIP 是不到十年前在計算機科學實驗室誕生的一個想法。它是第一個適合各種媒體內容而實現多用戶會話的協議,現在已成了 Internet 工程任務組 (IETF) 的規范。

今天,越來越多的運營商、CLEC(競爭本地運營商)和 ITSP(IP 電話服務商)都在提供基於 SIP 的服務,如市話和長途電話技術、在線信息和即時消息、IP Centrex/Hosted PBX、語音簡訊、push-to-talk(按鍵通話)、多媒體會議等等。獨立軟體供應商 (ISV) 正在開發新的開發工具,用來為運營商網路構建基於 SIP 的應用程序以及 SIP 軟體。網路設備供應商 (NEV) 正在開發支持 SIP 信令和服務的硬體。現在,有眾多 IP 電話、用戶代理、網路代理伺服器、VOIP 網關、媒體伺服器和應用伺服器都在使用 SIP。

SIP 從類似的權威協議--如 Web 超文本傳輸協議 (HTTP) 格式化協議以及簡單郵件傳輸協議 (SMTP) 電子郵件協議--演變而來並且發展成為一個功能強大的新標准。但是,盡管 SIP 使用自己獨特的用戶代理和伺服器,它並非自成一體地封閉工作。SIP 支持提供融合的多媒體服務,與眾多負責身份驗證、位置信息、語音質量等的現有協議協同工作。

本白皮書對 SIP 及其作用進行了概括性的介紹。它還介紹了 SIP 從實驗室開發到面向市場的過程。本白皮書說明 SIP 提供哪些服務以及正在實施哪些促進發展的方案。它還詳細介紹了 SIP 與各種協議不同的重要特點並說明如何建立 SIP 會話。

返回頁首

新一代的服務

SIP 較為靈活,可擴展,而且是開放的。它激發了 Internet 以及固定和移動 IP 網路推出新一代服務的威力。SIP 能夠在多台 PC 和電話上完成網路消息,模擬 Internet 建立會話。

與存在已久的國際電信聯盟 (ITU) SS7 標准(用於呼叫建立)和 ITU H.323 視頻協議組合標准不同,SIP 獨立工作於底層網路傳輸協議和媒體。它規定一個或多個參與方的終端設備如何能夠建立、修改和中斷連接,而不論是語音、視頻、數據或基於 Web 的內容。

SIP 大大優於現有的一些協議,如將 PSTN 音頻信號轉換為 IP 數據包的媒體網關控制協議 (MGCP)。因為 MGCP 是封閉的純語音標准,所以通過信令功能對其進行增強比較復雜,有時會導致消息被破壞或丟棄,從而妨礙提供商增加新的服務。而使用 SIP,編程人員可以在不影響連接的情況下在消息中增加少量新信息。

例如,SIP 服務提供商可以建立包含語音、視頻和聊天內容的全新媒體。如果使用 MGCP、H.323 或 SS7 標准,則提供商必須等待可以支持這種新媒體的協議新版本。而如果使用 SIP,盡管網關和設備可能無法識別該媒體,但在兩個大陸上設有分支機構的公司可以實現媒體傳輸。

而且,因為 SIP 的消息構建方式類似於 HTTP,開發人員能夠更加方便便捷地使用通用的編程語言(如 Java)來創建應用程序。對於等待了數年希望使用 SS7 和高級智能網路 (AIN) 部署呼叫等待、主叫號碼識別以及其他服務的運營商,現在如果使用 SIP,只需數月時間即可實現高級通信服務的部署。

這種可擴展性已經在越來越多基於 SIP 的服務中取得重大成功。Vonage 是針對用戶和小企業用戶的服務提供商。它使用 SIP 向用戶提供 20,000 多條數字市話、長話及語音郵件線路。Deltathree 為服務提供商提供 Internet 電話技術產品、服務和基礎設施。它提供了基於 SIP 的 PC 至電話解決方案,使 PC 用戶能夠呼叫全球任何一部電話。Denwa Communications 在全球范圍內批發語音服務。它使用 SIP 提供 PC 至 PC 及電話至 PC 的主叫號碼識別、語音郵件,以及電話會議、統一通信、客戶管理、自配置和基於 Web 的個性化服務。

某些權威人士預計,SIP 與 IP 的關系將發展成為類似 SMTP 和 HTTP 與 Internet 的關系,但也有人說它可能標志著 AIN 的終結。迄今為止,3G 界已經選擇 SIP 作為下一代移動網路的會話控制機制。Microsoft 已經選擇 SIP 作為其實時通信策略並在 Microsoft XP、Pocket PC 和 MSN Messenger 中進行了部署。Microsoft 同時宣布 CE.net 的下一個版本將使用基於 SIP 的 VoIP 應用介面層,並承諾向用戶 PC 提供基於 SIP 的語音和視頻呼叫。

另外,MCI 正在使用 SIP 向 IP 通信用戶部署高級電話技術服務。用戶將能夠通知主叫方自己是否有空以及首選的通信方式,如電子郵件、電話或即時消息。利用在線信息,用戶還能夠即時建立聊天會話和召開音頻會議。使用 SIP 將不斷地實現各種功能。

返回頁首

歷史回顧

SIP 出現於二十世紀九十年代中期,源於哥倫比亞大學計算機系副教授 Henning Schulzrinne 及其研究小組的研究。Schulzrinne 教授除與人共同提出通過 Internet 傳輸實時數據的實時傳輸協議 (RTP) 外,還與人合作編寫了實時流傳輸協議 (RTSP) 標准提案,用於控制音頻視頻內容在 Web 上的流傳輸。

Schulzrinne 本來打算編寫多方多媒體會話控制 (MMUSIC) 標准。1996 年,他向 IETF 提交了一個草案,其中包含了 SIP 的重要內容。1999 年,Shulzrinne 在提交的新標准中刪除了有關媒體內容方面的無關內容。隨後,IETF 發布了第一個 SIP 規范,即 RFC 2543。雖然一些供應商表示了擔憂,認為 H.323 和 MGCP 協議可能會大大危及他們在 SIP 服務方面的投資,IETF 繼續進行這項工作,於 2001 年發布了 SIP 規范 RFC 3261。

RFC 3261 的發布標志著 SIP 的基礎已經確立。從那時起,已發布了幾個 RFC 增補版本,充實了安全性和身份驗證等領域的內容。例如,RFC 3262 對臨時響應的可靠性作了規定。RFC 3263 確立了 SIP 代理伺服器的定位規則。RFC 3264 提供了提議/應答模型,RFC 3265 確定了具體的事件通知。

早在 2001 年,供應商就已開始推出基於 SIP 的服務。今天,人們對該協議的熱情不斷高漲。Sun Microsystems 的 Java Community Process 等組織正在使用通用的 Java 編程語言定義應用編程介面 (API),以便開發商能夠為服務提供商和企業構建 SIP 組件和應用程序。最重要的是,越來越多的競爭者正在藉助前途光明的新服務進入 SIP 市場。SIP 正在成為自 HTTP 和 SMTP 以來最為重要的協議之一。

返回頁首

SIP 的優點:類似 Web 的可擴展開放通信

使用 SIP,服務提供商可以隨意選擇標准組件,快速駕馭新技術。不論媒體內容和參與方數量,用戶都可以查找和聯系對方。SIP 對會話進行協商,以便所有參與方都能夠就會話功能達成一致以及進行修改。它甚至可以添加、刪除或轉移用戶。

不過,SIP

不是萬能的。它既不是會話描述協議,也不提供會議控制功能。為了描述消息內容的負載情況和特點,SIP 使用 Internet 的會話描述協議 (SDP) 來描述終端設備的特點。SIP 自身也不提供服務質量 (QoS),它與負責語音質量的資源保留設置協議 (RSVP) 互操作。它還與若干個其他協議進行協作,包括負責定位的輕型目錄訪問協議 (LDAP)、負責身份驗證的遠程身份驗證撥入用戶服務 (RADIUS) 以及負責實時傳輸的 RTP 等多個協議。

SIP 規定了以下基本的通信要求:

1. 用戶定位服務

2. 會話建立

3. 會話參與方管理

4. 特點的有限確定

SIP 的一個重要特點是它不定義要建立的會話的類型,而只定義應該如何管理會話。有了這種靈活性,也就意味著 SIP 可以用於眾多應用和服務中,包括互動式游戲、音樂和視頻點播以及語音、視頻和 Web 會議。

下面是 SIP 在新的信令協議中出類拔萃的一些其他特點

SIP 消息是基於文本的,因而易於讀取和調試。新服務的編程更加簡單,對於設計人員而言更加直觀。

SIP 如同電子郵件客戶機一樣重用 MIME 類型描述,因此與會話相關的應用程序可以自動啟動。

SIP 重用幾個現有的比較成熟的 Internet 服務和協議,如 DNS、RTP、RSVP 等。不必再引入新服務對 SIP 基礎設施提供支持,因為該基礎設施很多部分已經到位或現成可用。

對 SIP 的擴充易於定義,可由服務提供商在新的應用中添加,不會損壞網路。網路中基於 SIP 的舊設備不會妨礙基於 SIP 的新服務。例如,如果舊 SIP 實施不支持新的 SIP 應用所用的方法/標頭,則會將其忽略。

SIP 獨立於傳輸層。因此,底層傳輸可以是採用 ATM 的 IP。SIP 使用用戶數據報協議 (UDP) 以及傳輸控制協議 (TCP),將獨立於底層基礎設施的用戶靈活地連接起來。

SIP 支持多設備功能調整和協商。如果服務或會話啟動了視頻和語音,則仍然可以將語音傳輸到不支持視頻的設備,也可以使用其他設備功能,如單向視頻流傳輸功能。

返回頁首

SIP 會話構成

SIP 會話使用多達四個主要組件:SIP 用戶代理、SIP 注冊伺服器、SIP 代理伺服器和 SIP 重定向伺服器。這些系統通過傳輸包括了 SDP 協議(用於定義消息的內容和特點)的消息來完成 SIP 會話。下面概括性地介紹各個 SIP 組件及其在此過程中的作用。

SIP 用戶代理 (UA) 是終端用戶設備,如用於創建和管理 SIP 會話的行動電話、多媒體手持設備、PC、PDA 等。用戶代理客戶機發出消息。用戶代理伺服器對消息進行響應。

SIP 注冊伺服器是包含域中所有用戶代理的位置的資料庫。在 SIP 通信中,這些伺服器會檢索參與方的 IP 地址和其他相關信息,並將其發送到 SIP 代理伺服器。

SIP 代理伺服器接受 SIP UA 的會話請求並查詢 SIP 注冊伺服器,獲取收件方 UA 的地址信息。然後,它將會話邀請信息直接轉發給收件方 UA(如果它位於同一域中)或代理伺服器(如果 UA 位於另一域中)。

SIP 重定向伺服器允許 SIP 代理伺服器將 SIP 會話邀請信息定向到外部域。SIP 重定向伺服器可以與 SIP 注冊伺服器和 SIP 代理伺服器同在一個硬體上。

以下幾個情景說明 SIP 組件之間如何進行協調以在同一域和不同域中的 UA 之間建立 SIP 會話:

在同一域中建立 SIP 會話

下圖說明了在預訂同一個 ISP 從而使用同一域的兩個用戶之間建立 SIP 會話的過程。用戶 A 使用 SIP 電話。用戶 B 有一台 PC,運行支持語音和視頻的軟客戶程序。加電後,兩個用戶都在 ISP 網路中的 SIP 代理伺服器上注冊了他們的空閑情況和 IP 地址。用戶 A 發起此呼叫,告訴 SIP 代理伺服器要聯系用戶 B。然後,SIP 代理伺服器向 SIP 注冊伺服器發出請求,要求提供用戶 B 的 IP 地址,並收到用戶 B 的 IP 地址。SIP 代理伺服器轉發用戶 A 與用戶 B 進行通信的邀請信息(使用 SDP),包括用戶 A 要使用的媒體。用戶 B 通知 SIP 代理伺服器可以接受用戶 A 的邀請,且已做好接收消息的准備。SIP 代理伺服器將此消息傳達給用戶 A,從而建立 SIP 會話。然後,用戶創建一個點到點 RTP 連接,實現用戶間的交互通信。

1.呼叫用戶 B

2.查詢捻沒?B 在哪裡??br> 3.響應捻沒?B 的 SIP 地址?br> 4.摯�頂呼叫

5. 響應

6. 響應

7. 多媒體通道已建立

返回頁首

在不同的域中建立 SIP 會話

本情景與第一種情景的不同之處如下。用戶 A 邀請正在使用多媒體手持設備的用戶 B 進行 SIP 會話時,域 A 中的 SIP 代理伺服器辨別出用戶 B 不在同一域中。然後,SIP 代理伺服器在 SIP 重定向伺服器上查詢用戶 B 的 IP 地址。SIP 重定向伺服器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP 重定向伺服器將用戶 B 的聯系信息反饋給 SIP 代理伺服器,該伺服器再將 SIP 會話邀請信息轉發給域 B 中的 SIP 代理伺服器。域 B 中的 SIP 代理伺服器將用戶 A 的邀請信息發送給用戶 B。用戶 B 再沿邀請信息經由的同一路徑轉發接受邀請的信息。

1. 呼叫用戶 B 2. 詢問撐胰綰謂油ㄓ?B 中的用戶 B?? 3. 響應摯�碸刂破韉撓虻刂窋 4. 摯�頂呼叫域 B 的 SIP 代理 5. 查詢捻沒?B 在哪裡?? 6. 用戶 B 的地址 7. 代理呼叫 8. 響應 9. 響應 10.響應 11.多媒體通道已建立

無縫、靈活、可擴展:展望 SIP 未來

SIP 能夠連接使用任何 IP 網路(有線 LAN 和 WAN、公共 Internet 骨幹網、移動 2.5G、3G 和 Wi-Fi)和任何 IP 設備(電話、PC、PDA、移動手持設備)的用戶,從而出現了眾多利潤豐厚的新商機,改進了企業和用戶的通信方式。基於 SIP 的應用(如 VOIP、多媒體會議、push-to-talk(按鍵通話)、定位服務、在線信息和 IM)即使單獨使用,也會為服務提供商、ISV、網路設備供應商和開發商提供許多新的商機。不過,SIP 的根本價值在於它能夠將這些功能組合起來,形成各種更大規模的無縫通信服務。

使用 SIP,服務提供商及其合作夥伴可以定製和提供基於 SIP 的組合服務,使用戶可以在單個通信會話中使用會議、Web 控制、在線信息、IM 等服務。實際上,服務提供商可以創建一個滿足多個最終用戶需求的靈活應用程序組合,而不是安裝和支持依賴於終端設備有限特定功能或類型的單一分散的應用程序。

通過在單一、開放的標准 SIP 應用架構下合並基於 IP 的通信服務,服務提供商可以大大降低為用戶設計和部署基於 IP 的新的創新性託管服務的成本。它是 SIP 可擴展性促進本行業和市場發展的強大動力,是我們所有人的希望所在。

㈥ 什麼是路由下一跳地址,能解釋詳細點

路由下一跳地址就是網關的IP地址。網關的IP地址是具有路由功能的設備的IP地址,具有路由功能的設備有路由器、啟用了路由協議的伺服器(實質上相當於一台路由器)、代理伺服器(也相當於一台路由器)。這樣一來就有以下兩種設置方式:

1、手動設置適用於電腦數量比較少、TCP/IP參數基本不變的情況,比如只有幾台到十幾台電腦。這種方法需要在聯入網路的每台電腦上設置「默認網關」,非常費勁。一旦因為遷移等原因導致必須修改默認網關的IP地址,就會給網管帶來很大的麻煩,所以不推薦使用。

2、自動設置適用於網路規模較大、TCP/IP參數有可能變動的情況,即利用DHCP伺服器來自動給網路中的電腦分配IP地址、子網掩碼和默認網關。這樣做的好處是一旦網路的默認網關發生了變化時,只要更改了DHCP伺服器中默認網關的設置,那麼網路中所有的電腦就均獲得了新的默認網關的IP地址。

(6)tcp網路協議如何找到下一跳擴展閱讀

路由下一跳地址的網關性質

1、網關又稱網間連接器、協議轉換器。網關在網路層以上實現網路互連,是最復雜的網路互連設備,僅用於兩個高層協議不同的網路互連。

2、網關既可以用於廣域網互連,也可以用於區域網互連。 網關是一種充當轉換重任的計算機系統或設備。

3、在使用不同的通信協議、數據格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。與網橋只是簡單地傳達信息不同,網關對收到的信息要重新打包,以適應目的系統的需求。

4、當然與此同時,網關也可以提供過濾和安全功能。大多數網關運行在OSI這個7層協議的頂層——應用層。

㈦ 路由器中的下一跳是什麼意思,請針對性講解下,謝謝.

路由下一跳地址意思就是網關的IP地址。

網關的IP地址是具有路由功能的設備的IP地址。 具有路由功能的設備包括路由器,啟用了路由協議的伺服器(基本上等同於路由器)和代理伺服器(也等同於路由器)。

手動設置適用於計算機數量相對較少且TCP / IP參數基本不變的情況,例如,只有幾到十幾台計算機。 此方法在連接到網路的每台計算機上都需要一個「默認網關」。 一旦由於遷移等原因必須修改默認網關的IP地址,將給網路管理帶來麻煩。

(7)tcp網路協議如何找到下一跳擴展閱讀:

路由下一跳地址的網關性質:

1、網關也稱為網路連接器,以及協議轉換器。 網關實現網路層以上的網路互連,是最復雜的網路互連設備,僅用於具有不同高級協議的兩個網路的互連。

2、網關可用於WAN互連和LAN互連。 網關是充當繁重轉換任務的計算機系統或設備。

3、網關是使用不同通信協議,數據格式或語言的兩個系統,甚至具有完全不同的體系結構的系統之間的轉換器。 與僅傳遞信息的網橋不同,網關必須重新包裝接收到的信息,以滿足目標系統的需求。

㈧ 關於 Linux 網路,你必須知道這些

我們一起學習了文件系統和磁碟 I/O 的工作原理,以及相應的性能分析和優化方法。接下來,我們將進入下一個重要模塊—— Linux 的網路子系統。

由於網路處理的流程最復雜,跟我們前面講到的進程調度、中斷處理、內存管理以及 I/O 等都密不可分,所以,我把網路模塊作為最後一個資源模塊來講解。

同 CPU、內存以及 I/O 一樣,網路也是 Linux 系統最核心的功能。網路是一種把不同計算機或網路設備連接到一起的技術,它本質上是一種進程間通信方式,特別是跨系統的進程間通信,必須要通過網路才能進行。隨著高並發、分布式、雲計算、微服務等技術的普及,網路的性能也變得越來越重要。

說到網路,我想你肯定經常提起七層負載均衡、四層負載均衡,或者三層設備、二層設備等等。那麼,這里說的二層、三層、四層、七層又都是什麼意思呢?

實際上,這些層都來自國際標准化組織制定的開放式系統互聯通信參考模型(Open System Interconnection Reference Model),簡稱為 OSI 網路模型。

但是 OSI 模型還是太復雜了,也沒能提供一個可實現的方法。所以,在 Linux 中,我們實際上使用的是另一個更實用的四層模型,即 TCP/IP 網路模型。

TCP/IP 模型,把網路互聯的框架分為應用層、傳輸層、網路層、網路介面層等四層,其中,

為了幫你更形象理解 TCP/IP 與 OSI 模型的關系,我畫了一張圖,如下所示:

當然了,雖說 Linux 實際按照 TCP/IP 模型,實現了網路協議棧,但在平時的學習交流中,我們習慣上還是用 OSI 七層模型來描述。比如,說到七層和四層負載均衡,對應的分別是 OSI 模型中的應用層和傳輸層(而它們對應到 TCP/IP 模型中,實際上是四層和三層)。

OSI引入了服務、介面、協議、分層的概念,TCP/IP借鑒了OSI的這些概念建立TCP/IP模型。

OSI先有模型,後有協議,先有標准,後進行實踐;而TCP/IP則相反,先有協議和應用再提出了模型,且是參照的OSI模型。

OSI是一種理論下的模型,而TCP/IP已被廣泛使用,成為網路互聯事實上的標准。

有了 TCP/IP 模型後,在進行網路傳輸時,數據包就會按照協議棧,對上一層發來的數據進行逐層處理;然後封裝上該層的協議頭,再發送給下一層。

當然,網路包在每一層的處理邏輯,都取決於各層採用的網路協議。比如在應用層,一個提供 REST API 的應用,可以使用 HTTP 協議,把它需要傳輸的 JSON 數據封裝到 HTTP 協議中,然後向下傳遞給 TCP 層。

而封裝做的事情就很簡單了,只是在原來的負載前後,增加固定格式的元數據,原始的負載數據並不會被修改。

比如,以通過 TCP 協議通信的網路包為例,通過下面這張圖,我們可以看到,應用程序數據在每個層的封裝格式。

這些新增的頭部和尾部,增加了網路包的大小,但我們都知道,物理鏈路中並不能傳輸任意大小的數據包。網路介面配置的最大傳輸單元(MTU),就規定了最大的 IP 包大小。在我們最常用的乙太網中,MTU 默認值是 1500(這也是 Linux 的默認值)。

一旦網路包超過 MTU 的大小,就會在網路層分片,以保證分片後的 IP 包不大於 MTU 值。顯然,MTU 越大,需要的分包也就越少,自然,網路吞吐能力就越好。

理解了 TCP/IP 網路模型和網路包的封裝原理後,你很容易能想到,Linux 內核中的網路棧,其實也類似於 TCP/IP 的四層結構。如下圖所示,就是 Linux 通用 IP 網路棧的示意圖:

我們從上到下來看這個網路棧,你可以發現,

這里我簡單說一下網卡。網卡是發送和接收網路包的基本設備。在系統啟動過程中,網卡通過內核中的網卡驅動程序注冊到系統中。而在網路收發過程中,內核通過中斷跟網卡進行交互。

再結合前面提到的 Linux 網路棧,可以看出,網路包的處理非常復雜。所以,網卡硬中斷只處理最核心的網卡數據讀取或發送,而協議棧中的大部分邏輯,都會放到軟中斷中處理。

我們先來看網路包的接收流程。

當一個網路幀到達網卡後,網卡會通過 DMA 方式,把這個網路包放到收包隊列中;然後通過硬中斷,告訴中斷處理程序已經收到了網路包。

接著,網卡中斷處理程序會為網路幀分配內核數據結構(sk_buff),並將其拷貝到 sk_buff 緩沖區中;然後再通過軟中斷,通知內核收到了新的網路幀。

接下來,內核協議棧從緩沖區中取出網路幀,並通過網路協議棧,從下到上逐層處理這個網路幀。比如,

最後,應用程序就可以使用 Socket 介面,讀取到新接收到的數據了。

為了更清晰表示這個流程,我畫了一張圖,這張圖的左半部分表示接收流程,而圖中的粉色箭頭則表示網路包的處理路徑。

了解網路包的接收流程後,就很容易理解網路包的發送流程。網路包的發送流程就是上圖的右半部分,很容易發現,網路包的發送方向,正好跟接收方向相反。

首先,應用程序調用 Socket API(比如 sendmsg)發送網路包。

由於這是一個系統調用,所以會陷入到內核態的套接字層中。套接字層會把數據包放到 Socket 發送緩沖區中。

接下來,網路協議棧從 Socket 發送緩沖區中,取出數據包;再按照 TCP/IP 棧,從上到下逐層處理。比如,傳輸層和網路層,分別為其增加 TCP 頭和 IP 頭,執行路由查找確認下一跳的 IP,並按照 MTU 大小進行分片。

分片後的網路包,再送到網路介面層,進行物理地址定址,以找到下一跳的 MAC 地址。然後添加幀頭和幀尾,放到發包隊列中。這一切完成後,會有軟中斷通知驅動程序:發包隊列中有新的網路幀需要發送。

最後,驅動程序通過 DMA ,從發包隊列中讀出網路幀,並通過物理網卡把它發送出去。

多台伺服器通過網卡、交換機、路由器等網路設備連接到一起,構成了相互連接的網路。由於網路設備的異構性和網路協議的復雜性,國際標准化組織定義了一個七層的 OSI 網路模型,但是這個模型過於復雜,實際工作中的事實標准,是更為實用的 TCP/IP 模型。

TCP/IP 模型,把網路互聯的框架,分為應用層、傳輸層、網路層、網路介面層等四層,這也是 Linux 網路棧最核心的構成部分。

我結合網路上查閱的資料和文章中的內容,總結了下網卡收發報文的過程,不知道是否正確:

當發送數據包時,與上述相反。鏈路層將數據包封裝完畢後,放入網卡的DMA緩沖區,並調用系統硬中斷,通知網卡從緩沖區讀取並發送數據。

了解 Linux 網路的基本原理和收發流程後,你肯定迫不及待想知道,如何去觀察網路的性能情況。具體而言,哪些指標可以用來衡量 Linux 的網路性能呢?

實際上,我們通常用帶寬、吞吐量、延時、PPS(Packet Per Second)等指標衡量網路的性能。

除了這些指標,網路的可用性(網路能否正常通信)、並發連接數(TCP 連接數量)、丟包率(丟包百分比)、重傳率(重新傳輸的網路包比例)等也是常用的性能指標。

分析網路問題的第一步,通常是查看網路介面的配置和狀態。你可以使用 ifconfig 或者 ip 命令,來查看網路的配置。我個人更推薦使用 ip 工具,因為它提供了更豐富的功能和更易用的介面。

以網路介面 eth0 為例,你可以運行下面的兩個命令,查看它的配置和狀態:

你可以看到,ifconfig 和 ip 命令輸出的指標基本相同,只是顯示格式略微不同。比如,它們都包括了網路介面的狀態標志、MTU 大小、IP、子網、MAC 地址以及網路包收發的統計信息。

第一,網路介面的狀態標志。ifconfig 輸出中的 RUNNING ,或 ip 輸出中的 LOWER_UP ,都表示物理網路是連通的,即網卡已經連接到了交換機或者路由器中。如果你看不到它們,通常表示網線被拔掉了。

第二,MTU 的大小。MTU 默認大小是 1500,根據網路架構的不同(比如是否使用了 VXLAN 等疊加網路),你可能需要調大或者調小 MTU 的數值。

第三,網路介面的 IP 地址、子網以及 MAC 地址。這些都是保障網路功能正常工作所必需的,你需要確保配置正確。

第四,網路收發的位元組數、包數、錯誤數以及丟包情況,特別是 TX 和 RX 部分的 errors、dropped、overruns、carrier 以及 collisions 等指標不為 0 時,通常表示出現了網路 I/O 問題。其中:

ifconfig 和 ip 只顯示了網路介面收發數據包的統計信息,但在實際的性能問題中,網路協議棧中的統計信息,我們也必須關注。你可以用 netstat 或者 ss ,來查看套接字、網路棧、網路介面以及路由表的信息。

我個人更推薦,使用 ss 來查詢網路的連接信息,因為它比 netstat 提供了更好的性能(速度更快)。

比如,你可以執行下面的命令,查詢套接字信息:

netstat 和 ss 的輸出也是類似的,都展示了套接字的狀態、接收隊列、發送隊列、本地地址、遠端地址、進程 PID 和進程名稱等。

其中,接收隊列(Recv-Q)和發送隊列(Send-Q)需要你特別關注,它們通常應該是 0。當你發現它們不是 0 時,說明有網路包的堆積發生。當然還要注意,在不同套接字狀態下,它們的含義不同。

當套接字處於連接狀態(Established)時,

當套接字處於監聽狀態(Listening)時,

所謂全連接,是指伺服器收到了客戶端的 ACK,完成了 TCP 三次握手,然後就會把這個連接挪到全連接隊列中。這些全連接中的套接字,還需要被 accept() 系統調用取走,伺服器才可以開始真正處理客戶端的請求。

與全連接隊列相對應的,還有一個半連接隊列。所謂半連接是指還沒有完成 TCP 三次握手的連接,連接只進行了一半。伺服器收到了客戶端的 SYN 包後,就會把這個連接放到半連接隊列中,然後再向客戶端發送 SYN+ACK 包。

類似的,使用 netstat 或 ss ,也可以查看協議棧的信息:

這些協議棧的統計信息都很直觀。ss 只顯示已經連接、關閉、孤兒套接字等簡要統計,而 netstat 則提供的是更詳細的網路協議棧信息。

比如,上面 netstat 的輸出示例,就展示了 TCP 協議的主動連接、被動連接、失敗重試、發送和接收的分段數量等各種信息。

接下來,我們再來看看,如何查看系統當前的網路吞吐量和 PPS。在這里,我推薦使用我們的老朋友 sar,在前面的 CPU、內存和 I/O 模塊中,我們已經多次用到它。

給 sar 增加 -n 參數就可以查看網路的統計信息,比如網路介面(DEV)、網路介面錯誤(EDEV)、TCP、UDP、ICMP 等等。執行下面的命令,你就可以得到網路介面統計信息:

這兒輸出的指標比較多,我來簡單解釋下它們的含義。

其中,Bandwidth 可以用 ethtool 來查詢,它的單位通常是 Gb/s 或者 Mb/s,不過注意這里小寫字母 b ,表示比特而不是位元組。我們通常提到的千兆網卡、萬兆網卡等,單位也都是比特。如下你可以看到,我的 eth0 網卡就是一個千兆網卡:

其中,Bandwidth 可以用 ethtool 來查詢,它的單位通常是 Gb/s 或者 Mb/s,不過注意這里小寫字母 b ,表示比特而不是位元組。我們通常提到的千兆網卡、萬兆網卡等,單位也都是比特。如下你可以看到,我的 eth0 網卡就是一個千兆網卡:

我們通常使用帶寬、吞吐量、延時等指標,來衡量網路的性能;相應的,你可以用 ifconfig、netstat、ss、sar、ping 等工具,來查看這些網路的性能指標。

小狗同學問到: 老師,您好 ss —lntp 這個 當session處於listening中 rec-q 確定是 syn的backlog嗎?
A: Recv-Q為全連接隊列當前使用了多少。 中文資料里這個問題講得最明白的文章: https://mp.weixin.qq.com/s/yH3PzGEFopbpA-jw4MythQ

看了源碼發現,這個地方講的有問題.關於ss輸出中listen狀態套接字的Recv-Q表示全連接隊列當前使用了多少,也就是全連接隊列的當前長度,而Send-Q表示全連接隊列的最大長度

㈨ 大神請問個問題:計算機網路:發送端的網路層怎麼獲取目的ip,源ip的

發送端本來就知道目標IP,IP包從主機發出的時候就帶有目標地址信息。比如ping,當你ping某個地址的時候目標地址就已經指定。(1)如果目標地址在同網段內,主機會查找ARP表(IP與MAC地址對應關系,如果找不到就會廣播通過交換機制找到),直接將報文送達目標IP;(2)如果目標地址不在同網段內,主機會查找路由表,並進一步找到「下一跳」的IP地址,然後重復1的過程將IP包交給下一跳地址,下一跳行使路由功能,重復2的過程,知道IP包送達目標地址。最後目標地址主機層層解封讀取數據。
所以不管是目標IP還是源IP,這些信息不是IP包的負載「數據」提供的,而是應用軟體通過操作系統提供的,就像你寄出一封信,信封上的地址不一定要寫在信件內容上,信也一樣可以寄到。

㈩ TCP/IP協議棧簡介

互聯網由一整套協議構成,自上而下而下可以分為如下4層:

IP協議定義了一套自己的地址規則,稱為IP地址。它實現了路由功能,允許某個區域網的A主機向另一個區域網的B主機發送信息。

IP地址包含網路號和主機號,IPv4協議規定的IP地址由32位二進制數組成,每8位一段,用十進製表示每段地址,可以表示的范圍為0.0.0.0~255.255.255.255。IPv6協議規定的IP地址由128位二進制數組成,可以表示更多的網路與主機,目前IPv4能夠表示的IP地址即將使用殆盡,不久的將來會被IPv6取代。

路由是把數據從源地址經過網路傳輸到目標地址的過程,它包括2個主要動作:選擇路徑、數據傳輸。

路由器(Router)是一種負責尋徑的網路設備,它通過路由表為數據傳輸選擇最佳路徑。路由表包含網路地址以及各地址之間距離的清單,路由器使用最少時間演算法或最優路徑演算法來調整信息傳遞的路徑。

路由表可以靜態指定,也可以動態學習(基於rip2, ospf等協議)。路由表中的路由條目描述了目標地址、下一跳(nexthop)。目標地址可以分為主機路由、網路路由、默認路由(0.0.0.0/0.0.0.0),主機路由表示區域網中的主機,網路路由表示不同的區域網。

網關(Gateway)就是一個網路連接到另一個網路的「關口」,它負責不同網路之間的通信。TCP/IP協議里的網關是其中的一種,實質上是一個網路通向其他網路的IP地址,此IP地址上的設備必須具有路由功能,這些設備有:路由器、啟用路由協議的伺服器、代理伺服器。

比如如果網路A(192.168.1.0)中的主機向網路B(192.168.2.0)中的主機發送數據,因為兩個主機不在同一網路,所以數據包會被轉發給A的網關,再由網關轉發給網路B的網關,網路B的網關再轉發給網路B中的主機。

閱讀全文

與tcp網路協議如何找到下一跳相關的資料

熱點內容
電腦出現無線網路但是沒網 瀏覽:661
賓館網路如何搭建 瀏覽:9
鄭州大學網路安全專業怎麼樣 瀏覽:407
全國網路拍賣的公司有多少 瀏覽:480
廣電網路路由器設置密碼咋改 瀏覽:438
網路教育2021有哪些院校招生 瀏覽:384
網路安全的三個基本數 瀏覽:994
網路還原設置後無法連接wifi 瀏覽:145
中國香港網路電腦配件服務價格 瀏覽:833
河北國際網路維護多少錢 瀏覽:805
熱點網路無法連接 瀏覽:790
完美對戰平台怎麼連接不了網路 瀏覽:972
新津大唐網路網線多少錢一米 瀏覽:220
汽車哈弗中控無法連接網路 瀏覽:948
控制器怎麼設置無線網路 瀏覽:555
陌陌網路超時請稍後重試怎麼解決 瀏覽:810
醫療保險網路維護費多少錢 瀏覽:178
網路不想共享怎麼辦 瀏覽:248
手機為什麼網路會突然斷掉 瀏覽:995
如何網路搜索共享列印機 瀏覽:187

友情鏈接