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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

TCP/IP协议簇简介

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

參考:

https://blog.csdn.net/wuzhiwei549/article/details/105965493

https://blog.csdn.net/weixin_44198965/article/details/90083126

小林《圖解網絡》

https://blog.csdn.net/bjweimengshu/article/details/79214572

TCP/IP協議簇

對于同?臺設備上的進程間通信,有很多種?式,?如有管道、消息隊列、共享內存、信號等式,?對于不同設備上的進程間通信,就需要?絡通信,?設備是多樣性的,所以要兼容多種多樣的設備,就協商出了?套通?的?絡協議

TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協議/網際協議)是指能夠在多個不同網絡間實現信息傳輸的協議簇。TCP/IP協議不僅僅指的是TCP 和IP兩個協議,而是指一個由FTP、SMTP、TCP、UDP、IP等協議構成的協議簇, 只是因為在TCP/IP協議中TCP協議和IP協議最具代表性,所以被稱為TCP/IP協議。

狹義上講,TCP/IP 意味著TCP、IP等在一起協同工作。TCP 負責應用軟件(比如你的瀏覽器)和網絡軟件之間的通信;IP 負責計算機之間的通信。TCP 負責將數據分割并裝入 IP 包,然后在它們到達的時候重新組合它們;IP 負責將包發送至接受者。

1、TCP/IP組成?協議體系層次對應關系?

?協議體系結構主要有兩種:1. OSI七層體系模型,2. TCP/IP的四層體系模型(五層模型)

2、TCP/IP協議中的四個層次?各個層次作用?

應用層:應用層是TCP/IP協議的第一層,是直接為應用進程提供服務的。

? ? 1)對不同種類的應用程序它們會根據自己的需要來使用應用層的不同協議,郵件傳輸應用使用了SMTP協議、萬維網應用使用了HTTP協議、遠程登錄服務應用使用了TELNET協議

? ? 2)應用層還能加密、解密、格式化數據。

? ? 3)應用層可以建立或解除與其他節點的聯系,這樣可以充分節省網絡資源。

運輸層:作為TCP/IP協議的第二層,運輸層在整個TCP/IP協議中起到了中流砥柱的作用。且在運輸層中,TCPUDP也同樣起到了中流砥柱的作用。

網絡層:網絡層在TCP/IP協議中的位于第三層。在TCP/IP協議中網絡層可以進行網絡連接的建立和終止以及IP地址的尋找等功能

網絡接口層:在TCP/IP協議中,網絡接口層位于第四層。由于網絡接口層兼并了物理層和數據鏈路層所以,網絡接口層既是傳輸數據的物理媒介,也可以為網絡層提供一條準確無誤的線路

例如:若將 IP 比作高速公路,它允許其他協議在上面行使并找到至其他電腦的出口。TCP、UDP是高速公路上的卡車,它們攜帶的貨物就像HTTP、FTP協議。TCP、UDP是傳輸層協議,都是用來傳輸其他協議的,主要解決數據如何在網絡傳輸;HTTP 是應用層協議,主要解決如何包裝數據。

3、通信過程?

在網絡通信的過程中,將發出數據的主機稱為源主機,接收數據的主機稱為目的主機。當源主機發出數據時,數據在源主機中從上層向下層傳送,而目的主機接受數據時,數據再目的主機中從下層向上層傳遞,具體數據處理流程(以IP包/TCP傳輸為例)如下。

發送方:

  • ① 應用程序處理:加應用首部,編碼;
  • ② TCP 模塊的處理:加TCP首部,TCP 負責建立連接、發送數據以及斷開連接;
  • ③ IP 模塊的處理:加IP首部,IP 將 TCP 傳過來的數據前端加上 IP 首部生成IP包, IP 包對于以太網來說就是數據;
  • ④ 網絡接口(以太網驅動)的處理:加以太網首部,進行發送處理,生成的以太網數據包將通過物理層傳輸給接收端。

