期末計(jì)網(wǎng)滿績(jī)計(jì)劃
教材:計(jì)算機(jī)網(wǎng)絡(luò)(第七版)謝希仁版
應(yīng)用層
1. 網(wǎng)絡(luò)應(yīng)用程序的體系結(jié)構(gòu):
1.1 C/S
C:client,S:server
服務(wù)器:
- 永遠(yuǎn)在線
- 具有固定的、眾所周知的IP地址
- 使用數(shù)據(jù)中心提供不間斷服務(wù)
客戶機(jī):
- 只與服務(wù)器通信
- 可以間歇地連接服務(wù)器
- 可以具有動(dòng)態(tài)的IP地址
- 彼此之間并不通信
1.2 P2P
- 無(wú)需永遠(yuǎn)在線的服務(wù)器
- 任意的端系統(tǒng)直接通信
- 對(duì)等方彼此請(qǐng)求服務(wù),并提供服務(wù)
- 對(duì)等方間歇地連接,并允許改變IP地址
2. 域名結(jié)構(gòu)
任何一個(gè)連接互聯(lián)網(wǎng)上面的路由器或是主機(jī),都有一個(gè)唯一的層次結(jié)構(gòu)的名字,即域名。域名只是一個(gè)邏輯概念,他不代表主機(jī)或是路由器的物理地址。
頂級(jí)域名有三種:
- 國(guó)家頂級(jí)域名:cn表示中國(guó),us表示美國(guó),uk表示英國(guó)
- 通用頂級(jí)域名:com表示公司企業(yè),net表示網(wǎng)絡(luò)服務(wù)機(jī)構(gòu),org表示非營(yíng)利性組織,int表示國(guó)際組織,
- 基礎(chǔ)結(jié)構(gòu)頂級(jí)域名:arpa,用于反向域名解析,因此也叫反向域名。
二級(jí)域名有兩種:
- 類別域名:ac,edu,gov等等
- 行政區(qū)域名 :bj、fj
3. 域名解析過(guò)程
本地服務(wù)器采用迭代查詢
本地服務(wù)器采用遞歸查詢
假定域名為m.xyz.com的主機(jī)想知道另一條主機(jī)(域名為y.abc.com)的IP地址。有以下幾個(gè)查詢步驟:
- 主機(jī)m.xyz.com先向本地域名服務(wù)器dns.xyz.com進(jìn)行遞歸查詢。
- 本地域名服務(wù)器采用迭代查詢。它先向一個(gè)根域名服務(wù)器查詢。
- 根域名服務(wù)器告訴本地域名服務(wù)器,下一次應(yīng)查詢的頂級(jí)域名服務(wù)器dns.com的IP地址。
- 本地域名服務(wù)器向頂級(jí)域名服務(wù)器dns.com進(jìn)行查詢。
- 頂級(jí)域名服務(wù)器dns.com告訴本地域名服務(wù)器,下一次應(yīng)查詢的權(quán)限域名服務(wù)器dns.abc.com的IP地址。
- 本地域名服務(wù)器向權(quán)限域名服務(wù)器dns.abc.com進(jìn)行查詢。
- 權(quán)限域名服務(wù)器dns.abc.com告訴本地域名服務(wù)器,下一次應(yīng)查詢的主機(jī)的IP地址。
- 本地域名服務(wù)器最后把查詢結(jié)果告訴主機(jī)m.xyz.com。
我們注意到,這8個(gè)步驟總共要使用8個(gè)UDP用戶數(shù)據(jù)報(bào)的報(bào)文。本地域名服務(wù)器經(jīng)過(guò)三次迭代查詢后,從權(quán)限域名服務(wù)器dns.abc.com得到了主機(jī)y.abc.com的IP地址,最后把結(jié)果返回給發(fā)起查詢的主機(jī)m.xyz.com。
4. 萬(wàn)維網(wǎng)
萬(wàn)維網(wǎng)是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息儲(chǔ)藏所。
4.1 URL
統(tǒng)一資源定位符URL:
用來(lái)表示從互聯(lián)網(wǎng)上得到的資源位置和訪問(wèn)這些資源的方法。
URL的組成:
<協(xié)議>://<主機(jī)>:<端口>/<路徑>
例如:
http://127.0.0.1:5000/index
協(xié)議 : // 主機(jī) :端口/路徑
4.2 HTTP
超文本傳送協(xié)議HTTP
HTTP是面向事務(wù)的應(yīng)用層協(xié)議。HTTP本身是無(wú)連接的,是無(wú)狀態(tài)的。
HTTP報(bào)文結(jié)構(gòu)
由于HTTP是面向文本的,因此在報(bào)文中的每一個(gè)字段都是一些ASCII碼串,因此各個(gè)字段的長(zhǎng)度都是不確定的。
HTTP請(qǐng)求報(bào)文和響應(yīng)報(bào)文都是由三個(gè)部分組成的。
- 開(kāi)始行,用于區(qū)分請(qǐng)求報(bào)文還是響應(yīng)報(bào)文,在請(qǐng)求報(bào)文中的開(kāi)始行叫做請(qǐng)求行,而在響應(yīng)報(bào)文中開(kāi)始行叫做狀態(tài)行。CR和LF分別代表回車和換行
- 首部行,用來(lái)說(shuō)明瀏覽器、服務(wù)器或報(bào)文主體的一些信息,每一行在結(jié)束的地方都要由回車和換行。
- 實(shí)體主體,在請(qǐng)求報(bào)文中一般都不用這個(gè)字段,而在響應(yīng)報(bào)文中也可能沒(méi)有這個(gè)字段。
4.3 靜態(tài)頁(yè)面
靜態(tài)頁(yè)面,即靜態(tài)網(wǎng)頁(yè),是實(shí)際存在的,無(wú)需經(jīng)過(guò)服務(wù)器的編譯,直接加載到客戶瀏覽器上顯示出來(lái)。
靜態(tài)頁(yè)面需要占一定的服務(wù)器空間,且不能自主管理發(fā)布更新的頁(yè)面,如果想更新網(wǎng)頁(yè)內(nèi)容,要通過(guò)FTP軟件把文件DOWN下來(lái)用網(wǎng)頁(yè)制作軟件修改(通過(guò)fso等技術(shù)例外)。常見(jiàn)的靜態(tài)頁(yè)面舉例:.html擴(kuò)展名的、.htm擴(kuò)展名的。
4.4 動(dòng)態(tài)頁(yè)面
文檔的內(nèi)容是在瀏覽器訪問(wèn)萬(wàn)維網(wǎng)服務(wù)器是才由應(yīng)用程序動(dòng)態(tài)創(chuàng)建的。
與靜態(tài)網(wǎng)頁(yè)相對(duì)應(yīng)的,能與后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行交互,數(shù)據(jù)傳遞。也就是說(shuō),網(wǎng)頁(yè) URL的后綴不是.htm、.html、.shtml、.xml等靜態(tài)網(wǎng)頁(yè)的常見(jiàn)形動(dòng)態(tài)網(wǎng)頁(yè)制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式為后綴,并且在動(dòng)態(tài)網(wǎng)頁(yè)網(wǎng)址中有一個(gè)標(biāo)志性的符號(hào)——“?”
4.5 活動(dòng)頁(yè)面
這種技術(shù)是把所有的工作都轉(zhuǎn)移給瀏覽器端。每當(dāng)流浪其請(qǐng)求一個(gè)活動(dòng)文檔時(shí),服務(wù)器就返回一段活動(dòng)文檔程序副本,使該程序副本在瀏覽器端運(yùn)行。這時(shí),活動(dòng)文檔程序的內(nèi)容就可以連續(xù)地改變。并可連續(xù)地改變屏幕地顯示。只要用戶運(yùn)行活動(dòng)文檔程序,活動(dòng)文檔的內(nèi)容就可以連續(xù)地改變。由于活動(dòng)文檔技術(shù)不需要服務(wù)器地連續(xù)更行傳送,對(duì)網(wǎng)絡(luò)帶寬的要求也不會(huì)太高。
4.6 搜索引擎
在萬(wàn)維網(wǎng)中用來(lái)進(jìn)行搜索的工具。
5. 電子郵件系統(tǒng)主要協(xié)議,內(nèi)容傳送編碼
電子郵箱主要有兩個(gè)重要標(biāo)準(zhǔn):簡(jiǎn)單郵件傳送協(xié)議SMTP、互聯(lián)網(wǎng)文本報(bào)文格式
用戶代理UA就是用戶與電子郵件系統(tǒng)的接口,在大多數(shù)情況下他就是運(yùn)行在用戶電腦中的一個(gè)程序,因此用戶代理又稱為電子郵件客戶端軟件。用戶代理向用戶提供一個(gè)很友好的接口(目前主要是窗口界面)來(lái)發(fā)送和接收郵件?,F(xiàn)有的用戶代理有Foxmail、Outlook Express等等
用戶代理至少應(yīng)當(dāng)具有以下4個(gè)功能:
- 撰寫(xiě)
- 顯示
- 處理
- 通信
5.1 SMTP
SMTP規(guī)定了兩個(gè)相互通信的SMTP進(jìn)程之間應(yīng)如何交換信息。由于SMTP使用客戶服務(wù)器方式,因此負(fù)責(zé)發(fā)送郵件的SMTP進(jìn)程就是SMTP客戶。
下面是發(fā)送方和接收方的郵件服務(wù)器之間的SMTP通信的三個(gè)階段。
- 建立連接
SMTP不使用中間的郵件服務(wù)器。不管發(fā)送方和接收方這兩個(gè)郵件服務(wù)器相隔多遠(yuǎn),不管在郵件傳送過(guò)程中要經(jīng)過(guò)多少個(gè)路由器,TCP連接總是在發(fā)送方和接收方這兩個(gè)郵件服務(wù)器之間直接建立。當(dāng)接收方郵件服務(wù)器出故障而不能工作時(shí),發(fā)送方郵件服務(wù)器只能等待一段時(shí)間后再嘗試和該郵件服務(wù)器建立TCP連接,而不能先找一個(gè)中間的郵件服務(wù)器TCP連接。 - 郵件傳送
郵件的傳送從MAIL命令開(kāi)始。MAIL命令后面有發(fā)件人的地址。 - 連接釋放
郵件發(fā)送完畢后,SMTP客戶應(yīng)發(fā)送QUIT命令。SMTP服務(wù)器返回的信息是221(服務(wù)關(guān)閉),表示SMTP同意釋放TCP連接。郵件傳送的全部過(guò)程即結(jié)束。
6. 各種網(wǎng)絡(luò)應(yīng)用相關(guān)協(xié)議及其端口號(hào)
網(wǎng)絡(luò)協(xié)議 | 協(xié)議名稱 | 端口號(hào) |
---|
Telnet | 遠(yuǎn)程登陸協(xié)議 | 23號(hào)端口 |
SMTP | 簡(jiǎn)單郵件傳送協(xié)議 | 25號(hào)端口 |
POP3 | 郵局協(xié)議版本3 | 110號(hào)端口 |
HTTP | 超文本傳輸協(xié)議 | 80號(hào)端口 |
DNS | 域名解析服務(wù) | 53號(hào)端口 |
SNMP | 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 | 161號(hào)端口 |
TFTP | 簡(jiǎn)單文件傳輸?shù)膮f(xié)議 | 69號(hào)端口 |
FTP | 文件傳送協(xié)議 | 服務(wù)器端是21;客戶機(jī)端是20 |
DHCP協(xié)議 | 動(dòng)態(tài)主機(jī)配置協(xié)議 | 服務(wù)器端是67;客戶機(jī)端是68 |
HTTP | 超文本傳送協(xié)議 | 80 |
HTTPS | 超文本傳輸安全協(xié)議 | 443 |
7. socket 編程接口
通過(guò)套接字API提供兩類運(yùn)輸服務(wù):
- UDP:不可靠數(shù)據(jù)報(bào)
- TCP:可靠,面向字節(jié)流
例子:客戶機(jī)-服務(wù)器app
- 客戶機(jī)從標(biāo)準(zhǔn)輸入如入一行字符,經(jīng)套接字發(fā)送給服務(wù)器。
- 服務(wù)器從套接字讀該行
- 服務(wù)器將字符全部轉(zhuǎn)換成大寫(xiě),向客戶機(jī)發(fā)送
- 客戶機(jī)從套接字讀出并打印已被修改的行
客戶機(jī)必須聯(lián)系服務(wù)器
- 服務(wù)器進(jìn)程必須預(yù)先運(yùn)行
- 服務(wù)器必須已經(jīng)生成套接字,以歡迎客戶機(jī)的聯(lián)系
客戶機(jī)聯(lián)系服務(wù)器,通過(guò):
- 創(chuàng)建客戶機(jī)本地TCP套接字
- 定義服務(wù)器進(jìn)程的IP地址,端口號(hào)
- 當(dāng)客戶機(jī)產(chǎn)生套接字時(shí):客戶機(jī)TCP創(chuàng)建到服務(wù)器TCP的鏈接。
當(dāng)客戶機(jī)聯(lián)系時(shí),服務(wù)器TCP為服務(wù)器進(jìn)程生成新的套接字,以與客戶機(jī)通信
- 允許服務(wù)器與多個(gè)客戶端交談
- 源端口號(hào)用于區(qū)分不同客戶端