網絡架構與網絡協(xié)議課件



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