接著寫計算機網路的知識點,這次寫osi模型中的應用層,也就是最頂層。這一層也是與我們聯絡最緊密的一層。
1.應用層協議原理
研發網路應用程式的核心是寫出能夠執行在不同的端系統和通過網路批次通訊的程式,而現代網路應用程式體系結構有兩大主流結構:客戶-伺服器(c/s)體系結構或對等(p2p)體系結構。
(1)客戶-伺服器體系:伺服器總是處於工作之中,並且客戶之間相互不能直接通訊,必須通過伺服器;另外乙個特徵是該伺服器具有固定的、周知的位址,也就是ip位址。
(2)p2p體系:對等方通訊不必通過專門的伺服器,自己相互之間就能進行通訊交流。
2.程序通訊
(1)網路應用程式是由成對的程序組成,這些程序通過網路相互傳送報文。對每對通訊程序,我們將其中的乙個標記為客戶(client,一般為發起通訊的一方),另乙個標記為伺服器(server,等待聯絡的一方)。
(2)套接字:程序通過套接字向網路傳送報文和從網路接收報文。套接字就是程序和計算機之間的介面,也是應用層和運輸層之間的介面。
(3)程序定址:對於需要接收分組的程序,該程序需要乙個位址。那麼需要定義兩種資訊:(a)主機位址(也就是ip位址),(b)程序識別符號(也就是埠號)。
3.應用層協議
定義了執行在不同端系統上的應用程式如何相互傳遞報文。例如web的應用層網路協議是http,電子郵件的主要應用層協議是smtp。
(1)web和http:http(超文字傳輸協議),它是web的核心。http定義了web客戶向web伺服器請求web頁面的方式,以及伺服器向客戶傳送web頁面的方式。http使用tcp作為它的支撐運輸協議(也就是不用擔心資料丟失)。web伺服器總是開啟的,具有乙個固定的ip位址。埠號為80
注意:http不儲存關於該使用者的狀態資訊,也就是說是乙個無狀態協議。
<1>http請求報文和響應報文:
<2>常見的響應狀態碼:
200 :請求成功
301 :請求的物件已被永久轉移了
400 :該請求不能被伺服器理解
404 :被請求的文件不在伺服器上
505 :伺服器不支援請求報文使用的http協議版本
<3>使用者與伺服器的互動:cookie
正常情況下,http是不保留使用者的資訊的,因為是無狀態協議。但是一般web服務站點一般希望能標識使用者,因此http使用了cookie。cookie技術有4個元件:
(a)在響應報文中的乙個cookie首部行。
(b)在http請求報文中的乙個cookie首部行。
(c)在使用者端系統中保留乙個cookie檔案,並由使用者的瀏覽器進行管理。
(d)位於web站點的乙個後端資料庫。
(2)檔案傳輸協議:ftp
http和ftp都屬於文字傳輸協議,並且有很多共同點,但是也有一些重要的區別。其中最顯著的乙個不同就是:ftp使用了兩個並行的tcp連線來傳輸檔案,乙個是控制連線,另乙個是資料連線。控制連線用於在兩主機之間傳輸控制資訊;資料連線用於實際傳送乙個檔案。埠號為21
ftp在同乙個會話期間,如果使用者還需要傳輸另乙個檔案,那麼ftp就會開啟另外乙個資料連線(也就是說資料連線是非持續的),而控制連線則是貫穿了整個使用者回話期間。而且ftp必須在整個會話期間保留使用者的狀態,也就是對每個進行中的會話的狀態資訊進行追蹤,這也就大大限制了ftp同時維持的會話總數。從這一點上說,http是不需要對任何使用者進行追蹤的。
(3)簡單郵件傳輸協議:smtp
smtp是網際網路電子郵件彙總主要的應用層協議,他是用tcp可靠資料傳輸服務。埠號為25
注意:smtp一般不使用中間郵件伺服器傳送郵件,即使這兩個郵件伺服器位於地球的兩端也是這樣。
smtp使用的是持續連線,如果傳送郵件伺服器有幾個報文發往同乙個接收郵件伺服器,它可以通過同乙個tcp連線傳送這些所有的報文。http也使用持續連線。
注意一點:從郵件伺服器到瀏覽器以及從瀏覽器到郵件伺服器用的是http,從郵件伺服器到郵件伺服器用的是smtp。
(4)dns:網際網路的目錄服務(dns也是一種應用層協議)
網際網路上的主機可以使用多種標識方式來標識自己,比如主機名或者ip位址。相比之下,人類明顯喜歡用主機名,而路由器則喜歡用規則性極強的ip位址。為了折衷這兩種方式,我們使用dns(網域名稱系統)來進行從主機名到ip位址轉換的目錄服務。
dns是:
<1>乙個由分層的dns伺服器實現的分布式資料庫
<2>乙個使得主機能夠查詢分布式資料庫的應用層協議
dns執行在udp協議之上,使用53號埠。
(5)p2p應用:
<1>第一種應用是檔案分發,其中應用程式從單個源向大量的對等方分發乙個檔案。其中代表協議是bittorrent協議,這也就是眾多高校中的資源論壇使用的。
<2>第二種應用是分布在大型對等方社群中資料庫。相關概念是分布式雜湊表(dht)。
關於應用層的主要知識點大概就是這些,剩下的比如時延、吞吐量等的計算問題,以及p2p中的各種底層原理就不說了,想詳細了解的就去看書吧。
計算機網路總結(2)
ipv4的位址長度為32bit,標準分類的ip位址是由網路號和主機號組成,用點分十進位制表示。ip位址的指派範圍 一般不使用的特殊ip位址 1 ip資料報格式 ip資料報的格式能夠說明ip協議都具有什麼功能。在tcp ip的標準中,各種資料格式常常以32位 即4位元組 為單位來描述。乙個ip資料報由...
計算機網路學習總結
第一章 概述 網際網路的結構,廣域網 wan 都會網路 man 區域網 lan 個人區域網 pan 無線區域網 wlan 無限個人域網 wpan 第二章 物理層 傳輸位元 並行傳輸 序列傳輸 通訊匯流排上一般是序列傳輸 模擬訊號 連續的訊號 數碼訊號 離散的訊號,使用2進製時只有01兩種碼元 通道 ...
學習總結 計算機網路
第一次握手,建立連線時,客戶端首先傳送syn包到伺服器,等待伺服器確認。第二次握手,伺服器收到syn包,傳送ack包和自己的syn包給客戶端 第三次握手,客戶端收到伺服器的ack和syn包,向伺服器傳送ack包,客戶端和伺服器就開始傳送資料。第一次揮手,客戶端向伺服器傳送乙個fin包。第二次揮手,伺...