㈠ TCP協議原理
一個數據包的生命過程:數據包如何送達主機、主機如何將數據包轉交給應用、數據是如何被完整地送達應用程序
互聯網,實際上是一套理念和協議組成的體系架構 。其中,協議是一套眾所周知的規則和標准,如果各方都同意使用,那麼它們之間的通信將變得毫無障礙。數據通信是通過數據包來傳輸的。如果發送的數據很大,那麼該數據就會被拆分為很多小數據包來傳輸。之後再由接收方按照數據包中的一定規則將小的數據包整合成全部數據。
IP 是非常底層的協議,只負責把數據包傳送到對方電腦,不負責該數據包將由哪個程序去使用。
數據包要在互聯網上進行傳輸,就要符合網際協議(Internet Protocol,簡稱 IP)標准。計算機的地址就稱為 IP 地址,訪問任何網站實際上只是你的計算機向另外一台計算機請求信息。
簡單理解數據傳輸過程就是:裝包和拆包。 如果要想把一個數據包從主機 A 發送給主機 B,那麼在傳輸之前,數據包上會被附加上主機 B 的 IP 地址信息,這樣在傳輸過程中才能正確定址。額外地,數據包上還會附加上主機 A 本身的 IP 地址,有了這些信息主機 B 才可以回復信息給主機 A。這些附加的信息會被裝進一個叫 IP 頭的數據結構里。IP 頭是 IP 數據包開頭的信息,包含 IP 版本、源 IP 地址、目標 IP 地址、生存時間等信息。
過程:
1、上層將含有「數據」的數據包交給網路層;
2、網路層再將 IP 頭附加到數據包上,組成新的 IP 數據包,並交給底層;
3、底層通過物理網路將數據包傳輸給主機 B;
4、數據包被傳輸到主機 B 的網旦姿首絡層,在這里主機 B 拆開數據包的 IP 頭信息,並將拆開來的數據部分交給上層;
5、最終,含有「數據」信息的數據包就到達了主機 B 的上層了。
基於 IP 之上開發能和應用打交道的協議,最常見的是「用戶數據包協議(User Datagram Protocol)」,簡稱 UDP。負責將傳輸的數據包交給某一應用程序。
UDP 中一個最重要的信息是埠號,埠號其實就是一個數字,每個想訪問網路的程序都需要綁定一個埠號。通過埠號 UDP 就能把指定的數據包發送給指定的程序了, 所以 IP 通過 IP 地址信息把數據包發送給指定的電腦,而 UDP 通過埠號把冊御數據包分發給正確的程序。 和 IP 頭一樣,埠號會被裝進 UDP 頭裡面,UDP 頭再和原始數據包合並組成新的 UDP 數據包。UDP 頭中除了目的埠,還有源埠號等信息。
為了支持 UDP 協議,我把前面的三層結構擴充為四層結構,在網路層和上層之間增加了傳輸層
過程:
1、 上層將數據包交給傳輸層;傳輸層會在數據包前面附加上 UDP 頭,組成新的 UDP 數據包,再將新的 UDP 數據包交給網路層;
2、網路層再將 IP 頭附加到數據包上,組成新的 IP 數據包,並交給底層;
3、數據包被傳輸到主機 B 的網路層,在這里主機 B 拆開 IP 頭信息,並將拆開來的數據部分交給傳輸層;
4、在傳輸層,數據包中的 UDP 頭會被拆開,並根據 UDP 中所提供的埠號,把數據部分交給上層的應用程序;
5、最終,含有信息的數據包就旅行到了主機 B 上層應用程序這里。
在使用 UDP 發模數送數據時,有各種因素會導致數據包出錯,雖然 UDP 可以校驗數據是否正確,但是對於錯誤的數據包, UDP 並不提供重發機制,只是丟棄當前的包 ,而且 UDP 在發送之後也無法知道是否能達到目的地。雖說 UDP 不能保證數據可靠性,但是傳輸速度卻非常快 ,所以 UDP 會應用在一些關注速度、但不那麼嚴格要求數據完整性的領域,如在線視頻、互動游戲等
上文說到的使用 UDP 來傳輸會存在兩個問題 :
1、數據包在傳輸過程中容易丟失;
2、大文件會被拆分成很多小的數據包來傳輸,這些小的數據包會經過不同的路由,並在不同的時間到達接收端,而 UDP 協議並不知道如何組裝這些數據包,從而把這些數據包還原成完整的文件。
所以TCP協議很好地解決的這個問題。
TCP(Transmission Control Protocol,傳輸控制協議)是一種面向連接的、可靠的、基於位元組流的傳輸層通信協議。
1、對於數據包丟失的情況,TCP 提供重傳機制;
2、TCP 引入了數據包排序機制,用來保證把亂序的數據包組合成一個完整的文件。
和 UDP 頭一樣,TCP 頭除了包含了目標埠和本機埠號外,還提供了 用於排序的序列號 ,以便接收端通過序號來重排數據包
一個完整的 TCP 連接的生命周期包括了「建立連接」「傳輸數據」和「斷開連接」三個階段。
首先,建立連接階段。這個階段是通過「三次握手」來建立客戶端和伺服器之間的連接。TCP 提供面向連接的通信傳輸。面向連接是指在數據通信開始之前先做好兩端之間的准備工作。所謂 三次握手 ,是指在建立一個 TCP 連接時,客戶端和伺服器總共要發送三個數據包以確認連接的建立。
其次,傳輸數據階段。在該階段,接收端需要對每個數據包進行確認操作,也就是接收端在接收到數據包之後,需要發送確認數據包給發送端。所以當發送端發送了一個數據包之後,在規定時間內沒有接收到接收端反饋的確認消息,則判斷為數據包丟失,並觸發發送端的重發機制。同樣,一個大的文件在傳輸過程中會被拆分成很多小的數據包,這些數據包到達接收端後,接收端會按照 TCP 頭中的序號為其排序,從而保證組成完整的數據。
最後,斷開連接階段。數據傳輸完畢之後,就要終止連接了,涉及到最後一個階段「 四次揮手 」來保證雙方都能斷開連接。
三次握手和四次揮手限於篇幅可看另一篇文章: TCP協議中 的三次握手和四次揮手
1、IP 負責把數據包送達目的主機。
2、UDP 負責把數據包送達具體應用(可能會丟包)。
3、而 TCP 保證了數據完整地傳輸 ,它的連接可分為三個階段:建立連接、傳輸數據和斷開連接。
完整的數據流程
㈡ 簡述IP協議的工作原理
TCP/IP(Transmission Control Protocol/Internet Protocol的簡寫,中文譯名為傳輸控制協議/互聯網路協議)協議是Internet最基本的協議,簡單地說,就是由底層的IP協議和TCP協議組成的。
在Internet沒有形成之前,各個地方已經建立了很多小型的網芹謹絡,稱為區域網,Internet的中文意義是「網際網」,它實際上就是將全球各地的區域網連接起來而形成的一個「網之間的網(即網際網)」。然而,在連接之前的各式各樣的區域網卻存在不同的網路結構和數據傳輸規則,將這些小網連接起來後各網之間要通過什麼樣的規則來傳輸數據呢?這就象世界上有很多個國家,各個國家掘唯的人說各嫌散基自的語言,世界上任意兩個人要怎樣才能互相溝通呢?如果全世界的人都能夠說同一種語言(即世界語),這個問題不就解決了嗎?TCP/IP協議正是Internet上的「世界語」。
TCP/IP協議的開發工作始於70年代,是用於互聯網的第一套協議。
㈢ 網路協議 TCP 的工作原理
大多數協議是分層的,互聯網協議也不例外。IP是基礎,TCP建立在IP之上態升。今後,你見到的兩個協議常指的是TCP/IP。
TCP常用於處理大量的數據,也處理在傳輸過程中某處損壞了的數據。帆凳老TCP將大的報文劃分為多個分組,然後,每個分組塞入TCP「信封」,再依次塞入IP信封。TCP信封外包含著關於分組中位元組數目的信息和在原始報文中該分組的位置信息。在信息接收粗培結束時,TCP信封被從IP信封中取出,然後,原始數據重新組裝。一旦電腦通過校驗發現有分組被破壞,發送者就重新發送出差錯的分組。
㈣ 網路協議的工作原理是怎樣的
HTTP協議工作原理是我們現在要為大家介紹的內容。作為WWW的基礎的HTTP協議,它的做磨工作原理可以分為外部和內部。試想,一個龐大的網路結構,它的協議又怎麼能簡單呢。所以我們一定要在了解了HTTP協議的基本結構後來看它的工作流程。
既然我們明白了URL的構成,那麼HTTP是怎麼工作呢?我們接下來就要討論這個問題。
一次HTTP操作稱為一個事務,HTTP協議工作原理可分為四步:
首先客戶機與伺服器需要建立連接。只要單擊某個超級鏈接,HTTP的工作就開始了。
建立連接後,客戶機發送一個請求給伺服器,請求方式的格式為:統一資源標識符(URL)、協議版本號,後邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。
伺服器接到請求後,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括伺服器信息、實體信息和可能的內容。
客戶端接收伺服器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然後客http工作流程圖戶機與伺服器斷開連接。
如果在以上過程中的某一步出現錯誤,那麼產生錯誤的信息將返回到客戶端,有顯示屏輸出。對於用戶來說,這些過程是由HTTP自己完成的,用戶只要用滑鼠點擊,等待信息顯示就可以了。
許多HTTP通訊是由一個用戶代理初始化的並且包括一個申請在源伺服器上資源的請求。最簡單的情況可能是在用戶代理和伺服器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發生在TCP/IP連接之上。預設埠是TCP 80,但其它的埠也是可用的。但這並不預示著HTTP協議在Internet或其它網路的其它協議之上才能完成。HTTP只預示著一個可靠的傳輸。
這個過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什麼規格的商品,然後商家再告訴我們什麼商品有貨,什麼商品缺貨。這些,我們是通過電話線用電話聯系(HTTP是通過TCP/IP),當然我們也可以通過傳真,只要商家那邊也有傳真。
以上簡要介紹了HTTP協議的宏觀運作方式,下面介紹一下HTTP協議工作原理的內部操作過程。
在WWW中,「客戶」與「伺服器」是一個相對的概念,只存在於一個特定的連接期間,即在某個連接中的客戶在另一個連接中可能作為伺服器。基於HTTP協議的客戶/伺服器模式的辯穗信息交換過程,它分四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。這就好像上面的例子,我們電話訂貨的全過程。
其實簡單說就是任何伺服器除了包括HTML文件以外,還有一個HTTP駐留程序,用於響應用戶請求。你的瀏覽器是HTTP客戶,向伺服器發送請求,當瀏覽器中輸入了一個開始文件或點擊了一個超級鏈接時,瀏覽器就向伺服器發送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操作後回送所要求的文件。在這一過程中,在網路上發送和接收的數據已經被分成一個或多個數據包(packet),每個數據包包括:要傳送的數據;控制信息,即告訴網路怎樣處理數據包。TCP/IP決定了每個數據包的格式。如果事先不告訴你,你可能不會知道信息被分成用於傳輸和再重新組合起來的許多小塊。
也就是說商家除了擁有商品之外,它也有一個職員在接聽你的電話,當你打電話的時候,你的聲音轉換成各種復雜的數據,通過電話線傳輸到對方的電話機,對方的電話機又把各種復雜的數據攜胡卜轉換成聲音,使得對方商家的職員能夠明白你的請求。這個過程你不需要明白聲音是怎麼轉換成復雜的數據的。到此整個HTTP協議工作原理的過程就為大家介紹完了
㈤ 什麼是網路協議
網路協議(Protocol)是一種特殊的軟體,是計算機網路實現其功能的最基本機制。網路協議的本質是規則,即各種硬體和軟體必須遵循的共同守則。網路協議並不是一套單獨的軟體,它融合於其他所有的軟體系統中,因此可以說,協議在網路中無所不在。網路協議遍及OSI通信模型的各個層次,從我們非常熟悉的TCP/IP、HTTP、FTP協議,到OSPF、IGP等協議,有上千種之多。對於普通用戶而言,不需要關心太多的底層通信協議,只需要了解其通信原理即可。在實際管理中,底層通信協議一般會自動工作,不需要人工干預。但是對於第三層以上的協議,就經常需要人工干預了,比如TCP/IP協議就需要人工配置它才能正常工作。
說的通俗點的話:就是在網路傳輸中的一項規則,只有遵循規則,網路才能實現通訊。就像是交通規則一樣,什麼時候汽車走,什麼時候汽車停。在網路中是來規范網路數據包的傳輸與暫停!
㈥ 網路協議工作原理,請舉例說明。(別發那些復制的)
樓上就是FP
我給你講一點
不一定很帆渣冊全
比如說你打個網頁
從你這里
到伺服器之間的協議
先是DNS協議
將域名轉化成IP地址
這個你要知道
域名只是人記著方便
計算機記的是IP
然後是TCPIP協議
數梁則據在傳輸過程中可能要經過陸游器
涉及到態宏的是ARP協議
將IP地址轉換成乙太網地址
進行數據報的傳輸
我知道的不多
有不對的地方多多指教