接收方:

  • ① 網絡接口(以太網驅動)的處理:主機收到以太網包后,首先從以太網包首部找到 MAC 地址判斷是否為發送給自己的包,若不是則丟棄數據。如果是發送給自己的包,則從以太網包首部中的類型確定數據類型,再傳給相應的模塊,如 IP、ARP 等;
  • ② IP 模塊的處理:IP 模塊接收到 數據后也做類似的處理。從包首部中判斷此 IP 地址是否與自己的 IP 地址匹配,如果匹配則根據首部的協議類型將數據發送給對應的模塊,如 TCP、UDP;
  • ③ TCP 模塊的處理:在 TCP 模塊中,首先會計算一下校驗和,判斷數據是否被破壞;然后檢查是否在按照序號接收數據;最后檢查端口號,確定具體的應用程序;數據被完整地接收以后,會傳給由端口號識別的應用程序;
  • ④ 應用程序的處理:接收端應用程序會直接接收發送端發送的數據,通過解析數據,展示相應的內容。

4、封裝?數據封裝過程?

通信過程中,每層協議都要加上一個數據首部(header),稱之為封裝(Encapsulation)。

  • 應用層:報文流
  • 傳輸層(segment)
  • 網絡層數據報(datagram)
  • 鏈路層(frame)
  • 物理層:電信號

源主機中的應用進程先將數據交給應用層,應用層加上必要的控制信息就成了報文流,向下傳給傳輸層;傳輸層將收到的數據單元加上本層的控制信息,形成報文段、數據報,再交給網絡層;網絡層加上本層的控制信息,形成IP數據報,傳給網絡接口層;網絡接口層將網際層交下來的IP數據報組裝成,并以比特流的形式傳給網絡硬件(即物理層),物理層如現在以太通用的網線(雙絞線)、同軸電纜(有線電視)、光纖等,數據以電信號的傳遞方式離開源主機。

?5、數據解析過程?

數據傳輸經過的各層協議過程如下:

以太網驅動程序首先根據以太網首部中的“上層協議”字段確定該數據幀的有效載荷(payload,是指除去協議首部之外實際傳輸的數據)IP、ARP、還是RAPP協議的數據報,然后交給相應的協議處理。

  • 假如是IP數據報,IP協議再根據IP 首部中的“上層協議”字段確定該數據報的有效載荷是TCP、UDP、ICMP還是IGMP,然后交給相應的協議處理;
  • 假如是TCP段 或UDP段,TCP或UDP協議再根據TCP首部或UDP首部的“端口號”字段確定應該將應用層數據交給哪個用戶進程

?注意:IP地址是標識網絡中不同主機的地址,而端口號就是同一臺主機上標識不同進程的地址,IP地址和端口號合起來標識網絡中唯一的進程

雖然IP、ARP、RARP數據報都需要以太網驅動程序來封裝成,但是從功能上劃分,ARP和RARP屬于鏈路層,IP屬于網絡層

雖然ICMP、IGMP、TCP、UDP的數據都需要IP協議來封裝成數據報,但是從功能上劃分,ICMP、IGMP與IP同屬于網絡層,TCP和UDP屬于傳輸層

?例如:通過端口號、IP地址、協議號進行通信識別:

  • ① 和② 的通信是在兩臺計算機上進行的。它們的目標端口號相同,都是80。這里可以根據源端口號加以區分。
  • ③ 和 ① 的目標端口號和源端口號完全相同,但它們各自的源 IP 地址不同。
  • 此外,當 IP 地址和端口號全都一樣時,我們還可以通過協議號來區分(TCP 和 UDP)。?

5、TCP/IP的特點及安全性

