1. 程式人生 > >網路協議簡介

網路協議簡介

0x01、TCP/IP 介紹

TCP/IP 是用於因特網 (Internet) 的通訊協議。

計算機通訊協議(Computer Communication Protocol)

計算機通訊協議是對那些計算機必須遵守以便彼此通訊的的規則的描述。

什麼是 TCP/IP?

TCP/IP 是供已連線因特網的計算機進行通訊的通訊協議。

TCP/IP 指傳輸控制協議/網際協議(Transmission Control Protocol / Internet Protocol)。

TCP/IP 定義了電子裝置(比如計算機)如何連入因特網,以及資料如何在它們之間傳輸的標準。

在 TCP/IP 內部

在 TCP/IP 中包含一系列用於處理資料通訊的協議:

  • TCP (傳輸控制協議) - 應用程式之間通訊

  • UDP (使用者資料報協議) - 應用程式之間的簡單通訊

  • IP (網際協議) - 計算機之間的通訊

  • ICMP (因特網訊息控制協議) - 針對錯誤和狀態

  • DHCP (動態主機配置協議) - 針對動態定址

TCP 使用固定的連線

TCP 用於應用程式之間的通訊。

當應用程式希望通過 TCP 與另一個應用程式通訊時,它會發送一個通訊請求。這個請求必須被送到一個確切的地址。在雙方"握手"之後,TCP 將在兩個應用程式之間建立一個全雙工 (full-duplex) 的通訊。

這個全雙工的通訊將佔用兩個計算機之間的通訊線路,直到它被一方或雙方關閉為止。

UDP 和 TCP 很相似,但是更簡單,同時可靠性低於 TCP。

IP 是無連線的

IP 用於計算機之間的通訊。

IP 是無連線的通訊協議。它不會佔用兩個正在通訊的計算機之間的通訊線路。這樣,IP 就降低了對網路線路的需求。每條線可以同時滿足許多不同的計算機之間的通訊需要。

通過 IP,訊息(或者其他資料)被分割為小的獨立的包,並通過因特網在計算機之間傳送。

IP 負責將每個包路由至它的目的地。

IP 路由器

當一個 IP 包從一臺計算機被髮送,它會到達一個 IP 路由器。

IP 路由器負責將這個包路由至它的目的地,直接地或者通過其他的路由器。

在一個相同的通訊中,一個包所經由的路徑可能會和其他的包不同。而路由器負責根據通訊量、網路中的錯誤或者其他引數來進行正確地定址。

TCP/IP

TCP/IP 意味著 TCP 和 IP 在一起協同工作。

TCP 負責應用軟體(比如您的瀏覽器)和網路軟體之間的通訊。

IP 負責計算機之間的通訊。

TCP 負責將資料分割並裝入 IP 包,然後在它們到達的時候重新組合它們。

IP 負責將包傳送至接受者。

0x02、HTTP介紹

HTTP協議Hyper Text Transfer Protocol(超文字傳輸協議)的縮寫,是用於從全球資訊網(WWW:World Wide Web )伺服器傳輸超文字到本地瀏覽器的傳送協議。。

HTTP是一個基於TCP/IP通訊協議來傳遞資料(HTML 檔案, 圖片檔案, 查詢結果等)。

HTTP 工作原理

HTTP協議工作於客戶端-服務端架構上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB伺服器傳送所有請求。

Web伺服器有:Apache伺服器,IIS伺服器(Internet Information Services)等。

Web伺服器根據接收到的請求後,向客戶端傳送響應資訊。

HTTP預設埠號為80,但是你也可以改為8080或者其他埠。

HTTP三點注意事項:

  • HTTP是無連線:無連線的含義是限制每次連線只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

  • HTTP是媒體獨立的:這意味著,只要客戶端和伺服器知道如何處理的資料內容,任何型別的資料都可以通過HTTP傳送。客戶端以及伺服器指定使用適合的MIME-type內容型別。

  • HTTP是無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。

以下圖表展示了HTTP協議通訊流程:

0x03、TCP、UDP的介紹和區別

TCP是Tranfer Control Protocol的 簡稱,是一種面向連線的保證可靠傳輸的協議。

通過TCP協議傳輸,得到的是一個順序的無差錯的資料流。傳送方和接收方的成對的兩個socket之間必須建 立連線,以便在TCP協議的基礎上進行通訊,當一個socket(通常都是server socket)等待建立連線時,另一個socket可以要求進行連線,一旦這兩個socket連線起來,它們就可以進行雙向資料傳輸,雙方都可以進行傳送 或接收操作。

UDP是User Datagram Protocol的簡稱,是一種無連線的協議,每個資料報都是一個獨立的資訊,包括完整的源地址或目的地址,它在網路上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。

