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

網路協議各類簡介

網路協議與標準是基於OSI七層模型,每一層都有其對應的協議。


下面挑幾個熟悉的協議標準:

一,TCP/IP

TCP/IP是分層協議,如層次圖所示:從底層到應用層,分別是物理層,鏈路層,網路層,傳輸層,應用層。資料是層層封裝,封裝的方式一般都是在原有資料的前面加一個數據控制頭,資料封裝格式如資料封裝圖所示。

二,HTTP協議

從上面兩個圖,可以看到,HTTP(hypertexttransfer protocol ,超文字傳輸協議)是基於TCP協議可靠傳輸的應用層協議。簡單理解,HTTP是一種請求響應式協議,一個客戶機和伺服器建立連線後,傳送一個請求給伺服器;伺服器接到請求後,給予相應的響應資訊。

HTTP是一種無狀態協議,即不儲存狀態,每當有新的請求傳送時,就會產生對應的新響應,協議本身並不保留之前的一切請求或響應報文的資訊,這樣可以更快的處理大量事物,確保協議的可伸縮性,但同時也帶來一些不便,比如,使用者登入到一家購物網站,如果他跳轉到該網站其他頁面,也是希望能繼續保持登入狀態,為了實現期望的保持狀態功能,於是引入Cookie技術,(Cookie技術通過在請求和響應報文中寫入Cookie資訊來控制客戶端的狀態。Cookie會根據從伺服器端傳送的響應報文內的一個叫做Set-Cookie的首部欄位資訊,通知客戶端儲存Cookie,當客戶端下次再往伺服器端傳送請求時,客戶端會自動在請求報文中加入Cookie值後傳送出去。伺服器端發現客戶端傳送過來的Cookie後,會去檢和比對伺服器上的記錄,最後得到之前的狀態資訊。)

HTTP使用明文,本身不具備加密的功能,同時它所基於的TCP/IP網也是很容易被竊聽的網路,所以即使傳輸的報文經過加密,也只是在破解上增加障礙而已。HTTP協議沒有加密機制,後來人們引入SSL(secure socketlayer ,安全套接層)和TLS(Transport layer security,安全傳輸層協議)結合使用的手段,也就是現在常說的HTTPS,簡而言之,HTTPS就是身披SSL協議的HTTP了。在HTTP協議通訊時,本身是不存在確認通訊方的步驟,也就是說,任何人都可以發起請求,伺服器不管對方是誰都會響應。所以會出現一些常見的隱患:

·                      

無法確定請求傳送至目標的Web伺服器是否是按真實意圖返回響應的那臺伺服器。即我傳送給A伺服器的請求,被一臺偽裝成A的伺服器給接收了。

·                      無法確定響應返回到的客戶端是否是按真實意圖接收響應的那個客戶端。即伺服器想傳送給我的東西,被一個偽裝成我的人給拿走了。

·                      無法確定正在通訊的對方是否具備訪問許可權。因為某些Web伺服器上儲存著重要的資訊,只想發給特定使用者通訊的許可權。

·                      無法判定請求是來自何方,出自誰手。

·                      即使是無意義的請求也會照單全收,無法阻止海量請求下的

DoS攻擊。

所以在HTTP上引入SSL後,SSL不僅提供加密處理,而且用了一種被稱為證書的手段,可使用者確定方,可以減少資訊洩露的危險性。 另外由於HTTP協議無法證明報文的完整性,因此在請求或響應傳輸中,即使內容遭到篡改也無從得知。比如,有可能你從伺服器請求一張正常的圖片,結果在傳輸過程中被人改成了一張限制級的圖片,結果你就被查水錶了。

三,Telnet協議

Telnet協議是TCP/IP協議族,是Internet遠端登入服務標準協議,應用這個協議,能夠把本地使用者所使用的計算機變成遠端主機系統的一個終端。具體說來,它實現三種基本服務。