優點:

  • 時效性:TCP/IP傳輸協議下的數據信息傳輸,克服了傳統信息傳輸方式的滯后、拖延、效率低下的問題。
  • 安全準確性:計算機網絡中的TCP/IP傳輸協議的數據傳輸,不僅能處理好復雜的信息結構,繁多的數據信息,還能維護數據信息的安全,確保數據信息的科學準確性。
  • 傳輸的流暢性:基于計算機網絡的TCP/IP協議,數據傳輸流程主要是建立TCP/IP連接、數據發送、數據接收這三個主要環節。這三個環節的無縫連接使得數據信息實現了實時性傳輸。在TCP/IP傳輸協議的通信中,為保證數據信息到達目的地址,數據的發送端口和數據的接受端口需要向雙方發送信息以確認是否能夠建立通信連接。建立TCP/IP連接是數據信息傳輸的前提條件。在建立了TCP/IP連接后,就可以進行數據信息的發送。數據信息首先進入發送緩沖區傳輸層,然后一層一層進行傳輸。在發送的過程中,傳輸層協議會對數據信息進行相應地封裝,以便實現完整準確的傳輸。數據信息的接收主要就是接收計算機發送的數據傳輸電路板的控制命令。目的主機在接收到數據信息包后,首先會進行識別,確定該數據包的有效載體是IP、ARP還RARP,然后進行相應地數據解封處理。最后將數據信息發送到需要的應用程序。數據信息傳輸的過程中三個環節環環相扣,實現了基于計算機網絡TCP/IP傳輸協議的時效性。

缺點:

  • 該模型沒有明顯的區分服務、接口和協議的概念。因此,對于使用新技術來設計新網絡,TCP/IP模型不是一個太好的模板。
  • TCP/IP模型完全不是通用的,并且不適合描述除TCP/IP模型之外的任何協議棧。
  • 鏈路層并不是通常意義上的一層。它是一個接口,處于網絡層和數據鏈路層之間。接口和層間的區別是很重要的。
  • TCP/IP模型不區分物理層和數據鏈路層。這兩層完全不同,物理層必須處理銅纜、光纖和無線通信的傳輸特征;而數據鏈路層的工作是確定幀的開始和結束,并且按照所需的可靠程度把幀從一端發送到另一端。

安全隱患:

  • ?????鏈路層:網絡嗅探
  • 網絡層:IP欺騙、ARP欺騙、ICMP欺騙;
  • 傳輸層:DoS、DDoS
  • 應用層:DNS欺騙

安全策略:

  • VPN
  • 防火墻技術
  • 入侵檢測系統
  • 訪問控制策略

6、應用層

最上層的,我們能直接接觸到的就是應?層(Application Layer),我們電腦或?機使?的應?軟件都是在應?層實現。那么,當兩個不同設備的應?需要通信的時候,應?就把應?數據傳給下?層,也就是傳輸層。所以,應?層只需要專注于為?戶提供應?功能,不?去關?數據是如何傳輸的,就類似于,我們寄快遞的時候,只需要把包裹交給快遞員,由他負責運輸快遞,我們不需要關?快速是如何被運輸的。

?且應?層是?作在操作系統中的?戶態,傳輸層及以下則?作在內核態。

理論上講,有了以下三層協議的支持,數據已經可以從一個主機上的應用程序傳輸到另一臺主機的應用程序了,但此時傳過來的數據是字節流不能很好的被程序識別,操作性差。因此,應用層定義了各種各樣的協議來規范數據格式,常見的有HTTP、FTP、SMTP等,在消息的請求頭中,分別定義了請求數據格式Accept和響應數據格式Content-Type,有了這個規范以后,當對方接收到請求以后就知道該用什么格式來解析,然后對請求進行處理,最后按照請求方要求的格式將數據返回,請求端接收到響應后,就按照規定的格式進行解讀。

所以說,應用層的主要工作就是定義數據格式并按照對應的格式解讀數據

向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網絡其它主機上注冊的接口。TELNET會話提供了基于字符的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網絡內機器間的文件拷貝功能。

7、傳輸層??

應?層的數據包會傳給傳輸層,傳輸層(Transport Layer)是為應?層提供?絡?持的。

?應?需要傳輸的數據可能會?常?,如果直接傳輸就不好控制,因此當傳輸層的數據包??超過 MSS(TCP 最?報?段?度) ,就要將數據包分塊,這樣即使中途有?個分塊丟失或損壞了,只需要重新發送這?個分塊,?不?重新發送整個數據包。在 TCP 協議中,我們把每個分塊稱為?個 TCP 段(TCPSegment)。