UDP和TCP的比較

UDP特點:

1.每個資料報中都給出了完整的地址資訊,因此無需要建立傳送方和接收方的連線。

2.UDP傳輸資料時是有大小限制的,每個被傳輸的資料報必須限定在64KB之內。

3.UDP是一個不可靠的協議,傳送方所傳送的資料報並不一定以相同的次序到達接收方

TCP特點:

1.面向連線的協議,在socket之間進行資料傳輸之前必然要建立連線,所以在TCP中需要連線時間。

2.TCP傳輸資料大小限制,一旦連線建立起來,雙方的socket就可以按統一的格式傳輸大的資料。

3.TCP是一個可靠的協議,它確保接收方完全正確地獲取傳送方所傳送的全部資料。

0x04、TCP的三次握手和四次揮手

三次握手:建立連線

建立連線時,客戶端傳送syn包到到伺服器,伺服器收到syn包時,向客戶端傳送ACk 包,同時傳送一個自己的syn包,客戶端收到伺服器的SYN+ACK包後向伺服器傳送ACK 這樣就建立三次握手連線

Client: 傳送sync包給Server  ---> Server: 接受client的sync包,並向Client傳送ACK包和sync包  ---> Client:接受到Server的sync和ACK包,並回復ACK包

四次揮手:斷開連線

斷開連線可以是客戶端發起,也可以是伺服器端發起。假設客戶端發起中斷連線請求。客戶端首先發送FIN報文給伺服器端,表示客戶端這邊已完成傳送資料的任務。伺服器接到FIN報文後,如何此時伺服器端還有資料沒有傳送完成,可以繼續傳送資料,所以伺服器先發送ACK 包給客戶端。 當服務氣短確定資料已經發送完成,則向客戶端傳送FIN 報文,告訴客戶端,伺服器這邊資料傳送完了。 客戶端接收到FIN報文後,就知道可以斷開連線了。但是他還是不相信網路,所以傳送ACK包給伺服器進入TIME_WAIT狀態,伺服器端收到ACK後就斷開連線了。 客戶端在等待了一段時間後沒有收到來自伺服器的回覆,則證明,伺服器端已經正常關閉,最後客戶端關閉連線 最終完成了4次揮手的斷開連線

Client: 傳送fin包   ---> Server:接受fin,先想Client傳送ACK,待確定資料傳送完成,向Client傳送fin包
---> Client: 收到Server的fin包,不相信網路再次傳送ACK給Server進入TIME_WAIT狀態  ---> 伺服器收到ACK,斷開連線

相關推薦

常見網路協議簡介