其一,Telnet定義一個網咯虛擬終端為遠的系統提供一個標準介面。客戶機只需構造使用標準介面的程式即可。

其二,Telnet包括一個允許客戶機和伺服器協商選項的機制,而且還提供一組標準選項。

其三,Telnet對稱處理連線的兩端。

四,FTP協議

FTP是網路共享檔案的傳輸協議,目標是提高檔案的共享性和可靠地傳輸資料。相比HTTP協議,FTP協議要相對複雜,她的命令和資料會分開傳送。在傳輸檔案時,FTP 客戶端程式先與伺服器建立連線,然後向伺服器傳送命令。伺服器收到命令後給予響應,並執行命令。FTP 協議與作業系統無關,任何作業系統上的程式只要符合 FTP 協議,就可以相互傳輸資料。FTP使用 2 個埠,一個數據埠和一個命令埠(也叫做控制埠)。這兩個埠一般是21(命令埠)和 20 (資料埠)。控制 Socket 用來傳送命令,資料 Socket 是用於傳送資料。每一個 FTP 命令傳送之後,FTP 伺服器都會返回一個字串,其中包括一個響應程式碼和一些說明資訊。其中的返回碼主要是用於判斷命令是否被成功執行了。有主動模式和被動模式兩種。

主動模式 (PORT),客戶端隨機開啟一個大於 1024 的埠向伺服器的命令埠 P,即 21 埠,發起連線,同時開放N +1 埠監聽,並向伺服器發出“port N+1” 命令,由伺服器從它自己的資料埠 (20) 主動連線到客戶端指定的資料埠 (N+1)。FTP 的客戶端只是告訴伺服器自己的埠號,讓伺服器來連線客戶端指定的埠。對於客戶端的防火牆來說,這是從外部到內部的連線,可能會被阻塞。

被動模式 (PASV),為了解決伺服器發起到客戶的連線問題,有了另一種 FTP 連線方式,即被動方式。命令連線和資料連線都由客戶端發起,這樣就解決了從伺服器到客戶端的資料埠的連線被防火牆過濾的問題。被動模式下,當開啟一個 FTP 連線時,客戶端開啟兩個任意的本地埠 (N > 1024 和 N+1) 。第一個埠連線伺服器的21 埠,提交 PASV 命令。然後,伺服器會開啟一個任意的埠 (P > 1024 ),返回如“227 entering passive mode (127,0,0,1,4,18)”。 它返回了 227 開頭的資訊,在括號中有以逗號隔開的六個數字,前四個指伺服器的地址,最後兩個,將倒數第二個乘 256 再加上最後一個數字,這就是FTP 伺服器開放的用來進行資料傳輸的埠。如得到 227 entering passive mode (h1,h2,h3,h4,p1,p2),那麼埠號是 p1*256+p2,ip 地址為h1.h2.h3.h4。這意味著在伺服器上有一個埠被開放。客戶端收到命令取得埠號之後, 會通過 N+1 號埠連線伺服器的埠 P,然後在兩個埠之間進行資料傳輸。

文章資料來源於網路。

相關推薦

網路協議各類簡介

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

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

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

常見網路協議簡介

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  

網路協議TCPIP、IPXSPX、NETBEUI簡介

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

【轉載】TCP協議狀態簡介

正在 如果 接下來 告訴 ket 正常 主動 基本上 一個 1、建立連接協議(三次握手)(1)客戶端發送一個帶SYN標誌的TCP報文到服務器。這是三次握手過程中的報文1。(2) 服務器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ACK標誌和SYN標誌。因此它表

Http協議簡介

一、首先來一段網上的經典問題,在網路中,傳輸資料需要面臨的三個問題: 1、客戶端是如何知道所請求的內容的位置? 2、當知道了所求的內容後,如何去獲取內容? 3、所求的內容將以何種形式來呈現在客戶端來便於客戶去識別? 大家可以先自己想想看。     &n

OSI 和TCP/IP對應的網路協議