當設備作為接收?時,傳輸層則要負責把數據包傳給應?,但是?臺設備上可能會有很多應?在接收或者傳輸數據,因此需要??個編號將應?區分開來,這個編號就是端?。?如 80 端?通常是 Web 服務器?的,22 端?通常是遠程登錄服務器?的。?對于瀏覽器(客戶端)中的每個標簽欄都是?個獨?的進程,操作系統會為這些進程分配臨時的端?號。由于傳輸層的報?中會攜帶端?號,因此接收?可以識別出該報?是發送給哪個應?。

鏈路層:MAC地址;網絡層:IP地址,明確了主機所在的網段。有了這兩個地址,數據包就從可以從一個主機發送到另一臺主機。但實際上數據包是從一個主機的某個應用程序發出,然后由對方主機的應用程序接收。而每臺電腦都有可能同時運行著很多個應用程序,所以當數據包被發送到主機上以后,是無法確定哪個應用程序要接收這個包。因此傳輸層引入了協議來解決這個問題,為了給每個應用程序標識身份。在傳輸層會有兩個傳輸協議,分別是 TCP 和 UDP,傳輸層提供應用程序間的通信,其功能包括:格式化信息流提供可靠傳輸。為實現后者,傳輸層協議規定接收端必須發回確認,并且假如分組丟失,必須重新發送。

TCP 的全稱叫傳輸層控制協議(Transmission Control Protocol),?部分應?使?的正是 TCP 傳輸層協議,?如 HTTP 應?層協議。TCP 相? UDP 多了很多特性,?如流量控制、超時重傳、擁塞控制等,這些都是為了保證數據包能可靠地傳輸給對?。TCP協議 是一種面向連接的、可靠的協議, TCP傳輸的雙方需要首先建立連接,之后由TCP協議保證數據收發的可靠性丟失的數據包自動重發,上層應用程序收到的總是可靠數據流,通訊之后關閉連接

UDP 就相對很簡單,簡單到只負責發送數據包,不保證數據包是否能抵達對?,但它實時性相對更好,傳輸效率也?。UDP 協議不面向連接,也不保證可靠性,使用UDP協議的應用程序需要自己完成丟包重發、消息排序等工作。

8、?網絡層

實際場景中的?絡環節是錯綜復雜的,中間有各種各樣的線路和分叉路?,如果?個設備的數據要傳輸給另?個設備,就需要在各種各樣的路徑和節點進?選擇,?傳輸層的設計理念是簡單、?效、專注,如果傳輸層還負責這?塊功能就有點違背設計原則了。也就是說,我們不希望傳輸層協議處理太多的事情,只需要服務好應?即可,讓其作為應?間數據傳輸的媒介,幫助實現應?到應?的通信,?實際的傳輸功能就交給下?層,也就是?絡層(Internet Layer)。

?絡層最常使?的是 IP 協議(Internet Protocol),IP 協議會將傳輸層的報?作為數據部分,再加上 IP 包頭組裝成 IP 報?,如果 IP 報???超過 MTU(以太?中?般為 1500 字節)就會再次進?分?,得到?個即將發送到?絡的 IP 報?。

?絡層負責將數據從?個設備傳輸到另?個設備,世界上那么多設備,?該如何找到對?呢?因此,?絡層需要有區分設備的編號。

我們?般? IP 地址給設備進?編號,對于 IPv4 協議, IP 地址共 32 位,分成了四段,每段是 8 位。只有?個單純的 IP 地址雖然做到了區分設備,但是尋址起來就特別麻煩,全世界那么多臺設備,難道?個?個去匹配?這顯然不科學。因此,需要將 IP 地址分成兩種意義:

  • ?個是?絡號,負責標識該 IP 地址是屬于哪個??的;
  • ?個是主機號,負責標識同???下的不同主機;

怎么分的呢?這需要配合??掩碼才能算出 IP 地址 的?絡號和主機號。那么在尋址的過程中,先匹配到相同的?絡號,才會去找對應的主機。

