網(wǎng)絡(luò)架構(gòu)與網(wǎng)絡(luò)協(xié)議課件



網(wǎng)絡(luò)體系結(jié)構(gòu)的基本概念網(wǎng)絡(luò)體系結(jié)構(gòu)的基本概念l網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)協(xié)議是是為網(wǎng)絡(luò)數(shù)據(jù)交換而制定的規(guī)則、約為網(wǎng)絡(luò)數(shù)據(jù)交換而制定的規(guī)則、約定與標(biāo)準(zhǔn);定與標(biāo)準(zhǔn);l網(wǎng)絡(luò)協(xié)議的三要素:語義、語法與時(shí)序;網(wǎng)絡(luò)協(xié)議的三要素:語義、語法與時(shí)序;l語義:用于解釋比特流的每一部分的意義;語義:用于解釋比特流的每一部分的意義;l語法:語法是用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格語法:語法是用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格 式,以及數(shù)據(jù)出現(xiàn)的順序的意義;式,以及數(shù)據(jù)出現(xiàn)的順序的意義;l時(shí)序:事件實(shí)現(xiàn)順序的詳細(xì)說明時(shí)序:事件實(shí)現(xiàn)順序的詳細(xì)說明網(wǎng)絡(luò)體系結(jié)構(gòu)網(wǎng)絡(luò)體系結(jié)構(gòu)l層次(層次(layer)l層次是人們對(duì)復(fù)雜問題處理的基本方法;層次是人們對(duì)復(fù)雜問題處理的基本方法;l將總體要實(shí)現(xiàn)的很多功能分配在不同層次中;將總體要實(shí)現(xiàn)的很多功能分配在不同層次中;l對(duì)每個(gè)層次要完成的服務(wù)及服務(wù)要求都有明確規(guī)定;對(duì)每個(gè)層次要完成的服務(wù)及服務(wù)要求都有明確規(guī)定;l不同的系統(tǒng)分成相同的層次;不同的系統(tǒng)分成相同的層次;l不同系統(tǒng)的最低層之間存在著不同系統(tǒng)的最低層之間存在著“物理物理”通信;通信;l不同系統(tǒng)的對(duì)等層次之間存在著不同系統(tǒng)的對(duì)等層次之間存在著“虛擬虛擬”通信;通信;l對(duì)不同系統(tǒng)的對(duì)等層之間的通信有明確的通信規(guī)定;對(duì)不同系統(tǒng)的對(duì)等層之間的通信有明確的通信規(guī)定;l高層使用低層提供的服務(wù)時(shí),并不需要知道低層服務(wù)高層使用低層提供的服務(wù)時(shí),并不需要知道低層服務(wù)的具體實(shí)現(xiàn)方法。
的具體實(shí)現(xiàn)方法網(wǎng)絡(luò)體系結(jié)構(gòu)網(wǎng)絡(luò)體系結(jié)構(gòu)l接口(接口(interface)l接口是同一結(jié)點(diǎn)內(nèi)相鄰層之間交換信息的連接接口是同一結(jié)點(diǎn)內(nèi)相鄰層之間交換信息的連接點(diǎn)點(diǎn);l同一個(gè)結(jié)點(diǎn)的相鄰層之間存在著明確規(guī)定的接同一個(gè)結(jié)點(diǎn)的相鄰層之間存在著明確規(guī)定的接口,低層向高層通過接口提供服務(wù)口,低層向高層通過接口提供服務(wù);l只要接口條件不變、低層功能不變,低層功能只要接口條件不變、低層功能不變,低層功能的具體實(shí)現(xiàn)方法與技術(shù)的變化不會(huì)影響整個(gè)系的具體實(shí)現(xiàn)方法與技術(shù)的變化不會(huì)影響整個(gè)系統(tǒng)的工作統(tǒng)的工作網(wǎng)絡(luò)體系結(jié)構(gòu)網(wǎng)絡(luò)體系結(jié)構(gòu)l網(wǎng)絡(luò)體系結(jié)構(gòu)(網(wǎng)絡(luò)體系結(jié)構(gòu)(network architecture)l一個(gè)功能完備的計(jì)算機(jī)網(wǎng)絡(luò)需要制定一整套復(fù)雜的協(xié)一個(gè)功能完備的計(jì)算機(jī)網(wǎng)絡(luò)需要制定一整套復(fù)雜的協(xié)議集議集;l網(wǎng)絡(luò)協(xié)議是按層次結(jié)構(gòu)來組織的;網(wǎng)絡(luò)協(xié)議是按層次結(jié)構(gòu)來組織的;l網(wǎng)絡(luò)層次結(jié)構(gòu)模型與各層協(xié)議的集合稱為網(wǎng)絡(luò)體系結(jié)網(wǎng)絡(luò)層次結(jié)構(gòu)模型與各層協(xié)議的集合稱為網(wǎng)絡(luò)體系結(jié)構(gòu);構(gòu);l網(wǎng)絡(luò)體系結(jié)構(gòu)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)該實(shí)現(xiàn)的功能進(jìn)行了精網(wǎng)絡(luò)體系結(jié)構(gòu)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)該實(shí)現(xiàn)的功能進(jìn)行了精確的定義;確的定義;l體系結(jié)構(gòu)是抽象的,而實(shí)現(xiàn)是指能夠運(yùn)行的一些硬件體系結(jié)構(gòu)是抽象的,而實(shí)現(xiàn)是指能夠運(yùn)行的一些硬件和軟件。
和軟件ISO/OSI參考模型參考模型l在制定計(jì)算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)方面,起著很大作用的在制定計(jì)算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)方面,起著很大作用的兩大國際組織是:兩大國際組織是:國際電報(bào)與電話咨詢委員會(huì)(國際電報(bào)與電話咨詢委員會(huì)(CCITT)國際標(biāo)準(zhǔn)化組織(國際標(biāo)準(zhǔn)化組織(ISO)lCCITT與與ISO的工作領(lǐng)域不同:的工作領(lǐng)域不同:CCITT 主要主要是考慮通信標(biāo)準(zhǔn)的制定;是考慮通信標(biāo)準(zhǔn)的制定;ISO主要是考慮信息主要是考慮信息處理與網(wǎng)絡(luò)體系結(jié)構(gòu)處理與網(wǎng)絡(luò)體系結(jié)構(gòu)體系結(jié)構(gòu)體系結(jié)構(gòu)l開放系統(tǒng)的層次結(jié)構(gòu)、層次之間的相互關(guān)系及開放系統(tǒng)的層次結(jié)構(gòu)、層次之間的相互關(guān)系及各層所包括的可能的服務(wù);各層所包括的可能的服務(wù);l作為一個(gè)框架來協(xié)調(diào)和組織各層協(xié)議的制定;作為一個(gè)框架來協(xié)調(diào)和組織各層協(xié)議的制定;l對(duì)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)最精煉地概括與描述對(duì)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)最精煉地概括與描述服務(wù)定義服務(wù)定義l詳細(xì)地說明了各層所提供的服務(wù);詳細(xì)地說明了各層所提供的服務(wù);l某一層的服務(wù)就是該層及其以下各層的一種能某一層的服務(wù)就是該層及其以下各層的一種能力;力;l低層的服務(wù)是通過接口向上一層提供的低層的服務(wù)是通過接口向上一層提供的;l各層所提供的服務(wù)與這些服務(wù)是如何實(shí)現(xiàn)的無各層所提供的服務(wù)與這些服務(wù)是如何實(shí)現(xiàn)的無關(guān);關(guān);l定義了層與層之間的接口與各層使用的原語,定義了層與層之間的接口與各層使用的原語,但不涉及接口是具體實(shí)現(xiàn)的。
但不涉及接口是具體實(shí)現(xiàn)的ISO劃分七層結(jié)構(gòu)的基本原則劃分七層結(jié)構(gòu)的基本原則l網(wǎng)中各結(jié)點(diǎn)都具有相同的層次;網(wǎng)中各結(jié)點(diǎn)都具有相同的層次;l不同結(jié)點(diǎn)的同等層具有相同的功能;不同結(jié)點(diǎn)的同等層具有相同的功能;l同一結(jié)點(diǎn)內(nèi)相鄰層之間通過接口通信;同一結(jié)點(diǎn)內(nèi)相鄰層之間通過接口通信;l每層可以使用下層提供的服務(wù),并向其上層提每層可以使用下層提供的服務(wù),并向其上層提供服務(wù);供服務(wù);l不同結(jié)點(diǎn)的同等層通過協(xié)議來實(shí)現(xiàn)對(duì)等層之間不同結(jié)點(diǎn)的同等層通過協(xié)議來實(shí)現(xiàn)對(duì)等層之間的通信的通信l社會(huì)上存在的郵政系統(tǒng)通信者活動(dòng)郵局服務(wù)業(yè)務(wù)郵局轉(zhuǎn)送業(yè)務(wù)發(fā)信者收信者運(yùn)輸部門的郵件運(yùn)輸業(yè)務(wù)書寫信件貼郵票送郵箱收集信件蓋郵戳信件分揀信件打包送運(yùn)輸部門路由選擇運(yùn)輸轉(zhuǎn)送郵局接收郵包分發(fā)郵件郵件拆包信件投遞信件分揀閱讀信件通信者活動(dòng)郵局服務(wù)業(yè)務(wù)郵局轉(zhuǎn)送業(yè)務(wù)lOSI參考模型的結(jié)構(gòu)應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層傳輸介質(zhì)傳輸介質(zhì)傳輸介質(zhì)主機(jī)主機(jī)CCPCCP網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層主機(jī)主機(jī)CCPCCP網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層物理層的主要功能物理層的主要功能l利用傳輸介質(zhì)為通信的網(wǎng)絡(luò)結(jié)點(diǎn)之間建立、管利用傳輸介質(zhì)為通信的網(wǎng)絡(luò)結(jié)點(diǎn)之間建立、管理和釋放物理連接;理和釋放物理連接;l實(shí)現(xiàn)比特流的透明傳輸,為數(shù)據(jù)鏈路層提供數(shù)實(shí)現(xiàn)比特流的透明傳輸,為數(shù)據(jù)鏈路層提供數(shù)據(jù)傳輸服務(wù);據(jù)傳輸服務(wù);l物理層的數(shù)據(jù)傳輸單元是比特。
物理層的數(shù)據(jù)傳輸單元是比特?cái)?shù)據(jù)鏈路層數(shù)據(jù)鏈路層/網(wǎng)絡(luò)層的主要功能網(wǎng)絡(luò)層的主要功能數(shù)據(jù)鏈路層的主要功能數(shù)據(jù)鏈路層的主要功能:l在物理層提供的服務(wù)基礎(chǔ)上,數(shù)據(jù)鏈路層在通信的實(shí)在物理層提供的服務(wù)基礎(chǔ)上,數(shù)據(jù)鏈路層在通信的實(shí)體間建立數(shù)據(jù)鏈路連接;體間建立數(shù)據(jù)鏈路連接;l傳輸以傳輸以“幀幀”為單位的數(shù)據(jù)包;為單位的數(shù)據(jù)包;l采用差錯(cuò)控制與流量控制方法,使有差錯(cuò)的物理線路采用差錯(cuò)控制與流量控制方法,使有差錯(cuò)的物理線路變成無差錯(cuò)的數(shù)據(jù)鏈路變成無差錯(cuò)的數(shù)據(jù)鏈路網(wǎng)絡(luò)層的主要功能網(wǎng)絡(luò)層的主要功能:l通過路由選擇算法為分組通過通信子網(wǎng)選擇最適當(dāng)?shù)耐ㄟ^路由選擇算法為分組通過通信子網(wǎng)選擇最適當(dāng)?shù)穆窂?;路徑;l為數(shù)據(jù)在結(jié)點(diǎn)之間傳輸創(chuàng)建邏輯鏈路;為數(shù)據(jù)在結(jié)點(diǎn)之間傳輸創(chuàng)建邏輯鏈路;l實(shí)現(xiàn)擁塞控制、網(wǎng)絡(luò)互連等功能實(shí)現(xiàn)擁塞控制、網(wǎng)絡(luò)互連等功能傳輸層傳輸層/會(huì)話層的主要功能會(huì)話層的主要功能傳輸層的主要功能傳輸層的主要功能:l向用戶提供可靠端到端向用戶提供可靠端到端(end-to-end)服務(wù);服務(wù);l處理數(shù)據(jù)包錯(cuò)誤、數(shù)據(jù)包次序,以及其他一些關(guān)鍵傳處理數(shù)據(jù)包錯(cuò)誤、數(shù)據(jù)包次序,以及其他一些關(guān)鍵傳輸問題;輸問題;l傳輸層向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),是計(jì)算機(jī)傳輸層向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),是計(jì)算機(jī)通信體系結(jié)構(gòu)中關(guān)鍵的一層。
通信體系結(jié)構(gòu)中關(guān)鍵的一層會(huì)話層的主要功能會(huì)話層的主要功能:l負(fù)責(zé)維護(hù)兩個(gè)結(jié)點(diǎn)之間的傳輸鏈接,以便確保點(diǎn)負(fù)責(zé)維護(hù)兩個(gè)結(jié)點(diǎn)之間的傳輸鏈接,以便確保點(diǎn)-點(diǎn)點(diǎn)傳輸不中斷;傳輸不中斷;l管理數(shù)據(jù)交換管理數(shù)據(jù)交換表示層表示層/應(yīng)用層的主要功能應(yīng)用層的主要功能表示層的主要功能表示層的主要功能:l用于處理在兩個(gè)通信系統(tǒng)中交換信息的表示方式;用于處理在兩個(gè)通信系統(tǒng)中交換信息的表示方式;l數(shù)據(jù)格式變換;數(shù)據(jù)格式變換;l數(shù)據(jù)加密與解密;數(shù)據(jù)加密與解密;l數(shù)據(jù)壓縮與恢復(fù)數(shù)據(jù)壓縮與恢復(fù)應(yīng)用層的主要功能應(yīng)用層的主要功能:l為應(yīng)用程序提供了網(wǎng)絡(luò)服務(wù)為應(yīng)用程序提供了網(wǎng)絡(luò)服務(wù);l應(yīng)用層需要識(shí)別并保證通信對(duì)方的可用性,使得協(xié)同應(yīng)用層需要識(shí)別并保證通信對(duì)方的可用性,使得協(xié)同工作的應(yīng)用程序之間的同步工作的應(yīng)用程序之間的同步;l建立傳輸錯(cuò)誤糾正與保證數(shù)據(jù)完整性的控制機(jī)制建立傳輸錯(cuò)誤糾正與保證數(shù)據(jù)完整性的控制機(jī)制lOSI環(huán)境(環(huán)境(OSI environment)數(shù)據(jù)鏈路層物 理 層應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層 數(shù)據(jù)鏈路層物 理 層應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層傳輸介質(zhì)傳輸介質(zhì)傳輸介質(zhì)CCPCCP網(wǎng) 絡(luò) 層應(yīng)用進(jìn)程AOSI環(huán)境OSI環(huán)境應(yīng)用進(jìn)程B主機(jī)A主機(jī)A主機(jī)B主機(jī)BA A數(shù)據(jù)鏈路層物 理 層CCPCCP網(wǎng) 絡(luò) 層A A應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層 數(shù)據(jù)鏈路層物 理 層應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層應(yīng)用進(jìn)程A應(yīng)用進(jìn)程B比特序列幀分組報(bào)文數(shù)據(jù)單元數(shù)據(jù)單元數(shù)據(jù)數(shù)據(jù)傳輸介質(zhì)主機(jī)A主機(jī)A主機(jī)B主機(jī)BOSI環(huán)境中的數(shù)據(jù)流環(huán)境中的數(shù)據(jù)流 l1974年年Kahn定義了最早的定義了最早的TCP/IP參考模型;參考模型;l80年代年代Leiner、Clark等人對(duì)等人對(duì)TCP/IP參考模型參考模型進(jìn)一步的研究;進(jìn)一步的研究;lTCP/IP協(xié)議一共出現(xiàn)了協(xié)議一共出現(xiàn)了6個(gè)版本,后個(gè)版本,后3個(gè)版本個(gè)版本是版本是版本4、版本、版本5與版本與版本6;l目前我們使用的是版本目前我們使用的是版本4,一般被稱為,一般被稱為IPv4;lIPv6被稱為下一代的被稱為下一代的IP協(xié)議。
協(xié)議TCP/IP參考模型參考模型l開放的協(xié)議標(biāo)準(zhǔn)開放的協(xié)議標(biāo)準(zhǔn);l獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng);獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng);l獨(dú)立于特定的網(wǎng)絡(luò)硬件,可以運(yùn)行在局域網(wǎng)、獨(dú)立于特定的網(wǎng)絡(luò)硬件,可以運(yùn)行在局域網(wǎng)、廣域網(wǎng),更適用于互連網(wǎng)中;廣域網(wǎng),更適用于互連網(wǎng)中;l 統(tǒng)一的網(wǎng)絡(luò)地址分配方案,使得整個(gè)統(tǒng)一的網(wǎng)絡(luò)地址分配方案,使得整個(gè)TCP/IP設(shè)備在網(wǎng)中都具有唯一的地址;設(shè)備在網(wǎng)中都具有唯一的地址;l標(biāo)準(zhǔn)化的高層協(xié)議,可以提供多種可靠的用戶標(biāo)準(zhǔn)化的高層協(xié)議,可以提供多種可靠的用戶服務(wù)TCP/IP協(xié)議的特點(diǎn)協(xié)議的特點(diǎn)l應(yīng)用層(應(yīng)用層(application layer)l傳輸層(傳輸層(transport layer)l互連層(互連層(internet layer)l主機(jī)主機(jī)-網(wǎng)絡(luò)層(網(wǎng)絡(luò)層(host-to-network layer)TCP/IP參考模型各層的功能參考模型各層的功能lTCP/IP 參考模型與 OSI 參考模型的對(duì)應(yīng)關(guān)系應(yīng) 用 層表 示 層會(huì) 話 層傳 輸 層網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層應(yīng) 用 層OSI參考模型OSI參考模型TCP/IP參考模型TCP/IP參考模型傳 輸 層互 聯(lián) 層主機(jī)-網(wǎng)絡(luò) 層lTCP/IP參考模型的最低層,負(fù)責(zé)通過網(wǎng)絡(luò)發(fā)參考模型的最低層,負(fù)責(zé)通過網(wǎng)絡(luò)發(fā)送和接收送和接收IP數(shù)據(jù)報(bào)數(shù)據(jù)報(bào);l允許主機(jī)連入網(wǎng)絡(luò)時(shí)使用多種現(xiàn)成的與流行的允許主機(jī)連入網(wǎng)絡(luò)時(shí)使用多種現(xiàn)成的與流行的協(xié)議,例如局域網(wǎng)的協(xié)議,例如局域網(wǎng)的Ethernet、令牌網(wǎng)、分組、令牌網(wǎng)、分組交換網(wǎng)的交換網(wǎng)的X.25、幀中繼、幀中繼、ATM協(xié)議等協(xié)議等;l當(dāng)一種物理網(wǎng)被用作傳送當(dāng)一種物理網(wǎng)被用作傳送IP數(shù)據(jù)包的通道時(shí),數(shù)據(jù)包的通道時(shí),就可以認(rèn)為是這一層的內(nèi)容就可以認(rèn)為是這一層的內(nèi)容;l充分體現(xiàn)出充分體現(xiàn)出TCP/IP協(xié)議的兼容性與適應(yīng)性,協(xié)議的兼容性與適應(yīng)性,它也為它也為TCP/IP的成功奠定了基礎(chǔ)的成功奠定了基礎(chǔ)。
主機(jī)主機(jī)-網(wǎng)絡(luò)層網(wǎng)絡(luò)層l相當(dāng)相當(dāng)OSI參考模型網(wǎng)絡(luò)層無連接網(wǎng)絡(luò)服務(wù);參考模型網(wǎng)絡(luò)層無連接網(wǎng)絡(luò)服務(wù);l處理互連的路由選擇、流控與擁塞問題;處理互連的路由選擇、流控與擁塞問題;lIP協(xié)議是一種無連接的、提供協(xié)議是一種無連接的、提供“盡力而為盡力而為”服服務(wù)的網(wǎng)絡(luò)層協(xié)議務(wù)的網(wǎng)絡(luò)層協(xié)議互連層互連層l主要功能是在互連網(wǎng)中源主機(jī)與目的主機(jī)的對(duì)等主要功能是在互連網(wǎng)中源主機(jī)與目的主機(jī)的對(duì)等實(shí)體間建立用于會(huì)話的端實(shí)體間建立用于會(huì)話的端-端連接;端連接;l傳輸控制協(xié)議傳輸控制協(xié)議TCP是一種可靠的面向連接協(xié)議;是一種可靠的面向連接協(xié)議;l用戶數(shù)據(jù)報(bào)協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議UDP是一種不可靠的無連接協(xié)議是一種不可靠的無連接協(xié)議傳輸層傳輸層l網(wǎng)絡(luò)終端協(xié)議網(wǎng)絡(luò)終端協(xié)議Telnetl文件傳輸協(xié)議文件傳輸協(xié)議FTPl簡單郵件傳輸協(xié)議簡單郵件傳輸協(xié)議SMTPl域名系統(tǒng)域名系統(tǒng)DNSl簡單網(wǎng)絡(luò)管理協(xié)議簡單網(wǎng)絡(luò)管理協(xié)議SNMPl超文本傳輸協(xié)議超文本傳輸協(xié)議HTTP應(yīng)用層應(yīng)用層應(yīng)用層應(yīng)用層傳輸層傳輸層互聯(lián)層互聯(lián)層主機(jī)-網(wǎng)絡(luò) 層主機(jī)-網(wǎng)絡(luò) 層 EthernetToken Ring其他協(xié)議ARPRARPIPTCPUDPTelnetFTP SMTPDNS其他協(xié)議TCP/IP協(xié)議棧協(xié)議棧對(duì)對(duì)OSIOSI參考模型的評(píng)價(jià)參考模型的評(píng)價(jià)l層次數(shù)量與內(nèi)容選擇不是很好,會(huì)話層很少用到,表示層次數(shù)量與內(nèi)容選擇不是很好,會(huì)話層很少用到,表示層幾乎是空的,數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層有很多的子層插入層幾乎是空的,數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層有很多的子層插入;lOSI 參考模型將參考模型將“服務(wù)服務(wù)”與與“協(xié)議協(xié)議”的定義結(jié)合起來,的定義結(jié)合起來,使得參考模型變得格外復(fù)雜,實(shí)現(xiàn)困難;使得參考模型變得格外復(fù)雜,實(shí)現(xiàn)困難;l尋址、流控與差錯(cuò)控制在每一層里都重復(fù)出現(xiàn),降低系尋址、流控與差錯(cuò)控制在每一層里都重復(fù)出現(xiàn),降低系統(tǒng)效率;統(tǒng)效率;l數(shù)據(jù)安全性、加密與網(wǎng)絡(luò)管理在參考模型的設(shè)計(jì)初期被數(shù)據(jù)安全性、加密與網(wǎng)絡(luò)管理在參考模型的設(shè)計(jì)初期被忽略了;忽略了;l參考模型的設(shè)計(jì)更多是被通信的思想所支配,不適合于參考模型的設(shè)計(jì)更多是被通信的思想所支配,不適合于計(jì)算機(jī)與軟件的工作方式;計(jì)算機(jī)與軟件的工作方式;l嚴(yán)格按照層次模型編程的軟件效率很低。
嚴(yán)格按照層次模型編程的軟件效率很低對(duì)對(duì)TCP/IPTCP/IP參考模型評(píng)價(jià)參考模型評(píng)價(jià)l在服務(wù)、接口與協(xié)議的區(qū)別上不很清楚,一個(gè)在服務(wù)、接口與協(xié)議的區(qū)別上不很清楚,一個(gè)好的軟件工程應(yīng)該將功能與實(shí)現(xiàn)方法區(qū)分開,好的軟件工程應(yīng)該將功能與實(shí)現(xiàn)方法區(qū)分開,參考模型不適合于其它非參考模型不適合于其它非TCP/IP協(xié)議族;協(xié)議族;lTCP/IP參考模型的主機(jī)參考模型的主機(jī)-網(wǎng)絡(luò)層本身并不是實(shí)網(wǎng)絡(luò)層本身并不是實(shí)際的一層;際的一層;l物理層與數(shù)據(jù)鏈路層的劃分是必要和合理的,物理層與數(shù)據(jù)鏈路層的劃分是必要和合理的,但是但是TCP/IP參考模型卻沒有做到這點(diǎn)參考模型卻沒有做到這點(diǎn)一種建議的參考模型一種建議的參考模型應(yīng) 用 層傳 輸 層網(wǎng) 絡(luò) 層數(shù)據(jù)鏈路層物 理 層應(yīng)用層的基本協(xié)議應(yīng)用層的基本協(xié)議l萬維網(wǎng)協(xié)議萬維網(wǎng)協(xié)議 WWWWWWl超文本傳輸協(xié)議超文本傳輸協(xié)議HTTPHTTPl文件傳送協(xié)議文件傳送協(xié)議FTPFTPl遠(yuǎn)程登錄協(xié)議遠(yuǎn)程登錄協(xié)議TELNETTELNETl電子郵件協(xié)議電子郵件協(xié)議SMTPSMTP(發(fā)送)(發(fā)送)l電子郵件協(xié)議電子郵件協(xié)議POP3POP3(接收)(接收)l域名服務(wù)域名服務(wù)DNSDNS域名空間域名空間lDNSDNS在概念上將因特網(wǎng)分成了在概念上將因特網(wǎng)分成了200200多個(gè)頂級(jí)域,每個(gè)頂級(jí)域多個(gè)頂級(jí)域,每個(gè)頂級(jí)域被進(jìn)一步劃分成若干個(gè)二級(jí)子域,每個(gè)二級(jí)子域還可以再被進(jìn)一步劃分成若干個(gè)二級(jí)子域,每個(gè)二級(jí)子域還可以再分子域,依次類推。
分子域,依次類推l一個(gè)指定的域是指樹中一個(gè)特定的節(jié)點(diǎn)以及該節(jié)點(diǎn)以下所一個(gè)指定的域是指樹中一個(gè)特定的節(jié)點(diǎn)以及該節(jié)點(diǎn)以下所有的節(jié)點(diǎn)有的節(jié)點(diǎn)l某個(gè)域的域名用從該域開始向上直到樹根(為空)的標(biāo)號(hào)某個(gè)域的域名用從該域開始向上直到樹根(為空)的標(biāo)號(hào)序列表示,標(biāo)號(hào)之間用句點(diǎn)隔開,如序列表示,標(biāo)號(hào)之間用句點(diǎn)隔開,如l域名的任一后綴也是一個(gè)域域名的任一后綴也是一個(gè)域l頂級(jí)域分為通用域和國家域兩類頂級(jí)域分為通用域和國家域兩類域名機(jī)構(gòu)的類型域名機(jī)構(gòu)的類型.GOV.GOV 政府機(jī)構(gòu)政府機(jī)構(gòu).EDU.EDU 教育機(jī)構(gòu)教育機(jī)構(gòu).INT.INT 國際組織(如北大西洋公約組織國際組織(如北大西洋公約組織NATONATO).MIL.MIL 軍事部門軍事部門.COM.COM 商業(yè)機(jī)構(gòu)商業(yè)機(jī)構(gòu).NET.NET 網(wǎng)絡(luò)中心網(wǎng)絡(luò)中心.ORG.ORG 社會(huì)組織、專業(yè)協(xié)會(huì)社會(huì)組織、專業(yè)協(xié)會(huì)普及地理類頂級(jí)域名普及地理類頂級(jí)域名 l域名域名 國家或地區(qū)國家或地區(qū)l.am.am 亞美尼亞亞美尼亞.aq.aq 南極洲南極洲 .ar.ar 阿根廷阿根廷 .au.au 澳大利亞澳大利亞.bb.bb 巴巴多斯巴巴多斯.be.be 比利時(shí)比利時(shí) .bg.bg 保加利亞保加利亞.ca.ca 加拿大加拿大.ch.ch 瑞士瑞士 .cl.cl 智利智利 中國中國 .cr.cr 哥斯達(dá)黎哥斯達(dá)黎加加.cy.cy 塞浦路斯塞浦路斯.de.de 德國德國 .dk.dk 丹麥丹麥 .ec.ec 埃及埃及.eg.eg 薩爾瓦多薩爾瓦多.es.es 西班牙西班牙 .fi.fi 芬蘭芬蘭 .gb.gb 英國英國 .gr.gr 希臘希臘 .hk.hk 香港香港 .hu.hu 匈牙利匈牙利 .ie.ie 愛爾蘭愛爾蘭.il.il 以色列以色列 .in.in 印度印度 .ir.ir 伊朗伊朗 .it.it 意大利意大利.jm.jm 牙買加牙買加 .jp.jp 日本日本 .kr.kr 韓國韓國 .lt.lt 立陶宛立陶宛.lu.lu 盧森保盧森保 .mo.mo 澳門澳門 .mx.mx 墨西哥墨西哥 .ni.ni 尼加拉瓜尼加拉瓜.nl.nl 荷蘭荷蘭 .no.no 挪威挪威 .nz.nz 新西蘭新西蘭 .pe.pe 貝盧貝盧.ph.ph 菲律賓菲律賓 .pl.pl 波蘭波蘭 .pt.pt 葡萄牙葡萄牙 .ru.ru 俄國俄國.se.se 瑞典瑞典 .sg.sg 新加坡新加坡 .si.si 斯洛文尼亞斯洛文尼亞.th.th 泰國泰國.tn.tn 突尼斯突尼斯 .tr.tr 土耳其土耳其 .tw.tw 臺(tái)灣臺(tái)灣 .us.us 美國美國.uk.uk 英國英國 .ve.ve 委內(nèi)瑞拉委內(nèi)瑞拉.vn.vn 越南越南 .zm.zm 贊比亞贊比亞域名結(jié)構(gòu)圖域名結(jié)構(gòu)圖萬維網(wǎng)萬維網(wǎng)WWWWWW(World Wide Web)WWW(World Wide Web)并非某種特殊的計(jì)算機(jī)網(wǎng)絡(luò)。
并非某種特殊的計(jì)算機(jī)網(wǎng)絡(luò)萬維網(wǎng)是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息儲(chǔ)藏所,英文簡稱萬維網(wǎng)是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息儲(chǔ)藏所,英文簡稱為為WebWebl萬維網(wǎng)是一個(gè)分布式的萬維網(wǎng)是一個(gè)分布式的(hypermedia)(hypermedia)系統(tǒng),它是系統(tǒng),它是(hypertext)(hypertext)系統(tǒng)的擴(kuò)充系統(tǒng)的擴(kuò)充l萬維網(wǎng)以客戶服務(wù)器方式工作萬維網(wǎng)以客戶服務(wù)器方式工作在一個(gè)客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為在一個(gè)客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為(page)(page)網(wǎng)頁獲取網(wǎng)頁獲取lWebWeb采用客戶采用客戶/服務(wù)器模式工作,客戶為瀏覽器軟件,服務(wù)服務(wù)器模式工作,客戶為瀏覽器軟件,服務(wù)器是運(yùn)行在器是運(yùn)行在WebWeb服務(wù)器上的一個(gè)軟件程序;服務(wù)器上的一個(gè)軟件程序;l服務(wù)器平時(shí)總在端口服務(wù)器平時(shí)總在端口8080上監(jiān)聽客戶的連接請(qǐng)求,當(dāng)用戶點(diǎn)上監(jiān)聽客戶的連接請(qǐng)求,當(dāng)用戶點(diǎn)擊了一個(gè)超級(jí)鏈接后:擊了一個(gè)超級(jí)鏈接后:l瀏覽器找到該鏈接所指的網(wǎng)頁的名字瀏覽器找到該鏈接所指的網(wǎng)頁的名字l與網(wǎng)頁所在的服務(wù)器建立一個(gè)與網(wǎng)頁所在的服務(wù)器建立一個(gè)TCPTCP連接連接l向服務(wù)器發(fā)送取網(wǎng)頁的請(qǐng)求向服務(wù)器發(fā)送取網(wǎng)頁的請(qǐng)求l服務(wù)器將請(qǐng)求的網(wǎng)頁發(fā)送給瀏覽器服務(wù)器將請(qǐng)求的網(wǎng)頁發(fā)送給瀏覽器l釋放釋放TCPTCP連接連接l兩個(gè)問題需要解決:兩個(gè)問題需要解決:l如何命名一個(gè)網(wǎng)頁如何命名一個(gè)網(wǎng)頁l定義客戶和服務(wù)器之間的傳輸協(xié)議定義客戶和服務(wù)器之間的傳輸協(xié)議Web工作模型工作模型統(tǒng)一資源定位符統(tǒng)一資源定位符URLlUniform Resource LocatorUniform Resource Locator(URLURL)的一般)的一般格式為格式為 schemename:/host/pathschemename:/host/pathlSchemenameSchemename:方法名,指出訪問網(wǎng)頁的方法名,指出訪問網(wǎng)頁的協(xié)議名稱,常見的方法有協(xié)議名稱,常見的方法有httphttp、ftpftp、telnettelnet等;等;lHostHost:網(wǎng)頁所在宿主機(jī)的域名網(wǎng)頁所在宿主機(jī)的域名lPathPath:網(wǎng)頁在宿主機(jī)上的全路徑名網(wǎng)頁在宿主機(jī)上的全路徑名Web的客戶方(的客戶方(1)l當(dāng)用戶點(diǎn)擊了某個(gè)超級(jí)鏈接后,瀏覽器按以下步驟工作:當(dāng)用戶點(diǎn)擊了某個(gè)超級(jí)鏈接后,瀏覽器按以下步驟工作:l瀏覽器確定瀏覽器確定URLURL(從頁及點(diǎn)擊位置獲取);(從頁及點(diǎn)擊位置獲?。籰請(qǐng)求請(qǐng)求DNSDNS解析域名,解析域名,DNSDNS返回返回IPIP地址;地址;l瀏覽器與的端口瀏覽器與的端口8080建立一個(gè)建立一個(gè)TCPTCP連接;連接;l瀏覽器發(fā)送一個(gè)請(qǐng)求,要求取文件瀏覽器發(fā)送一個(gè)請(qǐng)求,要求取文件/home/index.html/home/index.html;l服務(wù)器發(fā)送文件服務(wù)器發(fā)送文件/home/index.html/home/index.html,釋放,釋放TCPTCP連接;連接;l瀏覽器顯示文件瀏覽器顯示文件/home/index.html/home/index.html的所有文本內(nèi)容;的所有文本內(nèi)容;l瀏覽器取回該文件中的所有圖像并顯示(一次取一個(gè)圖像顯瀏覽器取回該文件中的所有圖像并顯示(一次取一個(gè)圖像顯示)。
示)Web的客戶方(的客戶方(2)l為了使瀏覽器能夠正確解釋和顯示每一個(gè)為了使瀏覽器能夠正確解釋和顯示每一個(gè)WebWeb頁,頁,WebWeb頁應(yīng)當(dāng)頁應(yīng)當(dāng)使用稱為使用稱為HTMLHTML(超文本標(biāo)記語言)的標(biāo)準(zhǔn)語言書寫;(超文本標(biāo)記語言)的標(biāo)準(zhǔn)語言書寫;l如果一個(gè)頁不是如果一個(gè)頁不是HTMLHTML格式的,怎么顯示?格式的,怎么顯示?l當(dāng)服務(wù)器返回一個(gè)頁的時(shí)候,同時(shí)要返回關(guān)于這個(gè)頁的一當(dāng)服務(wù)器返回一個(gè)頁的時(shí)候,同時(shí)要返回關(guān)于這個(gè)頁的一些額外信息,特別是頁的些額外信息,特別是頁的MIMEMIME類型;類型;l當(dāng)頁的當(dāng)頁的MIMEMIME類型是類型是text/htmltext/html(瀏覽器的內(nèi)置類型瀏覽器的內(nèi)置類型)時(shí),)時(shí),瀏覽器直接顯示;瀏覽器直接顯示;l當(dāng)頁的當(dāng)頁的MIMEMIME類型不是瀏覽器本身所支持的,瀏覽器查找類型不是瀏覽器本身所支持的,瀏覽器查找MIMEMIME類型表,該表將每個(gè)類型表,該表將每個(gè)MIMEMIME類型關(guān)聯(lián)到一個(gè)閱讀器上,類型關(guān)聯(lián)到一個(gè)閱讀器上,瀏覽器調(diào)用相應(yīng)的閱讀器進(jìn)行顯示;瀏覽器調(diào)用相應(yīng)的閱讀器進(jìn)行顯示;l閱讀器可以是和瀏覽器運(yùn)行在同一個(gè)程序空間的插件程序,閱讀器可以是和瀏覽器運(yùn)行在同一個(gè)程序空間的插件程序,也可以是一個(gè)獨(dú)立的助手程序;也可以是一個(gè)獨(dú)立的助手程序;l對(duì)于本地文件,瀏覽器通過文件的擴(kuò)展名得知文件類型。
對(duì)于本地文件,瀏覽器通過文件的擴(kuò)展名得知文件類型域名解析服務(wù)域名解析服務(wù)DNSlDNS DNS 是是域名系統(tǒng)域名系統(tǒng) (Domain Name System)(Domain Name System)的縮的縮寫,該系統(tǒng)用于命名組織到域?qū)哟谓Y(jié)構(gòu)中的計(jì)寫,該系統(tǒng)用于命名組織到域?qū)哟谓Y(jié)構(gòu)中的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)在算機(jī)和網(wǎng)絡(luò)服務(wù)在InternetInternet上域名與上域名與IPIP地址地址之間是一對(duì)一(或者一對(duì)多)的,域名雖然便之間是一對(duì)一(或者一對(duì)多)的,域名雖然便于人們記憶,但機(jī)器之間只能互相認(rèn)識(shí)于人們記憶,但機(jī)器之間只能互相認(rèn)識(shí)IPIP地址,地址,它們之間的轉(zhuǎn)換工作稱為域名解析,域名解析它們之間的轉(zhuǎn)換工作稱為域名解析,域名解析需要由專門的域名解析服務(wù)器來完成,需要由專門的域名解析服務(wù)器來完成,DNSDNS就就是進(jìn)行域名解析的服務(wù)器是進(jìn)行域名解析的服務(wù)器DNS DNS 命名用于命名用于 Internet Internet 等等 TCP/IP TCP/IP 網(wǎng)絡(luò)中,通過用戶友好網(wǎng)絡(luò)中,通過用戶友好的名稱查找計(jì)算機(jī)和服務(wù)的名稱查找計(jì)算機(jī)和服務(wù)DNS解析過程解析過程狀態(tài)信息和狀態(tài)信息和cookielWebWeb本質(zhì)上是無狀態(tài)的,當(dāng)服務(wù)器將瀏覽器請(qǐng)求的文件發(fā)回后,本質(zhì)上是無狀態(tài)的,當(dāng)服務(wù)器將瀏覽器請(qǐng)求的文件發(fā)回后,服務(wù)器上不保留有關(guān)用戶的任何信息;服務(wù)器上不保留有關(guān)用戶的任何信息;l在兩次調(diào)用之間程序保存的信息稱為狀態(tài)信息,狀態(tài)信息可以保在兩次調(diào)用之間程序保存的信息稱為狀態(tài)信息,狀態(tài)信息可以保存在瀏覽器或服務(wù)器上。
存在瀏覽器或服務(wù)器上l服務(wù)器傳遞給瀏覽器保存的狀態(tài)信息稱為服務(wù)器傳遞給瀏覽器保存的狀態(tài)信息稱為cookiecookie:l服務(wù)器完成服務(wù)請(qǐng)求時(shí)將需要保存的信息存于本地,同時(shí)將少服務(wù)器完成服務(wù)請(qǐng)求時(shí)將需要保存的信息存于本地,同時(shí)將少量信息(量信息(cookiecookie)返回給瀏覽器,返回給瀏覽器,cookiecookie通常被作為這些信通常被作為這些信息的索引;息的索引;lCookieCookie是一個(gè)小文件,通常保存在是一個(gè)小文件,通常保存在瀏覽器瀏覽器的的cookiecookie目錄下;目錄下;l當(dāng)瀏覽器要向某個(gè)服務(wù)器發(fā)送請(qǐng)求時(shí),先檢查當(dāng)瀏覽器要向某個(gè)服務(wù)器發(fā)送請(qǐng)求時(shí),先檢查cookiecookie目錄,看目錄,看是否有從那個(gè)服務(wù)器發(fā)來的是否有從那個(gè)服務(wù)器發(fā)來的cookiecookie,如果有就把所有的,如果有就把所有的cookiecookie都包含在請(qǐng)求消息中,發(fā)送給服務(wù)器都包含在請(qǐng)求消息中,發(fā)送給服務(wù)器Web文檔文檔l靜態(tài)文檔:靜態(tài)文檔以文件方式保存在靜態(tài)文檔:靜態(tài)文檔以文件方式保存在WebWeb服務(wù)器上,服務(wù)器上,由文檔的作者決定文檔的內(nèi)容,對(duì)靜態(tài)文檔的每次請(qǐng)求由文檔的作者決定文檔的內(nèi)容,對(duì)靜態(tài)文檔的每次請(qǐng)求均產(chǎn)生相同的響應(yīng)。
均產(chǎn)生相同的響應(yīng)l動(dòng)態(tài)文檔:動(dòng)態(tài)文檔是由動(dòng)態(tài)文檔:動(dòng)態(tài)文檔是由WebWeb服務(wù)器動(dòng)態(tài)創(chuàng)建的當(dāng)請(qǐng)服務(wù)器動(dòng)態(tài)創(chuàng)建的當(dāng)請(qǐng)求到達(dá)時(shí),求到達(dá)時(shí),WebWeb服務(wù)器運(yùn)行一個(gè)應(yīng)用程序創(chuàng)建動(dòng)態(tài)文檔,服務(wù)器運(yùn)行一個(gè)應(yīng)用程序創(chuàng)建動(dòng)態(tài)文檔,并返回給瀏覽器,因此每次請(qǐng)求產(chǎn)生的動(dòng)態(tài)文檔是不同并返回給瀏覽器,因此每次請(qǐng)求產(chǎn)生的動(dòng)態(tài)文檔是不同的l主動(dòng)(主動(dòng)(activeactive)文檔:主動(dòng)文檔由一個(gè)計(jì)算機(jī)程序組成,)文檔:主動(dòng)文檔由一個(gè)計(jì)算機(jī)程序組成,當(dāng)游覽器請(qǐng)求一個(gè)主動(dòng)文檔時(shí),服務(wù)器返回一個(gè)必須在當(dāng)游覽器請(qǐng)求一個(gè)主動(dòng)文檔時(shí),服務(wù)器返回一個(gè)必須在瀏覽器本地運(yùn)行的程序的拷貝,程序運(yùn)行時(shí)可以與用戶瀏覽器本地運(yùn)行的程序的拷貝,程序運(yùn)行時(shí)可以與用戶進(jìn)行交互,并不斷訪問服務(wù)器取回新的信息,因此主動(dòng)進(jìn)行交互,并不斷訪問服務(wù)器取回新的信息,因此主動(dòng)文檔的內(nèi)容是在不斷更新的文檔的內(nèi)容是在不斷更新的Web服務(wù)器方工作過程服務(wù)器方工作過程l服務(wù)器在服務(wù)器在端口端口8080監(jiān)聽,與請(qǐng)求的客戶建立監(jiān)聽,與請(qǐng)求的客戶建立TCPTCP連接連接,接收,接收服務(wù)請(qǐng)求;服務(wù)請(qǐng)求;l確定請(qǐng)求的確定請(qǐng)求的WebWeb頁(名字?jǐn)U展);頁(名字?jǐn)U展);l(若需要)認(rèn)證客戶;對(duì)客戶進(jìn)行訪問控制;對(duì)請(qǐng)求的(若需要)認(rèn)證客戶;對(duì)客戶進(jìn)行訪問控制;對(duì)請(qǐng)求的頁進(jìn)行訪問控制;頁進(jìn)行訪問控制;l檢查請(qǐng)求的頁是否在高速緩存中,有直接讀取;檢查請(qǐng)求的頁是否在高速緩存中,有直接讀取;l若不在高速緩存中,從本地磁盤讀取文件;若不在高速緩存中,從本地磁盤讀取文件;l確定要包含在響應(yīng)中的確定要包含在響應(yīng)中的MIMEMIME類型;類型;l將文件返回給客戶,進(jìn)行日志記錄,釋放連接。
將文件返回給客戶,進(jìn)行日志記錄,釋放連接l服務(wù)器設(shè)計(jì)的關(guān)鍵是要提高服務(wù)的響應(yīng)速度,服務(wù)于更多的服務(wù)器設(shè)計(jì)的關(guān)鍵是要提高服務(wù)的響應(yīng)速度,服務(wù)于更多的客戶常用的技術(shù)包括:將經(jīng)常訪問的文件保存在高速緩存客戶常用的技術(shù)包括:將經(jīng)常訪問的文件保存在高速緩存中,服務(wù)器設(shè)計(jì)為多線程的且使用多個(gè)磁盤,建立中,服務(wù)器設(shè)計(jì)為多線程的且使用多個(gè)磁盤,建立server server farmfarm等HTML、XML和和XHTML(1)lHTMLHTML(超文本標(biāo)記語言)是一種標(biāo)記語言,用于描述文檔的顯示格式;(超文本標(biāo)記語言)是一種標(biāo)記語言,用于描述文檔的顯示格式;lHTMLHTML中的格式命令稱為標(biāo)簽,標(biāo)簽成對(duì)出現(xiàn),包含在一對(duì)標(biāo)簽中的文中的格式命令稱為標(biāo)簽,標(biāo)簽成對(duì)出現(xiàn),包含在一對(duì)標(biāo)簽中的文檔內(nèi)容,其顯示格式就由該標(biāo)簽指定;檔內(nèi)容,其顯示格式就由該標(biāo)簽指定;lHTMLHTML使用使用標(biāo)簽在標(biāo)簽在WebWeb頁中嵌入圖像,如:頁中嵌入圖像,如:IMG SRC=“http:/ ALT=AWI Logo;lHTMLHTML使用使用標(biāo)標(biāo)簽在簽在WebWeb頁中加入超級(jí)鏈接,如:頁中加入超級(jí)鏈接,如:NASAs home page NASAs home page;l也可以為圖像設(shè)置超級(jí)鏈接,如:也可以為圖像設(shè)置超級(jí)鏈接,如:HTML、XML和和XHTML(2)lHTMLHTML使用表單收集用戶的輸入信息,表單中包含需要用戶使用表單收集用戶的輸入信息,表單中包含需要用戶提供信息的條目,每個(gè)條目都有一個(gè)唯一的名字,當(dāng)用戶提供信息的條目,每個(gè)條目都有一個(gè)唯一的名字,當(dāng)用戶點(diǎn)擊提交按鈕時(shí),瀏覽器將所有條目及條目的值匯總,發(fā)點(diǎn)擊提交按鈕時(shí),瀏覽器將所有條目及條目的值匯總,發(fā)送給服務(wù)器。
送給服務(wù)器lHTMLHTML的缺點(diǎn):的缺點(diǎn):將文檔的內(nèi)容與格式綁在一起,使得從文檔將文檔的內(nèi)容與格式綁在一起,使得從文檔中抽取信息或者改變信息的輸出格式非常困難中抽取信息或者改變信息的輸出格式非常困難l擴(kuò)展的標(biāo)記語言擴(kuò)展的標(biāo)記語言XMLXML和擴(kuò)展的樣式語言和擴(kuò)展的樣式語言XSLXSL將內(nèi)容與格式分將內(nèi)容與格式分離,使得離,使得數(shù)據(jù)的收集、處理與輸出非常靈活方便數(shù)據(jù)的收集、處理與輸出非常靈活方便lXMLXML以結(jié)構(gòu)化的方式描述內(nèi)容;以結(jié)構(gòu)化的方式描述內(nèi)容;lXSLXSL描述獨(dú)立于內(nèi)容的顯示格式描述獨(dú)立于內(nèi)容的顯示格式l可擴(kuò)展的超文本標(biāo)記語言可擴(kuò)展的超文本標(biāo)記語言XHTMLXHTML是一種更規(guī)范的語言,可是一種更規(guī)范的語言,可簡化瀏覽器的處理,從而可以在內(nèi)存及處理能力均有限的簡化瀏覽器的處理,從而可以在內(nèi)存及處理能力均有限的手持設(shè)備上運(yùn)行瀏覽器程序手持設(shè)備上運(yùn)行瀏覽器程序表單表單CGI和服務(wù)器端腳本技術(shù)(和服務(wù)器端腳本技術(shù)(1)lHTMLHTML表單的處理過程;表單的處理過程;l處理動(dòng)態(tài)文檔的傳統(tǒng)方法是公共網(wǎng)關(guān)接口處理動(dòng)態(tài)文檔的傳統(tǒng)方法是公共網(wǎng)關(guān)接口CGICGI:lCGICGI是一個(gè)標(biāo)準(zhǔn)接口,它允許是一個(gè)標(biāo)準(zhǔn)接口,它允許WebWeb服務(wù)器與一個(gè)能夠處理動(dòng)服務(wù)器與一個(gè)能夠處理動(dòng)態(tài)文檔的后臺(tái)程序或腳本進(jìn)行交互;態(tài)文檔的后臺(tái)程序或腳本進(jìn)行交互;lCGICGI只只規(guī)定了服務(wù)器與后臺(tái)程序交互的通用規(guī)則,而允許程規(guī)定了服務(wù)器與后臺(tái)程序交互的通用規(guī)則,而允許程序員選擇大多數(shù)的實(shí)現(xiàn)細(xì)節(jié),如編程語言的選擇;序員選擇大多數(shù)的實(shí)現(xiàn)細(xì)節(jié),如編程語言的選擇;l每個(gè)每個(gè)CGICGI程序被賦予一個(gè)程序被賦予一個(gè)URLURL,位于,位于cgi-bincgi-bin目錄下,表單的目錄下,表單的ACTIONACTION參數(shù)指出了處理表單數(shù)據(jù)的參數(shù)指出了處理表單數(shù)據(jù)的CGICGI程序的程序的URLURL,當(dāng)表單,當(dāng)表單數(shù)據(jù)被提交后,數(shù)據(jù)被提交后,WebWeb服務(wù)器調(diào)用相應(yīng)的服務(wù)器調(diào)用相應(yīng)的CGICGI程序進(jìn)行處理,程序進(jìn)行處理,并接收并接收CGICGI程序的輸出;程序的輸出;lCGICGI程序通過輸出的頭部與服務(wù)器進(jìn)行通信,比如指出生成程序通過輸出的頭部與服務(wù)器進(jìn)行通信,比如指出生成的文檔類型,也可以指出文檔放在另一個(gè)不同的的文檔類型,也可以指出文檔放在另一個(gè)不同的URLURL處;處;l服務(wù)器取得服務(wù)器取得CGICGI生成的文檔,返回給瀏覽器。
生成的文檔,返回給瀏覽器表單的處理表單的處理CGI和服務(wù)器端腳本技術(shù)(和服務(wù)器端腳本技術(shù)(2)lCGICGI的缺點(diǎn):每次請(qǐng)求的缺點(diǎn):每次請(qǐng)求CGICGI程序,均會(huì)產(chǎn)生一個(gè)完整的程序,均會(huì)產(chǎn)生一個(gè)完整的HTMLHTML頁,即頁,即使每次產(chǎn)生的使每次產(chǎn)生的HTMLHTML文件內(nèi)容只有幾行不同文件內(nèi)容只有幾行不同l當(dāng)網(wǎng)頁只有一小部分需要改變時(shí),可以使用服務(wù)器端腳本技術(shù):當(dāng)網(wǎng)頁只有一小部分需要改變時(shí),可以使用服務(wù)器端腳本技術(shù):l在服務(wù)器中存儲(chǔ)網(wǎng)頁的模板,它包含傳統(tǒng)的在服務(wù)器中存儲(chǔ)網(wǎng)頁的模板,它包含傳統(tǒng)的HTMLHTML和腳本信息;和腳本信息;l服務(wù)器中內(nèi)置解釋器,對(duì)于服務(wù)器中內(nèi)置解釋器,對(duì)于HTMLHTML信息解釋器不做任何改變,對(duì)信息解釋器不做任何改變,對(duì)于腳本信息解釋器用解釋腳本的結(jié)果代替于腳本信息解釋器用解釋腳本的結(jié)果代替l幾種主要的服務(wù)器端腳本技術(shù):幾種主要的服務(wù)器端腳本技術(shù):lASPASP(微軟):腳本信息用(微軟):腳本信息用VBVB編寫,腳本解釋器與微軟的編寫,腳本解釋器與微軟的InternetInternet信息服務(wù)器(信息服務(wù)器(Internet Informaton ServerInternet Informaton Server,IISIIS)緊密集成。
緊密集成lJSPJSP:網(wǎng)頁中嵌入的腳本代碼用:網(wǎng)頁中嵌入的腳本代碼用JavaJava語言編寫,因而獨(dú)立于平語言編寫,因而獨(dú)立于平臺(tái)lPHPPHP:使使用用PerlPerl語言,速度比語言,速度比ASPASP和和JSPJSP快,但嵌入的代碼難以快,但嵌入的代碼難以閱讀lColdFusionColdFusion:網(wǎng)頁中嵌入:網(wǎng)頁中嵌入SQLSQL數(shù)據(jù)庫查詢語句,解釋器向數(shù)據(jù)數(shù)據(jù)庫查詢語句,解釋器向數(shù)據(jù)庫系統(tǒng)發(fā)送庫系統(tǒng)發(fā)送SQLSQL查詢,并將結(jié)果置于查詢語句的位置查詢,并將結(jié)果置于查詢語句的位置Java、JavaScript和和ActiveX controlslJavaJavalJava AppletJava Applet必須先被編譯成字節(jié)碼并存儲(chǔ)在必須先被編譯成字節(jié)碼并存儲(chǔ)在WebWeb服務(wù)器服務(wù)器上;上;l游覽器需要運(yùn)行游覽器需要運(yùn)行HTMLHTML解釋器和解釋器和JavaJava解釋器;解釋器;l當(dāng)用戶向?yàn)g覽器提供一個(gè)當(dāng)用戶向?yàn)g覽器提供一個(gè)AppletApplet的的URLURL,或當(dāng)瀏覽器在,或當(dāng)瀏覽器在HTMLHTML文檔中遇到一個(gè)指向文檔中遇到一個(gè)指向AppletApplet的標(biāo)記的標(biāo)記時(shí),時(shí),瀏覽器與服務(wù)器聯(lián)系獲得該瀏覽器與服務(wù)器聯(lián)系獲得該AppletApplet的一個(gè)拷貝,下載到的一個(gè)拷貝,下載到本地執(zhí)行;本地執(zhí)行;lAppletApplet使用瀏覽器的使用瀏覽器的HTTPHTTP客戶檢索文檔,使用瀏覽器的客戶檢索文檔,使用瀏覽器的HTMLHTML解釋器顯示網(wǎng)頁信息。
解釋器顯示網(wǎng)頁信息lJavaScriptJavaScriptlJavaScriptJavaScript是一種腳本語言,提供有與用戶交互的是一種腳本語言,提供有與用戶交互的JavaScriptJavaScript函數(shù),腳本直接嵌入函數(shù),腳本直接嵌入HTMLHTML頁中,由瀏覽器解頁中,由瀏覽器解釋執(zhí)行l(wèi)ActiveX controlsActiveX controlslActiveX controlsActiveX controls被編譯成機(jī)器語言,在硬件上執(zhí)行,被編譯成機(jī)器語言,在硬件上執(zhí)行,與微軟的與微軟的IEIE瀏覽器結(jié)合在一起瀏覽器結(jié)合在一起超文本傳輸協(xié)議超文本傳輸協(xié)議HTTPlHTTPHTTP協(xié)議:協(xié)議:瀏覽器與瀏覽器與WebWeb服務(wù)器之間通信使用的協(xié)議,規(guī)服務(wù)器之間通信使用的協(xié)議,規(guī)定了客戶方與服務(wù)器方通信所使用的命令及響應(yīng)定了客戶方與服務(wù)器方通信所使用的命令及響應(yīng)lHTTPHTTP通常運(yùn)行在通常運(yùn)行在TCPTCP連接之上,使用端口連接之上,使用端口8080l基本工作模式:基本工作模式:瀏覽器向服務(wù)器發(fā)送瀏覽器向服務(wù)器發(fā)送HTTPHTTP請(qǐng)求,服務(wù)器返請(qǐng)求,服務(wù)器返回響應(yīng),然后釋放連接。
服務(wù)器不保留以前的請(qǐng)求或會(huì)話回響應(yīng),然后釋放連接服務(wù)器不保留以前的請(qǐng)求或會(huì)話的歷史記錄的歷史記錄l持久連接:持久連接:從從HTTP/1.1HTTP/1.1開始使用持久連接方式,一旦客戶開始使用持久連接方式,一旦客戶建立了和特定服務(wù)器的建立了和特定服務(wù)器的TCPTCP連接,該連接就在多個(gè)請(qǐng)求和連接,該連接就在多個(gè)請(qǐng)求和響應(yīng)過程中一直存在,直到某一方關(guān)閉連接響應(yīng)過程中一直存在,直到某一方關(guān)閉連接HTTP/1.1HTTP/1.1的的默認(rèn)方式為使用持久連接默認(rèn)方式為使用持久連接l非流水線方式:客戶只能在收到前一個(gè)請(qǐng)求的響應(yīng)后才非流水線方式:客戶只能在收到前一個(gè)請(qǐng)求的響應(yīng)后才能發(fā)送下一個(gè)請(qǐng)求;能發(fā)送下一個(gè)請(qǐng)求;l流水線方式:客戶可以連續(xù)發(fā)送多個(gè)請(qǐng)求而不需要等待流水線方式:客戶可以連續(xù)發(fā)送多個(gè)請(qǐng)求而不需要等待響應(yīng),服務(wù)器也可以進(jìn)行連續(xù)響應(yīng)響應(yīng),服務(wù)器也可以進(jìn)行連續(xù)響應(yīng)l使用持久連接的缺點(diǎn)是要標(biāo)識(shí)發(fā)送的每一個(gè)數(shù)據(jù)項(xiàng)的開頭使用持久連接的缺點(diǎn)是要標(biāo)識(shí)發(fā)送的每一個(gè)數(shù)據(jù)項(xiàng)的開頭和結(jié)尾HTTPHTTP通常使用的方法是先發(fā)送數(shù)據(jù)項(xiàng)的長度,然通常使用的方法是先發(fā)送數(shù)據(jù)項(xiàng)的長度,然后再發(fā)送數(shù)據(jù)項(xiàng)后再發(fā)送數(shù)據(jù)項(xiàng)超文本傳輸協(xié)議超文本傳輸協(xié)議HTTP(2)l內(nèi)置的內(nèi)置的HTTPHTTP操作操作lHTTPHTTP允許瀏覽器和服務(wù)器通過消息頭部交換元允許瀏覽器和服務(wù)器通過消息頭部交換元信息和協(xié)商各種能力;信息和協(xié)商各種能力;l條件請(qǐng)求:條件請(qǐng)求:HTTPHTTP允許發(fā)送方有條件地請(qǐng)求,瀏允許發(fā)送方有條件地請(qǐng)求,瀏覽器可以在頭部說明在哪種條件下應(yīng)該響應(yīng)請(qǐng)覽器可以在頭部說明在哪種條件下應(yīng)該響應(yīng)請(qǐng)求,如果不符合條件,服務(wù)器不返回請(qǐng)求的數(shù)求,如果不符合條件,服務(wù)器不返回請(qǐng)求的數(shù)據(jù)項(xiàng)據(jù)項(xiàng)。
Web優(yōu)化(優(yōu)化(1)lWebWeb緩存緩存lWebWeb緩存是將請(qǐng)求到的頁放到緩存中,以備將來使用緩存是將請(qǐng)求到的頁放到緩存中,以備將來使用l使用一個(gè)代理程序來維護(hù)緩存,瀏覽器被配置為向代理使用一個(gè)代理程序來維護(hù)緩存,瀏覽器被配置為向代理請(qǐng)求網(wǎng)頁,當(dāng)緩存中有所請(qǐng)求的頁時(shí),代理將頁返回,請(qǐng)求網(wǎng)頁,當(dāng)緩存中有所請(qǐng)求的頁時(shí),代理將頁返回,否則先從服務(wù)器取回,添加到緩存中,然后返回給請(qǐng)求否則先從服務(wù)器取回,添加到緩存中,然后返回給請(qǐng)求頁的客戶頁的客戶l分級(jí)緩存方案:本地分級(jí)緩存方案:本地PCPC、局域網(wǎng)及、局域網(wǎng)及ISPISP均運(yùn)行代理,協(xié)均運(yùn)行代理,協(xié)同工作l確定頁的緩存時(shí)間:確定頁的緩存時(shí)間:l啟發(fā)式方法:根據(jù)網(wǎng)頁的啟發(fā)式方法:根據(jù)網(wǎng)頁的Last-ModifiedLast-Modified頭來確定保頭來確定保存時(shí)間;存時(shí)間;l條件請(qǐng)求:使用條件請(qǐng)求:使用If-Modified-SinceIf-Modified-Since請(qǐng)求頭;請(qǐng)求頭;l由服務(wù)器指示如何進(jìn)行緩存由服務(wù)器指示如何進(jìn)行緩存l積極緩存積極緩存Web分級(jí)緩存方案分級(jí)緩存方案Web優(yōu)化(優(yōu)化(2)l服務(wù)器鏡像服務(wù)器鏡像l服務(wù)器在多個(gè)相距較遠(yuǎn)的位置上復(fù)制它們的內(nèi)容;l鏡像站點(diǎn)的靜態(tài)創(chuàng)建和動(dòng)態(tài)創(chuàng)建。
Web優(yōu)化(優(yōu)化(3)l內(nèi)容投遞網(wǎng)絡(luò)內(nèi)容投遞網(wǎng)絡(luò)CDNCDNl內(nèi)容投遞商通過在各個(gè)內(nèi)容投遞商通過在各個(gè)ISPISP網(wǎng)絡(luò)上放置自已的內(nèi)容服務(wù)網(wǎng)絡(luò)上放置自已的內(nèi)容服務(wù)器,為內(nèi)容提供商提供內(nèi)容投遞服務(wù)器,為內(nèi)容提供商提供內(nèi)容投遞服務(wù)l如何將用戶的請(qǐng)求重定位到最近的內(nèi)容服務(wù)器上?如何將用戶的請(qǐng)求重定位到最近的內(nèi)容服務(wù)器上?lCDNCDN對(duì)內(nèi)容提供商服務(wù)器上的每一個(gè)網(wǎng)頁進(jìn)行預(yù)處理,對(duì)內(nèi)容提供商服務(wù)器上的每一個(gè)網(wǎng)頁進(jìn)行預(yù)處理,將網(wǎng)頁中的所有將網(wǎng)頁中的所有URLURL替換為指向替換為指向CDNCDN服務(wù)器的服務(wù)器的URLURL;lCDNCDN服務(wù)器是一個(gè)偽服務(wù)器是一個(gè)偽HTTPHTTP服務(wù)器,它通過檢查文件名服務(wù)器,它通過檢查文件名和服務(wù)器名,確定請(qǐng)求的是哪個(gè)內(nèi)容提供商的哪個(gè)網(wǎng)和服務(wù)器名,確定請(qǐng)求的是哪個(gè)內(nèi)容提供商的哪個(gè)網(wǎng)頁;通過檢查輸入請(qǐng)求的頁;通過檢查輸入請(qǐng)求的IPIP地址并查找數(shù)據(jù)庫,確定地址并查找數(shù)據(jù)庫,確定用戶大概在什么位置;然后確定一個(gè)最合適的用戶大概在什么位置;然后確定一個(gè)最合適的CDNCDN內(nèi)內(nèi)容服務(wù)器,向客戶返回一個(gè)帶有容服務(wù)器,向客戶返回一個(gè)帶有LocationLocation頭的響應(yīng)消頭的響應(yīng)消息,給出該內(nèi)容服務(wù)器上所請(qǐng)求文件的息,給出該內(nèi)容服務(wù)器上所請(qǐng)求文件的URLURL。
l通常偽通常偽HTTPHTTP服務(wù)器會(huì)將客戶的請(qǐng)求重定向到距客戶最服務(wù)器會(huì)將客戶的請(qǐng)求重定向到距客戶最近的近的CDNCDN代理,代理,CDNCDN代理擁有一個(gè)很大的緩存,里面預(yù)代理擁有一個(gè)很大的緩存,里面預(yù)先下載了最重要的內(nèi)容先下載了最重要的內(nèi)容在在CDN中查找中查找URLl1 1、ISOISO七層協(xié)議是什么?七層協(xié)議是什么?TCP/IPTCP/IP四層協(xié)議是什么?四層協(xié)議是什么?l2 2、ISOISO模型是如何進(jìn)行傳輸?shù)哪P褪侨绾芜M(jìn)行傳輸?shù)膌3 3、ISOISO七層協(xié)議各有什么作用?七層協(xié)議各有什么作用?l4 4、簡述、簡述ISOISO模型與模型與TCP/IPTCP/IP模型的特點(diǎn)模型的特點(diǎn)l5 5、簡述、簡述ISOISO模型與模型與TCP/IPTCP/IP模型的關(guān)系與區(qū)別模型的關(guān)系與區(qū)別l6 6、TCP/IPTCP/IP四層協(xié)議各有什么作用?四層協(xié)議各有什么作用?l7 7、TCP/IPTCP/IP應(yīng)用層服務(wù)有哪些?應(yīng)用層服務(wù)有哪些?l8 8、簡要說明、簡要說明WWWWWW服務(wù)的執(zhí)行過程服務(wù)的執(zhí)行過程l9 9、當(dāng)用戶點(diǎn)擊了某個(gè)超級(jí)鏈接后,、當(dāng)用戶點(diǎn)擊了某個(gè)超級(jí)鏈接后,WebWeb客戶端與服務(wù)器端客戶端與服務(wù)器端各進(jìn)行哪些工作?各進(jìn)行哪些工作?l1010、WebWeb的優(yōu)化方案有哪些?如何運(yùn)作的?的優(yōu)化方案有哪些?如何運(yùn)作的?本章思考題本章思考題。