TCP/IP:  資料鏈路層:ARP,RARP 網路層: IP,ICMP,IGMP 傳輸層:TCP ,UDP,UGP 應用層:Telnet,FTP,SMTP,SNMP. OSI: 物理層:EIA/TIA-232, EIA/TIA-499, V.3

二層三層網路協議-閘道器

  區域網的電腦想連線外網有兩個辦法 1.找一臺電腦,安裝兩個網絡卡,一個連內網,一個連外網,然後所有人都連這臺機器做跳板 2.找個路由器 1和2原理是類似的,只是1是用程式實現的,2是嵌入式的系統 IP資料包格式 IP格式裡面有源IP,目標IP 版本就是IPv4和I

二層三層網路協議-ICMP和ping

  ICMP協議 Internet Control Message Protocol 網際網路控制報文協議 協議型別如下   ping程式主要是使用了ICMP協議裡面的 echo request,echo reppply型別 查詢和應答報文,會有

二層三層網路協議-交換機與VLAN

一個辦公室內部,可能由多個交換機組成,共同組成了一個大的區域網 假設一個區域網分佈關係如下 當機器1 要傳送資料給機器4的時候,就會發送廣播尋找機器4的mac地址交換機A 收到 機器1的廣播包之後,會轉發給所有埠機器2也收到了,發現不是自己就丟棄這個資料包交換機B也收到了這個廣播包,再廣

二層三層網路協議-從物理層到MAC層

網線有兩種連線方式 1.連線網口的 2.電腦連電腦的 網線的1,2和3,6腳分別起著收,發訊號的作用 將一端的1號和3號線,2號和6號線位置互換一下,就能在物理層實現一端傳送訊號,另一端接收 之後就是設定 子網掩碼,預設閘道器,IP地址 如果有三臺,或者更多的電腦,就需要用 HUB連

趣談網路協議-通訊協議綜述-DHCP和PXE

動態主機配置協議HDCP(Dynamic Host Configuration Protocol)  DHCP協議的請求流程 DHCP的工作流程1.客戶端會以廣播的方式傳送一個請求2.伺服器收到資料報之後也會以廣播的方式迴應,迴應的資料包裡面包含了要分配的IP3.客戶端以廣播的

趣談網路協議-通訊協議綜述-ip地址

      ip address命令如下 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:0

IOI 1996 網路協議

一些學校連線在一個計算機網路上。學校之間存在軟體支援協議。每個學校都有它應支援的學校名單(學校 aaa 支援學校 bbb,並不表示學校 bbb 一定支援學校 aaa)。當某校獲得一個新軟體時,無論是直接得到還是網路得到,該校都應立即將這個軟體通過網路

網路協議】 ifconfig,IPaddr命令

1. ip addr → 不知道基本沒有用Linux 2. ifconfig 和 ip addr 的區別嗎? 3. CIDR 4. 共有IP和私有IP 5. MAC地址 6. 網路裝置的狀態標識 # 知識點: ## 核心: 1. IP設計時犯的錯誤? 低估了未來網路的發展,32位地址不夠用。於是

網路協議 2 - IP 是怎麼來,又是怎麼沒的?

瞭解完網路協議,我們會發現,網路通訊的五層模型裡,有兩個很重要的概念:IP 地址和 MAC 地址。 那麼 IP 地址是怎麼來的,又是怎麼沒的?MAC 地址與 IP 地址又有什麼區別? 這回答上面問題前,先熱下身,大家知道如何檢視本機的 IP 嗎?這個問題,即便是沒有專業學過計算機的人,只要折

iSCSI網路協議.學習筆記

Internet SCSI(iSCSI)是一種網路協議,使用TCP/IP網路來傳輸SCSI協議。它是代替FC(Fibre Channel-based,光纖通道) SAN的很好選擇。你可以在Linux下方便的管理、掛載、格式化iSCSI卷,它允許通過網路訪問SAN儲存裝置。   安裝步驟 1.