




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、,張 基 溫 編著,中國人民大學出版社,(第2版),計算機網(wǎng)絡基礎,第4章 傳輸服務與應用層協(xié)議,4.1 傳輸層模型與傳輸服務 4.2 客戶機/服務器計算模式 4.3套接字編程 4.4 域名服務系統(tǒng) 4.5 文件傳輸協(xié)議 4.6 動態(tài)主機配置協(xié)議 4.7 遠程登錄 4.8 電子郵件 4.9 超文本傳輸 4.10 簡單網(wǎng)絡管理協(xié)議,4.1 傳輸層模型與傳輸服務,4.1.1 傳輸層模型及其設計思想 4.1.2 TCP/UDP服務 4.1.3 TCP/UDP端口,4.1.1 傳輸層模型及其設計思想,1. 傳輸模型,2. 傳輸層的基本開發(fā)思想,面向連接的服務和數(shù)據(jù)報服務,實際上代表了網(wǎng)絡的兩種設計思想
2、,即將分組的差錯和順序控制等復雜的功能放在通信子網(wǎng)中每個結(jié)點上,還是放在傳輸層兩個端主機中。,3. 傳輸層協(xié)議類型與網(wǎng)絡層服務質(zhì)量的關(guān)系,按照質(zhì)量,可以把網(wǎng)絡層的服務分為A、B、C三級: A級網(wǎng)絡提供完善的服務,分組的丟失、重復和錯序極少; C級網(wǎng)絡提供的服務幾乎是不可靠的,它會出現(xiàn)分組丟失和重復分組; B級網(wǎng)絡服務介于A級和C級之間。,網(wǎng)絡層的服務等級與傳輸層協(xié)議類型,4. 有連接的傳輸服務,(1)建立連接 (2)數(shù)據(jù)傳輸 數(shù)據(jù)封裝。 拼接和分割。 多路復用和分流。 流量控制和緩沖管理。 (3)釋放連接 為了進行可靠的連接釋放,比較有效的方法是三次握手方法。,(4)連接表 “連接表項”的結(jié)構(gòu)
3、體: 狀態(tài),遠端網(wǎng)絡地址,遠端端口,本地網(wǎng)絡地址,本地端口,工作區(qū)指針 連接號就是訪問連接表一維數(shù)組時使用的下標。 遠端/本地網(wǎng)絡地址。 工作區(qū)指針。 狀態(tài): IDLE:空閑狀態(tài),表示該連接表項尚未分配,其他各字段均無意義; IN:入連接狀態(tài),表示一個遠端系統(tǒng)正在請求連接,需要本地上層實體接受以建立連接,或拒絕以釋放連接表項; OUT:出連接狀態(tài),表示本地向遠端系統(tǒng)發(fā)出了請求,尚未得到答復。需要對方接受以建立連接,或拒絕以釋放連接表項; CONNECTED:已連接狀態(tài),此后可以進行數(shù)據(jù)傳輸; CLOSING:正在關(guān)閉狀態(tài),表示本地向遠端系統(tǒng)發(fā)出了斷連請求,尚未得到答復。需要對方接受以釋放相應連
4、接表項。,4.1.2 UDP服務,4.1.3 TCP服務,1TCP服務的特征, 端對端的通信 虛電路連接 全雙工通信 面向數(shù)據(jù)流的服務 有緩沖的傳輸 完全可靠性。完全可靠性包括: 可靠連接的建立:當兩個應用創(chuàng)建一個新連接時,兩端必須遵從該新連接,舊連接不影響新連接。 可靠數(shù)據(jù)傳輸:TCP確保通過一個連接發(fā)送的數(shù)據(jù)會同發(fā)送時一樣正確地傳輸,而不發(fā)生數(shù)據(jù)丟失或亂序。 從容關(guān)閉:確保關(guān)閉連接之前傳遞所有的數(shù)據(jù)。,2TCP報文段格式,0 15 16 31,(1)源端口(source port)和目的端口(destination port)。 (2)發(fā)送序號(sequence number,SEQ-N)
5、和確認號(acknowledgment number, ACK-N,即應答號)。 (3)窗口(window)尺寸。 (4)校驗和(checksum)。 (5)任選項(options)。任選項位于TCP頭的尾端,有單字節(jié)和多字節(jié)兩種格式。單字節(jié)格式只有選項類型;多字節(jié)格式由一個字節(jié)的選項類型、多字節(jié)的實際選項數(shù)據(jù)和一個字節(jié)的選項長度(三部分的長度)組成。下面說明TCP協(xié)議必須實現(xiàn)的選項。 (a)選項表尾選項 KIND=0。表示TCP頭中由全部選項組成的選項表結(jié)束,其格式為: 00000000 (b)無操作選項 KIND=1。該選項可能出現(xiàn)在兩個選項之間,作為一個選項分隔符,或提供一種選項字邊界對
6、齊的手段,本身無任何意義。其格式: 00000001 (c)最大段長選項 KIND=2,LENGTH=4。該選項主要用于通知通信連接的對方本地能夠接收的最大段長。它只出現(xiàn)在TCP的初始建鏈請求中(SYN段)。如果在TCP的SYN段中沒有給出該選項,就意味著有能力接收任何長度的段。其格式為: 0000001000000100最大段長 (6) 填充(padding)。當TCP頭由于含有了選項而無法以32位邊界對齊時,將會在TCP頭的尾部出現(xiàn)若干字節(jié)的全0填充。 (7) 控制位(control bits)。也稱標志位,用于設定和檢查控制標志的的值??刂莆还?個,各占1位。 與連接有關(guān)的控制位4個:A
7、CK、RST、SYN、FIN。 URG(urgent flag):緊急指針域有效,即該段中攜有緊急數(shù)據(jù)。 PSH(push flag):認定該段為推進段,即接收到的數(shù)據(jù)不再送緩沖區(qū),盡快交給應用程序。 (8)緊急指針(urgent pointer)。運輸層協(xié)議使用帶外數(shù)據(jù)(out-of-band,OOB)機制來傳輸一些重要數(shù)據(jù),如通信的一方有重要的事情通知對方,需要加速傳送這些通知數(shù)據(jù)。TCP支持一個字節(jié)的帶外數(shù)據(jù),并提供了一種緊急模式:在數(shù)據(jù)分組中設置URG = 1,表示進入緊急模式,同時用緊急指針表明從該段序號開始的一個正向位移,指向緊急數(shù)據(jù)的最后一個字節(jié)。,4.1.5 TCP服務與UDP
8、服務的比較,4.2 客戶機/服務器計算模式,4.2.1 客戶機/服務器計算模式的概念 4.2.2 客戶機/服務器應用方式 4.2.3 TCP/UDP服務器的并發(fā)處理 4.2.4中間件,4.2.1 客戶機/服務器計算模式的概念,4.2.2 客戶機/服務器應用方式,1. 客戶機類應用方式 在客戶機類應用方式中,所有的處理均由客戶機承擔,服務器僅提供文件類服務,如磁盤服務、文件服務和打印服務等。這種應用方式也稱為胖客戶機方式。由于全部任務都放在客戶機中進行,使得配置較高的服務器的CPU優(yōu)勢不能得以有效發(fā)揮,系統(tǒng)的效率不高(特別是在進行大量的數(shù)據(jù)檢索時,要把每一條記錄都讀到工作站內(nèi)存,通信的開銷很大)
9、,數(shù)據(jù)的一致性、安全性難于保證(由于每一臺計算機中,都要存放數(shù)據(jù)庫的一個副本)。 2. 服務器類應用方式 在服務器類應用方式中,所有的處理均由服務器承擔,客戶機僅作為仿真終端注冊到服務器。這類應用方式是一種瘦客戶機方式。所謂的Windows終端就是一種最典型的瘦客戶機,其100%的處理在服務器上進行。 3. 客戶機/服務器類應用方式 這是最典型的客戶機/服務器計算模式: 處理由客戶機和服務器共同承擔, 服務器運行后臺進程、 集中處理作業(yè), 客戶機負責同用戶打交道, 從而真正發(fā)揮了網(wǎng)絡優(yōu)勢。 所謂的瀏覽器/服務器(browser/server)就是一種典型的客戶機/服務器類應用。 4. 分布處理
10、類應用方式 在分布處理類應用方式中,多臺服務器協(xié)同承擔處理工作。圖4.15給出了集中式服務器結(jié)構(gòu)與分布式服務器結(jié)構(gòu)的區(qū)別。,4.2.3 TCP/UDP服務器的并發(fā)處理,1. 循環(huán)處理的UDP服務器,2. 消息驅(qū)動的并發(fā)TCP服務器,3. 多線程并發(fā)TCP服務器,4.2.4中間件,2. 中間件的類型,(1)消息中間件 (2)交易中間件 (3)對象中間件 (4)應用服務器 (5)安全中間件 (6)應用集成服務器,4.3 套接字編程,4.3.1 套接字API 4.3.2 基本socket調(diào)用 4.3.3 客戶機/服務器編程初步,4.3.1 套接字API,4.3.2 基本socket調(diào)用,1. 創(chuàng)建s
11、ocket服務綁定 在應用程序中使用套接字API時,首先要創(chuàng)建一個套接字socket。為了說明什么是socket,可以打個比方:一個電話插座,既可以接電話機打電話,也可以接傳真機發(fā)傳真,還可以接計算機上網(wǎng)。接上什么設備,就是綁定了什么服務。創(chuàng)建一個套接字,就是創(chuàng)建一個通信,需要指定提供什么服務,即為一個標識符綁定某個服務,并為之分配資源。這個標識就是該套接字標識。 應用程序調(diào)用socket函數(shù)將創(chuàng)建一個套接字,其定義為: #include #include intsocket (int domain, int type, int protocol);,(1)domain domain用來指定套
12、接字使用的協(xié)議族。它可以是下列值: PF_INETIPv4版本的TCP/IP協(xié)議族; PF_ISOISO協(xié)議族; PF_CCITTITU-T協(xié)議,XEROX網(wǎng)絡系統(tǒng)協(xié)議; PF_LOCALUNIX域協(xié)議族,本機進程間通信時使用; PF_IPXISO協(xié)議族; PF_X25ITU-T、X.25、ISO 8208協(xié)議; PF_INET6IPv6版本的TCP/IP協(xié)議族; PF_UNIXUNIX域協(xié)議族,本機進程間通信時使用。,(2)type type表示套接字要使用的通信類型。根據(jù)傳輸數(shù)據(jù)的類型,套接字可分如下5種類型: SOCK_STREAM:面向連接的數(shù)據(jù)字節(jié)流套接字(stream socket
13、)。字節(jié)流套接字是最常用的套接字類型,是由TCP協(xié)議使用的接口。它提供面向連接的(建立虛電路)、可靠的通信類型。 SOCK_DGRAM: 無連接的數(shù)據(jù)報套接字(datagram socket)。 數(shù)據(jù)報套接字是UDP協(xié)議使用的接口。 它提供無連接的服務, 以獨立的分組進行網(wǎng)絡傳輸,分組最大長度32KB,傳輸不保證順序性、可靠性和無重復性,通常用于單個報文傳輸或不太重要的通信中。 SOCK_RAW: 原始數(shù)據(jù)報套接字(raw socket)。 原始數(shù)據(jù)報套接字只對Internet有效,可以用來直接訪問IP協(xié)議,一般不提供給普通用戶,主要用于開發(fā)新的協(xié)議或用于提取協(xié)議較隱蔽的功能。 SOCK_SE
14、QPACKET:提供順序的、可靠的、基于固定最大長度數(shù)據(jù)報的、有傳輸路徑的雙向連接。大致與SOCKSTREAM相同。 SOCK_RDM:提供一個可靠的數(shù)據(jù)報層,但不保證報文到達的順序。,(3)protocol protocol表示套接字所使用的特定傳輸協(xié)議。通常設置為0,表示使用默認協(xié)議,如對Internet,當參數(shù)type為流套接字時,默認為TCP協(xié)議;當參數(shù)type為數(shù)據(jù)報套接字時,默認為UDP協(xié)議;當參數(shù)type為原始套接字類型時,由于對多種協(xié)議有效(如ICMP、IGMP等),需要指定protocol參數(shù)。 下面是創(chuàng)建一個TCP套接字的操作: sockfd=socket (AFINET,
15、 SOCKSTREAM, 0); if (sockfd0)* 創(chuàng)建socket不成功時的錯誤處理 * fprintf (stderr, “socket error: %s n”, strerror (error); bexit (1); ,2. 地址綁定,套接字被創(chuàng)建后,僅僅是定義了一個特定服務的描述符,既沒有本地地址,也沒有遠程地址。為了進行通信,要將socket綁定在某一地址上,就好像將電話插座與某個設備連接后,還要給出用戶賬號和主機號一樣。,(1)套接字地址 套接字的地址綁定就是給一個套接字賦予特定協(xié)議端口號,這個地址稱為套接字地址。 Berkeley代碼定義的套接字地址的數(shù)據(jù)結(jié)構(gòu)定義如
16、下: struct sockaddr u_charsa_len;* 地址總長 * u_charsa_family;* 地址族 * charsa_data14;* 地址本身 * ; 其中,sa_family是地址族,指出通信域的地址格式,常用的變量有: AF_ISO(或AF_OSI):ISO協(xié)議地址格式; AF_UNIX:UNIX協(xié)議地址格式; AF_INET:TCP/IP協(xié)議地址格式; AF_NS:XEROX協(xié)議地址格式; AF_INET6:IPv6協(xié)議地址格式; AF_IPX:Novell網(wǎng)絡地址格式; AF_ROUTE:內(nèi)部路由協(xié)議地址格式; AF_APPLETALK:Apple Talk
17、網(wǎng)絡地址格式; AF_DECnet:DEC網(wǎng)絡地址格式。,sa_data字段為實際地址。套接字API還要求每個協(xié)議族為sockaddr結(jié)構(gòu)體中的sa_data字段定義自己的確切格式。IPv4協(xié)議族使用sockaddrin來定義套接字地址: struct sockaddrin u_charsin_len; * 地址總長 * u_charsin_family; * 地址族 * u_shortsin_port; * 協(xié)議端口號 * struct in_addrsin_addr; * 計算機IP地址 * charsin_zero8; * 未用(全置為0) * ;,調(diào)用函數(shù)bind,可以將本地地址與套接
18、字綁定在一起。其定義為: #include #include int bind (int sockfd, struct sockaddr * myaddr, int addrlen); 參數(shù)sockfd是函數(shù)socket返回的套接字描述符,myaddr是本地套接字地址,addrlen是套接字地址結(jié)構(gòu)體的長度。函數(shù)bind調(diào)用成功時,返回0;否則,返回-1,并設置全局變量errno為錯誤類型EADDRINUSER。,地址綁定時IP地址和協(xié)議端口號的可行組合方式,綁定操作的一般用法: bzero ( ,(3)建立套接字連接綁定遠端服務器地址,函數(shù)connect可以讓客戶機程序建立一個與服務器的連接
19、。其定義為: #include #include int connect (int sockfd, struct sockaddr * servaddr, int addrlen); 參數(shù) sockfd是函數(shù)socket返回的套接字描述符, myaddr指定遠程服務器的套接字地址, addrlen是套接字地址結(jié)構(gòu)體的長度。 函數(shù)connect調(diào)用成功時,返回0;否則,返回-1,并設置全局變量errno為下面的任何一種錯誤類型: ETIMEOUT ECONNREFUSED EHOSTUNREACH ENETUNREEACH。,3. 套接字被動轉(zhuǎn)換,listen函數(shù)的定義為: #include i
20、nt listen (int sockfd, int backlog); listen函數(shù)執(zhí)行 成功,返回0,服務器的TCP狀態(tài)由CLOSED轉(zhuǎn)變成LISTEN,成為被動模式; 失敗,返回-1。 參數(shù) sockfd為要轉(zhuǎn)換的已綁定本地地址的套接字描述符; backlog為設置請求隊列的最大長度,表示被動(傾聽)套接字能夠接收的最大數(shù)目的未接收連接(相當于窗口通告)。 TCP協(xié)議為每個被動(傾聽)套接字維護兩個隊列: 未完成隊列 完成隊列:,4. 從被動套接字的完成隊列中接收一個連接請求,服務器調(diào)用 accept從被動(傾聽)套接字的完成連接隊列中接收下一個連接請求。如果該完成連接隊列為空,則這
21、個進程睡眠。 函數(shù)accept的定義為: #include #include int accept (int sockfd, struct sockaddr * addr, int * addrlen); 參數(shù) sockfd為服務器已經(jīng)創(chuàng)建并綁定到指定套接字地址的套接字描述符; addr是指向一個Internet套接字地址結(jié)構(gòu)體的指針; addrlen是指向一個整型數(shù)的指針。 當函數(shù)執(zhí)行成功時,將返回三個結(jié)果: 函數(shù)返回值為一個標識所接收的連接的新的套接字描述符; addr指向的變量中存儲客戶機地址; addrlen指向的整數(shù)變量中存儲客戶機地址的長度。,5. 關(guān)閉一個套接字,函數(shù)close用
22、于關(guān)閉一個套接字,其定義為: #include int close (int sockfd);,6. 發(fā)送數(shù)據(jù)與接收數(shù)據(jù),(1)從socket發(fā)送消息 int send(int sockfd,const void*msg,int len,unsigned int flags); int sendto(int sockfd,const void*msg,int len,unsigned int flags,const struct sockaddr*to,int tolen); (2)從socket接收消息 int recv(int sockfd, void * buf, int len, un
23、signed int flags); int recvfrom(int sockfd, void * buf, int len, unsigned int flags, const struct sockaddr * from, int fromlen); (3)read和write函數(shù) int read(int sockfd, char * buf, int len); int write(int sockfd, char * buf, int len);,7. 常用socket系統(tǒng)調(diào)用函數(shù),UNIX中socket的系統(tǒng)調(diào)用,4.3.3 客戶機/服務器編程初步,1. C/S模型時序圖,2.
24、服務器框架,以偽程序方式表示的并發(fā)服務器的典型框架為: int initsockid,newsokid; if(initsockid=socket(.)0) / 返回值小于0說明調(diào)用失敗,下同 error(“cant creat socket”); if(bind(initsoxkid,.)0) error(“bind error”); if(listen(initsockid,5)0) / listen( )調(diào)用請求隊列的最大長度為5 error(“l(fā)isten error”); for(;) newsockid=accept(initsockid.);/ 等待客戶機連接請求 if(news
25、ockid0) error(“accept error”); if(forl()= =0) / 由子進程,即從服務器執(zhí)行 close(initsoclid);/ 主服務器進程返回等待狀態(tài) doservice(newsockid);/ 從服務器處理請求 exit(0);/ 退出子進程 close(newsockid);/ 由父進程執(zhí)行 ,3. 編程舉例,(1)服務器端程序 /* server.c */ #include #include #include #include main() int sock, namelen, seg, netint; struct sockaddr_in serv
26、er;/ 存服務器IP地址 char msgsock; / 創(chuàng)建Internet域的TCP協(xié)議字節(jié)流套接字 sock=socket(AF_INET, SOCKS_TREAM, IPPROTO_TCP); / 將本地主機(服務器)地址捆扎到創(chuàng)建的套接字上 server.sin_family=AF_INET;/ Internet域 server. sin_addr.s_addr=INADDR_ANY;/ 使用任意合法地址 server.sin_port=htons(1032);/ 公認的服務器端口號 bind(sock, / 向客戶方寫序列數(shù) ,(2)客戶端程序 /* clientv. c */
27、#include #include #include #include #include main(int argc, char * *argv) int sock, myseg = 0, recvseq; struct sockaddrin server;/ 存服務器IP地址 char hostent * h;/ 存主機信息 / 創(chuàng)建Internet域的TCP協(xié)議字節(jié)流套接字 sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); / 根據(jù)命令行參數(shù)提供的服務器主機名,取得服務器地址 h = gethostbyname(argv1); / 與服務器
28、連接 bzero(/ 建立連接 / 連接已建立,通過對套接字的讀/寫實現(xiàn)通信,while(read(sock, ,4.4 域名服務系統(tǒng),4.4.1 域名空間 4.4.2 域名規(guī)則 4.4.3 域名解析,4.4.1 域名空間,1. 頂級域,通用頂級域名,常用ccTLD代碼,2. 次級域,類別域名六個。其中,ac適用于科研機構(gòu),其他六個為:com、edu、gov、net、nic、org。 行政域名有34個,適用于我國的各省、自治區(qū)、直轄市、特別行政區(qū)。,我國的各省、自治區(qū)、直轄市、特別行政區(qū)域名,4.4.2 域名規(guī)則,1. 英文域名規(guī)則 (1)域名的組成 26個英文字母 ; 數(shù)字“0”到“9”;
29、英文中的連詞符“-”(不得用于開頭及結(jié)尾處)。 (2)域名中字符組合規(guī)則 在域名中不區(qū)分英文字母的大小寫; 空格及符號,如 ? / ; : # $ % _ = + , 。 等,都不能用在域名中; 英文域名命名長度限制介于2到46個字符之間,三級域名長度不得超過20個字符; 各級域名之間用實點(.)連接。,(3)域名使用的限制 不得使用,或限制使用以下名稱(下表列出了一些注冊此類域名時需要提供的材料): 注冊含有China、Chinese、CN、National等需經(jīng)國家有關(guān)部門(指部級以上單位)正式批準; 公眾知曉的其他國家或者地區(qū)名稱、外國地名、國際組織名稱不得使用; 縣級以上(含縣級)行政
30、區(qū)劃名稱的全稱或者縮寫需相關(guān)縣級以上(含縣級)人民政府正式批準; 行業(yè)名稱或者商品的通用名稱不得使用; 他人已在中國注冊過的企業(yè)名稱或者商標名稱不得使用; 對國家、社會或者公共利益有損害的名稱不得使用; 經(jīng)國家有關(guān)部門(指部級以上單位)正式批準和相關(guān)縣級以上(含縣級)人民政府正式批準是指,相關(guān)機構(gòu)要出具書面文件表示同意XXXX單位注冊XXX域名。如:要申請域名,則要提供北京市人民政府的批文。,2. 中文域名 2000年1月,CNNIC中文域名系統(tǒng)開始試運行。2000年5月,美國IDNS公司也推出中文域名注冊服務。2000年11月7日,CNNIC中文域名系統(tǒng)開始正式注冊。2000年11月10日,
31、美國NSI公司的中文域名系統(tǒng)開始正式注冊。這些,都為漢語為母語的人群提供了方便。 中文域名的使用規(guī)則基本上與英文域名相同,只是它還允許使用215個漢字之間的字詞或詞組,并且中文域名不區(qū)分簡繁體。CNNIC中文域名有兩種基本形式: “中文.cn”形式的域名 “中文.中國”等形式的純中文域名。 在 3. 域名管理機構(gòu) InterNIC:負責美國及其他地區(qū), RIPE NCC:負責歐洲地區(qū),ncc APNIC:負責亞太地區(qū), 其中,InterNIC是Internet的中樞IR。 目前國際域名管理的最高機構(gòu)是Internet域名和地址管理公司(Internet corporation for assi
32、gned names and numbers,ICANN),它屬于Registry,負責管理全球Internet域名及地址資源。之下的域名由3個大的網(wǎng)絡信息中心進行管理: INTER NIC 負責美國及其它地區(qū)。 RIPE-NIC 負責歐洲地區(qū)。 APNIC 負責亞太地區(qū)。 NSI(美國的network solutions inc.)、CNNIC(中國互聯(lián)網(wǎng)絡信息中心)均是更下一級的機構(gòu)。類似的機構(gòu)還有很多家,分布在全球各地,負責不同區(qū)域的域名注冊服務。,4.4.3 域名解析,1. 域名服務器 分布在全球Internet中進行域名數(shù)據(jù)庫,稱為域名服務器或稱名字服務器(name server)。
33、 全球的域名服務按照域名空間的層次關(guān)系進行組織,并把具有某一后綴的所有計算機組成一個Zone(區(qū)域,網(wǎng)上的節(jié)點群)。一個域名服務器可以管理一個或多個Zone;一個Zone管理員必須為所管轄的Zone提供一個主域名服務器和至少一個輔域名服務器,以便當主域名服務器出現(xiàn)故障時,不會影響所管轄的Zone的服務。 向域名服務器提出查詢請求的DNS工作站稱為域名解析器(resolver)。,2. 域名解析的基本過程,(1)客戶機首先從以前查詢獲得的緩存信息中查詢。查詢不到,進入下一步。 (2)DNS服務器從自身的資源記錄信息緩存中查詢。查詢不到,進入下一步。 (3)DNS服務器代表請求客戶機去查詢或聯(lián)系其
34、他DNS服務器,這個過程是遞歸的,以編完全解析該名稱,并隨后將應答返回至客戶機。,3. 域名解析的正向解析和反向解析 正向解析是把一個域名解析成一個IP。反向解析正好相反,它是把一個IP地址解析成一個域名, 4. 域名的遞歸解析與反復解析,(a)遞歸解析 (b)反復解析,4.5 文件傳輸協(xié)議,文件傳輸協(xié)議(file transfer protocol,F(xiàn)TP)是TCP/IP提供的標準機制,用來從一個主機將文件復制到另一個主機。它提供交互式的訪問,允許客戶指明文件的類型、格式(如是否用ASCII碼等)、存取權(quán)限(授權(quán),口令等)。 在網(wǎng)絡環(huán)境中,由于眾多計算機廠商研制的文件系統(tǒng)存在差異,給文件傳輸
35、帶來許多困難: 數(shù)據(jù)存儲原型不一致; 文件命名規(guī)定不一致; 對于同一功能,操作命令因操作系統(tǒng)而異; 訪問控制方法不一致。 FTP的功能就是減少或消除在不同操作系統(tǒng)下處理文件不兼容性。,4.5.1 FTP模型,一個FTP基本模型由如下部分組成: (1)兩種連接 控制連接和數(shù)據(jù)連接。 (2)3個客戶組件 用戶接口、客戶控制進程和客戶數(shù)據(jù)傳送進程。 (3)2個服務器組件 服務器控制進程和服務器數(shù)據(jù)傳送進程。,4.5.2 FTP文件傳輸過程,1. 數(shù)據(jù)連接過程 控制進程接收到客戶機的文件傳輸請求后,即創(chuàng)建數(shù)據(jù)傳送進程同時創(chuàng)建數(shù)據(jù)連接。數(shù)據(jù)連接創(chuàng)建過程如下: 1 客戶機使用臨時端口發(fā)出傳送文件命令; 2
36、 客戶機將該端口號發(fā)給服務器; 3 服務器發(fā)出主動打開命令,建立公認端口20與客戶機使用的臨時端口之間的連接。,2. 文件屬性,(1)文件類型 ASCII文件 這是傳送正文文件的默認格式,每一個字符使用NVT ASCII進行編碼。 EBCDIC文件。 圖像文件 作為連續(xù)的比特流傳送,沒有解釋和編碼,是二進制文件的默認格式。 若文件為ASCII或EBCDIC編碼,還要定義文件的可打印性。 (2)數(shù)據(jù)結(jié)構(gòu) 文件結(jié)構(gòu)(默認) 無結(jié)構(gòu)的字節(jié)流文件。 記錄結(jié)構(gòu) 記錄型文件,用于正文文件。 頁面結(jié)構(gòu) 頁面可以順序地存取。 (3)傳輸方式 流方式(默認) 數(shù)據(jù)以字節(jié)流方式由FTP交給TCP,由TCP將數(shù)據(jù)劃
37、分為合適大小的報文塊。對記錄結(jié)構(gòu),每一記錄要增加一個EOR(記錄結(jié)束符),文件最后增加一個EOF(文件結(jié)束符);對文件結(jié)構(gòu),不需要文件結(jié)束符。 塊方式:數(shù)據(jù)以塊方式由FTP交給TCP。每塊前增加3字節(jié)用做塊描述和指示塊大小。 壓縮方式。,3. 文件傳輸方式, 讀取文件 從服務器將一個文件復制到客戶機。 存儲文件 從客戶將一個文件復制到服務器。 從服務器將目錄列表或文件名以文件形式發(fā)送到客戶機。,4. 控制連接上的通信,(a) 服務器在公認端口21發(fā)出被動打開命令,(b) 客戶使用臨時端口發(fā)出主動打開命令,(1)命令 FTP發(fā)送的命令用大寫的ASCII碼表示,后面可以帶有參數(shù)。這些命令大致可以分
38、為6組。 接入命令 使用戶接入到遠程系統(tǒng)。 文件管理命令 使用戶接入到遠程計算機的文件系統(tǒng)。 數(shù)據(jù)格式化命令 供用戶定義數(shù)據(jù)結(jié)構(gòu)、文件類型和傳輸方式。 端口定義命令 定義客戶端的端口號。 文件傳輸命令 供用戶傳輸文件。 雜項命令 將信息交付給客戶端的FTP用戶。,第1個數(shù)字x定義命令的狀態(tài): x=1,正面初步回答,動作已經(jīng)開始; x=2,正面完成回答,動作已經(jīng)完成; x=3,正面中間回答,命令已經(jīng)接受; x=4,過渡負面完成回答,無動作發(fā)生; x=5,永久負面完成回答,命令沒有接受。,第2個數(shù)字y定義命令的下列狀態(tài), y=0,語法; y=1,信息; y=2,連接; y=3,鑒別和記費; y=4
39、,未指明; y=5,文件系統(tǒng)。 第3個數(shù)字z,提供附加信息。,(2)響應 響應是對命令的回應。每一個FTP命令至少產(chǎn)生一個響應。一個響應包含兩個部分:正文和它后面的3個數(shù)字。正文部分定義所需的參數(shù)或額外的解釋, 數(shù)字部分定義代碼。,5. 用戶接口,例4.1 一個用戶接口示例。 % ftp 220 Server ready Name:abcd Password:xxxxxx ftp ls/usr/user/report 200 OK 150 Opening ASCII mode 226 transfer complete ftp close 221 Goodbye ftp quit,4.5.3
40、簡單文件傳輸協(xié)議TFTP,TFTP的主要特點是: 每次傳輸512字節(jié)的數(shù)據(jù)塊文件塊,最后一次可以不足512字節(jié); 文件塊按序編號,從1開始; 支持ASC碼或二進制傳輸; 可對文件進行讀或?qū)懀?使用簡單的首部。,4.6 動態(tài)主機配置協(xié)議,4.6.1 DHCP的基本概念 DHCP(dynamic host configuration protocol,動態(tài)主機配置協(xié)議)目的就是為了減輕TCP/IP網(wǎng)絡的規(guī)劃、管理和維護的負擔。 它提供了自動在TCP/IP網(wǎng)絡上安全地分配和租用IP地址的機制,實現(xiàn)IP地址的集中式管理,基本上不需要網(wǎng)絡管理人員的人為干預,也同時解決IP地址空間缺乏問題。,4.6.2
41、DHCP工作原理,4.7 遠程登錄,4.7.1 本地注冊與遠程登錄 4.7.2 NVT字符集 4.7.3 Telnet工作方式和用戶命令,4.7.1 本地注冊與遠程登錄,1. 注冊 用戶注冊是系統(tǒng)給用戶分配資源的過程。一個用戶要接入到多用戶系統(tǒng)中時,首先要使用用戶標識或注冊名字登錄到系統(tǒng),系統(tǒng)還要進行口令檢查。用戶標識定義用戶是系統(tǒng)的一部分,用戶口令用于安全性檢查,防止非授權(quán)用戶使用系統(tǒng)資源 2. 本地注冊 本地注冊是指用戶注冊到本地的分時系統(tǒng)上。,3. 遠程登錄 遠程登錄Telnet是終端網(wǎng)絡(terminaL network)的縮寫,它可以建立一個遠程TCP連接,讓用戶(使用主機名和IP地
42、址)注冊到遠地的一個主機上。,4.7.2 NVT字符集,1. 數(shù)據(jù)字符集 NVT使用的數(shù)據(jù)字符集的低7位與US ASCII的低7位相同,但最高位為0,稱為NVT ASCII,目的是在客戶機與服務器之間使用選項,協(xié)商取得一致。 2. 遠程控制字符集 控制字符集用于在客戶機和服務器之間傳送控制字符,為與數(shù)據(jù)字符相區(qū)別,最高位為1。,(a)數(shù)據(jù)字符NVT ASCII (b)遠程控制字符,一些NVT遠程控制字符及其表示和意義,3. 協(xié)商選項,選項協(xié)商要使用如下4種控制字符: WILL提供激活選項 接受請求激活選項 WONT拒絕請求激活選項 提供禁止選項 接受禁止選項 DO同意提供激活選項 請求激活選項
43、 DONT不同意提供激活選項 同意提供禁止選項 請求禁止選項,4.7.3 Telnet工作方式和用戶命令,1. 工作方式 (1)默認方式 在默認方式下,回顯由客戶完成。用戶鍵入一個字符,客戶機將其回顯到顯示器或打印機,并且要到一行完成才發(fā)送。發(fā)送后,在接受新行之前,要等待來自服務器的GA(前進)命令。它是一種半雙工操作方式,當TCP連接是全雙工時,效率較低,已經(jīng)屬于陳舊工作方式。 (2)字符方式 在字符方式下,回顯由服務器完成。用戶鍵入一個字符,就從客戶機發(fā)給服務器,服務器再將該字符回顯在客戶機的屏幕上。在這種方式下,對每一個字符,將在客戶機與服務器之間傳送3個TCP報文段: 用戶鍵入一個字符
44、,發(fā)給服務器; 服務器確認收到的字符,將該字符回顯回去; 客戶機確認收到回顯的字符。 因此,這種方式的字符回顯會被延遲,并將產(chǎn)生較大的網(wǎng)絡開銷。 (3)行方式 在行方式下,行的編輯(回顯、字符擦除、行擦除等)由客戶機完成,然后客戶將整個行發(fā)給服務器。這種方式可以彌補默認方式和字符方式的不足。,2. 用戶命令,一組用戶命令,4.8 電子郵件,4.8.1 電子郵件系統(tǒng)的基本原理 4.8.2 簡單郵件傳輸協(xié)議 4.8.3 其他幾個重要的電子郵件協(xié)議,4.8.1 電子郵件系統(tǒng)的基本原理,1. 電子郵件系統(tǒng)的一般構(gòu)成,2. 電子郵件訪問模式,(1)離線模式 離線模式是最基本的模式。按照該模式工作時,客戶
45、機與郵件存儲服務器相連接后,下載所有的接收者郵件,同時從服務器中刪除;然后在本地客戶機上存儲、處理。這種模式簡單,僅需要最小的服務器連接時間。 (2)在線模式 在線模式中所有的郵件處理和操作都在服務器上進行(盡管在某些情況下用戶可以把郵件下載到本地客戶機上,但服務器中仍然保留)。當用戶需要訪問并處理電子郵件時,必須與服務器保持連接。這樣,客戶機的配置可以很小,但服務器需要有足夠的帶寬和資源供多個用戶分享。 (3)斷線模式 斷線模式綜合了離線模式和在線模式的特點。在這種模式中,用戶能下載郵件在本地客戶機上離線處理,但服務器仍然是郵件的保存處。用戶處理完郵件后,可再次與郵件服務器連接并上載所有的改
46、變。采用這種模式,客戶機與服務器的連接時間更短,但不論客戶機還是服務器都需要足夠的資源。,4.8.2 簡單郵件傳輸協(xié)議,1. 命令,2. 響應,每個SMTP命令必須有且只有一個響應。這些SMTP響應保證了在郵件傳輸過程中請求和處理的同步,也保證了發(fā)送SMTP知道接收SMTP的狀態(tài)。 SMTP響應由三位數(shù)字組成,其后跟一些文本。數(shù)字幫助決定下一個應該進入的狀態(tài),而文本對人是有意義的。,3. 郵件傳送過程,(1)建立連接 在使用SMTP進行郵件傳送過程中,客戶機(發(fā)送)端使用短暫端口,服務器(接收)端使用公認端口25。當客戶與服務器的公認端口25之間建立了一條TCP連接后,SMTP服務器就開始其連
47、接階段。 (2)傳送報文 SMTP在客戶與服務器之間建立連接后,發(fā)信人就可以向一個或多個收信人發(fā)送一個單獨的報文了。 (3)終止連接 報文傳送成功后,客戶就可以終止連接。,4.8.3 其他幾個重要的電子郵件協(xié)議,1. 通用Internet郵件擴充標準(MIME),2. 郵局協(xié)議(POP)和Internet報文存取協(xié)議(IMAP),POP是一個離線協(xié)議,它是一個具有存儲轉(zhuǎn)發(fā)功能的中間服務器,用戶每次打開郵箱,即將郵箱中接收到的郵件一次性取回到自己的計算機,POP服務器就不再保存這些郵件,用戶與POP服務器的連接即中斷。此后,用戶便可以在自己的計算機上自由地處理收到的郵件。 IMAP(Intern
48、et message access protocol)是美國斯坦福大學從1986年就開始開發(fā)的與POP3對應的一種多重郵箱電子郵件協(xié)議。它能從郵件服務器上獲取有關(guān)E-mail信息或直接收取郵件,具有高性能和可擴展的優(yōu)點。它提供在線、離線、斷線三種操作模式,使用戶可以在遠地操縱服務器郵箱。,3. 郵件轉(zhuǎn)發(fā),郵件轉(zhuǎn)發(fā)(mail forwarding)軟件可以將郵件中使用的郵件地址映射為一個或多個新的郵件地址。此外它還包含一個郵件別名擴展(mail alias expansion)機制。使用別名系統(tǒng)允許單個用戶擁有多個郵件標識符,于是就可以建立一些郵件發(fā)送清單(mailing list)使一個標識符
49、與一批收信人相關(guān)聯(lián),利用郵件分發(fā)器(mail exploder)將接收到的一個郵件發(fā)送給一大批人。在Internet上有許多開放的郵件發(fā)送清單。,4. 中繼MTA與電子郵件網(wǎng)關(guān),4.9 超文本傳輸,4.9.1 超文本與Web 4.9.2 B/S計算模式與瀏覽器結(jié)構(gòu) 4.9.3 HTTP的工作機制,4.9.1 超文本與Web,超文本技術(shù)。它是指一個含有多個鏈接(link)的文本文件,每一鏈接可以指向任何形式的、計算機可以處理的其他信息源,即它可以通過熱鏈路(hotlink)或關(guān)鍵字(詞)鏈接到其他文本、圖像、聲音、動畫等任何形式的文件中,形成一種“聯(lián)想”關(guān)系。,2. URL,統(tǒng)一資源定位器(un
50、iform resource locator,URL)。URL地址既可以是本地硬盤上的某個文件,也可以是Internet上的一個網(wǎng)點。 簡單地說,URL由兩部分組成: sckema:path,4.9.2 B/S計算模式與瀏覽器結(jié)構(gòu),1. B/S模式及其特點 (1)用戶訪問方式 在B/S模式中,用戶在基于瀏覽器的客戶機上以網(wǎng)絡用戶界面(NUI)方式N對M地訪問服務器上的資源。 (2)體系結(jié)構(gòu),B/S模式與C/S模式特點的對比,2. 瀏覽器結(jié)構(gòu),4.9.3 HTTP的工作機制,1. HTTP的特點 (1)以B/S模式為基礎 (2)簡易性 (3)可擴充性與內(nèi)容-類型(content-type)標識
51、(4)無連接性 (5)可靠性 (6)無狀態(tài)性,2. HTTP的通信端口,HTTP通信建立在TCP/IP連接上,缺省的TCP端口號是80,但也可以使用其他端口號。Web服務器運行著一個守護進程(HTTP daemon),它始終在端口80監(jiān)聽來自遠程客戶的請求。當一個請求發(fā)來時,它就會產(chǎn)生一個子進程來處理當前請求,守護進程繼續(xù)以后臺方式運行,在端口80監(jiān)聽來自遠程的連接請求。,3. 請求報文,HTTP 1.1中定義的幾種方法如下: GET客戶要從服務器中讀取文檔; HEAD客戶只想得到文檔的某些信息,而非文檔本身; POST客戶要給服務器提供某些信息; PUT客戶要將一個新的或替換的文檔存儲在服務
52、器上; PATCH與PUT相似,但請求只包含在現(xiàn)有文件中出現(xiàn)的差異清單; COPY要將文件復制到另一個位置; MOVE要將文件移動到另一個位置; DELETE要將服務器上的一個文件移走; LINK要創(chuàng)建從一個文檔到另一個位置的鏈接; UNLINK刪除由LINK建立的鏈接; OPTION客戶機向服務器詢問可用的選項。,4. 響應報文,5. 首部,(1)通用首部 給出關(guān)于報文的通用信息,可以出現(xiàn)在請求報文和響應報文中,如:Date 給出當前日期; MIME-version 給出所使用的MIME版本。 (2)請求首部 指明客戶的配置和客戶優(yōu)先使用的文檔格式,僅出現(xiàn)在請求報文中,如:Accept給出客
53、戶能夠接受的媒體格式。 (3)響應首部 指明服務器的配置和關(guān)于請求的特殊信息,如:Servsr:給出服務器名和版本號。 (4)實體首部 給出關(guān)于文檔主體的信息,如: Connect-length 給出文檔長度; Connect-type 指明媒體類型。,4.10 簡單網(wǎng)絡管理協(xié)議,4.10.1 網(wǎng)絡管理功能 4.10.2 網(wǎng)絡管理機構(gòu) 4.10.3 SNMP管理模型,4.10.1 網(wǎng)絡管理功能,1. 配置管理(configuration management) 識別被管網(wǎng)絡的拓撲結(jié)構(gòu); 識別網(wǎng)絡中的各個對象; 激活跟蹤程序; 保存網(wǎng)絡配置文檔、請求的服務與服務協(xié)議及軟件分布情況; 動態(tài)維護網(wǎng)絡
54、的配置數(shù)據(jù)庫; 自動修改制定設備的配置。,2. 失效管理(fault management) 失效管理也稱故障管理或網(wǎng)絡監(jiān)控,其目的是保證網(wǎng)絡能提供連續(xù)可靠的服務,能快速定位并隔離網(wǎng)絡中的故障源或發(fā)現(xiàn)潛在的故障,并盡快將其排除;其控制方式有主動監(jiān)控、被動監(jiān)控(故障檢測和診斷)、故障隔離與處理。 3. 性能管理(performance management) 性能管理側(cè)重于故障的預防,其目的是在使用最少的網(wǎng)絡資源和具有最小延遲的前提下,保證網(wǎng)絡提供可靠和連續(xù)的通信能力,并使網(wǎng)絡資源達到最優(yōu)化的程度。 4. 計費管理(accounting management) 計費管理是以網(wǎng)絡用戶使用網(wǎng)絡資源的
55、情況為依據(jù)的管理。 5. 安全管理(security management) 安全管理具有三層含義: 保證用戶的權(quán)益不受損害,如賬號被盜用等; 保證網(wǎng)絡上的信息資源不受侵害,如被竊用、篡改、破壞等; 保證網(wǎng)絡上的設備不被濫用和破壞。 管理的內(nèi)容包括: 主動監(jiān)控措施 利用網(wǎng)絡的監(jiān)測和審計設施實時記錄網(wǎng)絡資源的使用情況,報告越軌行為或發(fā)出危險行為警報; 被動限制措施 通過對用戶注冊及其時間、地址位置的限制,口令及其加密控制,對不良行為加以限制; 防御式補救措施 主要包括設置資源訪問權(quán)限、目錄與文件屬性控制、備份機制與數(shù)據(jù)加密。 6. 其他,4.10.2 網(wǎng)絡管理機構(gòu),1. Internet協(xié)會,2
56、. 網(wǎng)絡信息中心(NIC),InterNIC(Internet network information center)是IANA的運行機構(gòu),具體負責IP地址的分配、域名注冊、協(xié)調(diào)、目錄服務、信息統(tǒng)計和發(fā)布服務。 InterNIC下設有Internet的區(qū)域注冊中心(regional internet registry ,RIR)。RIR的任務是提供全球Internet資源和相關(guān)的服務,負責管理、分配和登記注冊公共的Internet號碼資源,每個中心都有自己的管轄范圍。目前有4個RIR: APNIC(Asia Pacific Network Information Center, ARIN(American Registry for Interne
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 3600-2019雨花玉鑒定和分級
- DB32/T 3508-2019岸基雷達監(jiān)測海面溢油技術(shù)規(guī)范
- DB32/T 3498-2019道路運輸管理信息接口技術(shù)要求
- DB32/T 3390-2018一體化智能泵站應用技術(shù)規(guī)范
- DB32/T 3163-2016流動科技館服務規(guī)范
- DB31/T 965-2016發(fā)電鍋爐安全使用與節(jié)能管理基本要求
- DB31/T 924-2015在用自動扶梯與自動人行道能耗估算及能效評價方法
- DB31/T 679-2013建設項目職業(yè)病危害評價要素
- DB31/T 1408-2023醫(yī)學檢驗實驗室管理規(guī)范
- DB31/T 1304-2021紡織產(chǎn)品綠色供應鏈管理與評價導則
- 天津市公安局為留置看護總隊招聘警務輔助人員筆試真題2024
- 浙江省強基聯(lián)盟2024-2025學年高一下學期5月月考地理試題(含答案)
- 商鋪份額代持協(xié)議書
- 2025年高分子聚合物市場調(diào)查報告
- 2025年安徽馬鞍山博望港華燃氣有限公司招聘筆試參考題庫附帶答案詳解
- 2024年湖南省永州市江華瑤族自治縣數(shù)學三上期末檢測試題含解析
- 2024年通信安全員ABC證考試試題庫附答案
- 2023年廣東省乳源瑤族自治縣事業(yè)單位公開招聘名筆試題帶答案
- 合肥市2025屆高三年級5月教學質(zhì)量檢測(合肥三模)物理試題+答案
- 王者榮耀考試題及答案
- 環(huán)保與可持續(xù)發(fā)展行業(yè):固體廢棄物資源化利用的商業(yè)模式創(chuàng)新
評論
0/150
提交評論