IPv4 網際協議版本4(Internet Protocol version 4)。自20世紀80年代早期以來一直是網際協議簇的主力協議。它使用32位地址。IPv4給TCP、UDP、SCTP、ICMP和IGMP提供分組遞送服務。 IPv6 網際協議版本6(Interne

計算機網路協議簡介及英文簡寫

ARP(Address Resolution Protocol)地址解析協議   它是用於對映計算機的實體地址和臨時指定的網路地址。啟動時它選擇一個協議(網路層)地址,並檢查這個地址是否已經有別的計算機使用,如果沒有被使用,此結點被使用這個地址,如果此地址已經被別的計算機使用,正在使用此地址的計算機

網路協議簡介

0x01、TCP/IP 介紹TCP/IP 是用於因特網 (Internet) 的通訊協議。計算機通訊協議(Computer Communication Protocol)計算機通訊協議是對那些計算機必須

計算機網路網路協議簡介

1.1    網路協議與分層級體系結構    1.1.1                協議是指通訊雙方必須遵循的控制資訊交換的規則的集合。        協議三要素:        (1)語法。        (2)語義        (3)同步       1.1.2  

網路協議-1】常見協議名詞簡介

一些名詞解釋: 1.Socket(套接字): Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個呼叫介面(API),Socket只是為了更方便地使用TCP/IP協議棧而已,是對TCP/IP協議的抽象,提供給我們一些最基本的函式介面。 流式套接字(SOCK_

計算機網路 學習筆記-傳輸層:TCP協議簡介

概述: TCP傳輸前先要建立連線 TCP在傳輸層 點對點,一條TCP只能連線兩個端點 可靠傳輸、無差錯、不丟失、不重複、按順序 全雙工 位元組流 TCP報文段 TCP報文段的報頭前20位元組是固定的,後面4n位元組是根據需要而新增的。 20位元組的固定部分: 源埠和目的

網路協議各類簡介

網路協議與標準是基於OSI七層模型,每一層都有其對應的協議。下面挑幾個熟悉的協議標準:一,TCP/IPTCP/IP是分層協議,如層次圖所示:從底層到應用層,分別是物理層,鏈路層,網路層,傳輸層,應用層。資料是層層封裝,封裝的方式一般都是在原有資料的前面加一個數據控制頭,資料封

網路基礎—TCP協議簡介

TCP協議 TCP協議全稱 “傳輸控制協議” ,顧名思義,要對資料的傳輸有一個詳細的控制。 TCP協議段格式 1.16位埠號(port number) 源埠號和目的埠號 2.32位序號(sequence number) 第一個、序號值被初

網路協議TCPIP、IPXSPX、NETBEUI簡介

 網路協議TCP/IP、IPX/SPX、NETBEUI簡介 網路中不同的工作站,伺服器之間能傳輸資料,源於協議的存在。隨著網路的發展,不同的開發商開發了不同的通訊方式。為了使通訊成功可靠,網路中的所有主機都必須使用同一語言,不能帶有方言。因而必須開發嚴格的標準定義主機之間的

視頻rtmp協議簡介

png class 論文 smi false spa codec -i baidu 這篇論文裏講得非常詳細。下面說說我的理解。 server端:將視頻流按順序切割為視頻+音頻合成文件ts,每個ts是視頻流的一塊,並把ts信息存儲在m3u8文件中 client端:讀取m3u

HTTP協議簡介

put tle option 字符 http協議 一行 ava 客戶 ont 簡介 HTTP(HyperText Transfer Protocol, 超文本傳輸協議) 是訪問互聯網使用的核心通信協議,也是所有web應用程序使用的通信協議。消息模型:客戶端發送請求消息,服務

網絡編程的基本概念,TCP/IP協議簡介

cli 面向 red 展示 應用程序 隨著 完全 welcome 底層 8.1.1 網絡基礎知識  計算機網絡形式多樣,內容繁雜。網絡上的計算機要互相通信,必須遵循一定的協議。目前使用最廣泛的網絡協議是Internet上所使用的TCP/IP協議。 網絡編程的目的就是指直接或

VRRP協議簡介

pin 監視 監控 vpd 系統 nim 初始 數據包 可能 VRRP協議是什麽 VRRP是一種容錯協議,它通過把幾臺路由設備聯合組成一臺虛擬的路由設備,並通過一定的機制來保證當主機的下一跳設備出現故障時,可以及時將業務切換到其它設備,從而保持通訊的連續性和可靠性。

DALI2調光協議簡介

傳輸 com 生產 認證 自動 image order str ima DALI2調光協議簡介 一、概述(13923882807-QQ:813267849) 歡迎使用本公司的DALI解碼模塊,擁有“DALI第一套協議” (DALI 1.0),“DALI第二套協議

ARP協議簡介

inter 切換 nat 三層 網絡 blog 欺騙 -s .com ARP協議和DNS相似,DNS是域名和IP之間解析,ARP是IP地址轉換MAC地址 ARP協議要求通信的主機雙方必須在同一個物理網段(局域網) ARP簡介 ARP全稱:“Address Resolu

DHCP協議簡介

DHCP1,dhcp client向網絡上的dhcp server發送dhcp discover廣播報文。 2,dhcp server收到dhcp client的discover報文後,回復dhcp offer報文,offer報文有給客戶端分配的IP和服務器自己的IP。 3,dhcp client收到若幹個服

系統安全之數據的加密和解密、CA的介紹、SSL或TLS協議簡介及握手過程

網絡運維 網絡通信需要安全 所謂的網絡通信就是進程與進程之間的通信 然而進程的通信一般可以分成兩類:1、同一主機之間的進程通信

03 接口測試之HTTP協議簡介

ftp 路徑 遇到 區別 .cn 史記 scheme ram 現在 一、URL模式   URL(Uniform Resource Locator) 地址用於描述一個網絡上的資源, 基本格式如下:   scheme指定底層使用的協議(例如:HTTP,HTTPS,ftp)   

TCP/IP協議 簡介

sele 如何 xxx 簡介 server dad ping 用戶數 事件 TCP/IP協議 一、層次劃分:   層次:鏈路層==>網絡層==>傳輸層==>應用層   理論層次:物理層==>數據鏈路層==>網絡層==>傳輸層==>

軟交換接口與信令協議簡介

二進制 問題 長度 sap 發現 服務 區別 接口 包括 軟交換 原帖地址http://www.51hei.com/bbs/dpj-44943-1.html 是網絡演進以及下一代分組網絡的核心設備之一,它獨立於傳送網絡,主要完成呼叫控制、資源分配、協議處理、路由、認證、計費