計算機網路應用層-計網(2)
前言
接著學習計算機網路
正文
主要學習應用層涉及到的幾個協議。
基本概念
- 通訊雙方在應用層交換的協議資料單元是報文(Message).
- client-server架構:中央伺服器一直線上,並且有永久的ip地址。
- p2p架構:沒有一直線上的中央伺服器,任意兩個使用者之間可以進行通訊。
- 混合架構:client-server和p2p混合架構,集合二者的特點。
協議定義
- 交換的報文型別
- 報文的語法格式
- 報文中欄位的語意
- 各種型別的報文的傳送規則
http協議
全球資訊網
全球資訊網是一個超媒體系統。web文件分佈在各個主機上,採用超連結的方法,講一個web文件連結到另一個web文件,甚至是其他主機上的web文件。使用超文字標記語言(html)來組織web文件資訊,使用超文字傳輸協議(http)來傳輸web文件。
超文字標記語言
html語言用來編寫web文件,由特定標籤定義內容。
統一資源定位符
URL是一種統一格式的資訊資源地址的標識方法。最常見的就是http協議的url了。
其格式如下
<協議>://<主機>:<埠>/<路徑>
url不分大小寫
超文字傳輸協議
http是用來傳輸web資訊的協議。廣泛用來瀏覽器-伺服器傳輸內容。其在運輸層的協議是tcp。
RTT的定義:client端傳送資料報至接收到server端迴應的時間。
分類
- 非持久連線
http1.0,一個tcp連線傳送一個object - 持久連線
http2.0,一個tcp連線傳送多個object
連線過程
http在傳輸層是基於tcp的,所以必定要進行tcp連線,而http連線幾次就要看一次可以傳送接收多少個object。
-
非持久連線
client首先發送tcp資料報至server—>server accept了client的連線,併發出迴應—>client得到server的tcp迴應傳送http請求報文—>server收到請求報文並且傳送響應報文—>server關閉tcp連線—>client接收響應報文並做響應解析。
一個object傳輸總時間為:2RTT+object傳輸時間 -
持久連線
持久連線的不同之處在於,傳送了響應報文,server並不馬上關閉tcp連線,之後可以再次傳送object
報文
報文分為請求報文和響應報文。
- 請求報文
格式
請求行: 方法 路徑 httpversion
首部行: Host:value
·
·
·
如
GET /test/test http1.1
Host:www.host.com
User-agent: Mozilla/4.0
Connection:close
Accept-language:fr
- 響應報文
比如
HTTP1.1 200 OK
Connection:close
Date:
伺服器:Apache/1.3.0 (Unix)
Last-Modified:
Content-Length:
Content-Type:
data....
一些狀態碼和狀態短語
- 200 OK
請求成功,請求物件在報文後面 - 301 moved permanently
資源已經轉移,新的url的location在首部行指定 - 400 Bad Request
不符合請求報文規則,請求報文不為伺服器理解 - 404 Not found
資源不存在 - 500 Http version not supported
伺服器錯誤
ftp協議
ftp使用20和21埠,可以在自己伺服器配置ftp。詳情
ftp常用的命令列
命令 | 作用 |
---|---|
? | 檢視所有命令使用幫助 |
open | 開啟一個ftp伺服器 |
user | 切換ftp使用者 |
put | 上傳本地檔案至ftp伺服器 |
get | 下載ftp伺服器檔案至本地 |
郵件協議
電子郵件由四部門組成
- 使用者代理
- 郵件伺服器
- 郵件傳輸協議
- 郵件訪問協議
- smtp
標準文字格式為
終端smtp互動例項,可以看這個smtp互動 - pop3
分為兩個階段
- 認證階段
使用者密碼的驗證 - 事物階段
對一些郵件的基本操作
終端pop3互動例項,可以看這個pop3互動
dns系統
dns系統完成域名-ip地址的對映。
域名伺服器
- 跟域名伺服器
是最高層次的域名伺服器,internet上有13套跟域名伺服器。跟域名伺服器上面儲存了頂級域名伺服器的IP。 - 頂級域名伺服器
跟域名之下是頂級域名,負責管理的是在該頂級域名註冊的所有權威域名。儲存著下一步要查詢的域名伺服器的ip地址。 - 權威域名伺服器
權威域名伺服器中儲存著具體要訪問伺服器ip - 本地域名伺服器
本地域名伺服器存在域名快取,如果有要找的記錄,則直接返回給本地電腦。
域名解析過程
以訪問www.amazon.com為例
- 訪問本地域名伺服器,查詢本地的域名快取,存在直接返回,不存在就轉為查詢跟域名伺服器。
- 查詢跟域名伺服器,得到
.com
的頂級域名的IP地址。 - 查詢得到的頂級域名伺服器,獲得
amazon.com
的IP地址。 - 查詢
amazon.com
域名伺服器,得到IP地址。 - 本地域名伺服器將查詢到的IP地址返回給電腦。
dns記錄格式
Name Value Type TTL
Name一般是節點主機的域名,Value是對應Name的名字,Type指出記錄的型別,TTL是本記錄的生存時間,一般是24hours。
Type | Name | Value |
---|---|---|
A | 主機域名 | 對應的IP地址 |
NS | 域 | 本域的伺服器名稱 |
CNAME | 別名對應的規範主機名 | 域名 |
MX | 郵件伺服器的規範主機名 | 對應郵件伺服器的名稱 |
TXT | 文字 | 未解釋的ASCII碼文字 |
dns報文
- 首部區
標識該次域名解析是查詢還是應答。 - 詢問區
包括被查詢的主機域名以及查詢型別 - 應答區
對域名查詢報文解析出的域名和資源記錄 - 管理機構區
其他權威域名伺服器的記錄 - 附加記錄區
另外包含一些其他有用的記錄來配合資源記錄的使用