除了尋址能?, IP 協議還有另?個重要的能?就是路由。實際場景中,兩臺設備并不是??條?線連接起來的,?是通過很多?關、路由器、交換機等眾多?絡設備連接起來的,那么就會形成很多條?絡的路徑,因此當數據包到達?個?絡節點,就需要通過算法決定下?步?哪條路徑。

所以,IP 協議的尋址作?是告訴我們去往下?個?的地該朝哪個?向?,路由則是根據「下?個?的地」選擇路徑。尋址更像在導航,路由更像在操作?向盤。

網絡層的主要作用是“實現終端節點之間的通信”。這種終端節點之間的通信也叫“點對點通信”。 數據鏈路層的主要作用是在互連同一種數據鏈路的節點之間進行包傳遞。而一旦跨越多種數據鏈路,就需要借助網絡層。網絡層可以跨越不同的數據鏈路,即使是在不同的數據鏈路上也能實現兩端節點之間的數據包傳輸。其功能包括三方面:

  • 1)處理來自傳輸層的分組發送請求,收到請求后,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然后將數據報發往適當的網絡接口。
  • 2)處理輸入數據報:首先檢查其合法性,然后進行尋徑–假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報尚未到達信宿,則轉發該數據報。
  • 3)處理路徑、流控、擁塞等問題

9、鏈路層

實際場景中,?絡并不是?個整體。?旦數據需要跨?絡傳輸,就需要有?個設備同時在兩個?絡當中,這個設備?般是路由器,路由器可以通過路由表計算出下?個要去的 IP 地址。

那問題來了,路由器怎么知道這個 IP 地址是哪個設備的呢?于是,就需要有?個專?的層來標識?絡中的設備,讓數據在?個鏈路中傳輸,這就是數據鏈路層(Data LinkLayer),它主要為?絡層提供鏈路級別傳輸的服務。

每?臺設備的?卡都會有?個 MAC 地址,它就是?來唯?標識設備的。路由器計算出了下?個?的地 IP 地址,再通過 ARP 協議找到該?的地的 MAC 地址,這樣就知道這個 IP 地址是哪個設備的了。

以太網協議規定,接入網絡的設備都必須安裝網絡適配器(即網卡),數據包必須是從一塊網卡傳送到另一塊網卡。而網卡地址就是數據包的發送地址和接收地址,有了MAC地址以后,以太網采用廣播形式,把數據包發給該子網內所有主機,子網內每臺主機在接收到這個包以后,都會讀取首部里的目標MAC地址,然后和自己的MAC地址進行對比,如果相同就做下一步處理,如果不同,就丟棄這個包。

所以鏈路層的主要工作就是對電信號進行分組并形成具有特定意義的數據幀,然后以廣播的形式通過物理介質發送給接收方

以太網幀格式介紹:

源地址、目的地址:指網卡的硬件地址(MAC地址),長度是48位,是在網卡出廠時固化的;

類型:16位,幀類型域(IP,ARP,RARP)

網卡芯片(如DM9000A)收到的數據即如上所示的一長串數據。其中包括以太網幀頭、IP報報頭、傳輸層 協議段頭、應用層所需數據

以太網幀的數據長度規定最小46字節,最大1500字節ARP和RARP數據包的長度不夠46字節,要在后面補填充位最大值1500稱為以太網的最大傳輸單元(MTU),不同的網絡類型有不同的MTU,如果一個數據包從以太網路由到撥號鏈路上,數據包大于撥號鏈路的MTU,則需要對數據包進行分片(fragmentation)

ifconfig命令的輸出中也有“MTU:1500”。不過注意,MTU 指數據幀中有效載荷的最大長度,不包括幀首部的長度

10、物理層

當數據準備要從設備發送到?絡時,需要把數據包轉換成電信號,讓其可以在物理介質中傳輸,這?層就是物理層(Physical Layer),它主要是為數據鏈路層提供?進制傳輸的服務。

注:部分文字圖片來源于網絡!

如有錯誤、侵權;請聯系作者更改刪除!

總結

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

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