第二章網絡應用

 第一節:計算機網絡應用體系結構

計算機網絡應用體系結構 html

一、客戶/服務器(C/S)結構網絡應用 :最典型、最基本的網絡應用;例如: www應用;文件傳輸;電子郵件;web

  • 客戶/服務器(C/S)結構的特色
  • 一、網絡通訊雙方分爲客戶程序和服務器程序,用戶與用戶之間不進行直接通訊。
  • 二、服務器程序需先運行,作好接受通訊的準備。
  • 三、客戶程序後運行,主動與服務器進行通訊。

二、純P2P結構網絡應用:通訊雙方沒有傳統意義上的客戶服務器之分,地位對等,通訊雙方都具有客戶與服務器的特徵。P2P網絡是在IP網絡上構建的覆蓋網絡。與C/S結構在傳輸層及如下各層是相同的,差異在於應用層。數據庫

三、混合結構網絡應用:C/S應用和P2P應用相結合編程

第二節網絡應用通訊的基本原理

網絡應用的基本通訊過程:運行在不一樣主機上的應用進程間以C/S方式進 行通訊。瀏覽器

套接字(Socket):典型的網絡應用編程接口。
端口號:標識該套接字的編號。服務器

簡單網絡管理協議(SNMP):是專門設計用於在IP網絡管理網絡節點(服務器、工做站、路由器、交換機及HUBS等)的一種標準協議,它是一種應用層協議;端口號是161網絡

第三節 域名系統(DNS)

==========域名系統============socket

域名解析:將域名映射爲IP地址tcp

域名解析的原理:爲了實現域名解析,域名系統會創建分佈式數據庫,存儲域名與IP地址的映射關係數據分佈式

============層次化域名空間==========

域名的命名方式:層次樹狀結構命名方式;每一個域名由不一樣級別的域名構成,各個層級域名之間用點分隔。

我國將二級域名劃分爲類別域名和行政區域域名

 頂級域名的分類

  • 一、國家頂級域名:cn,us,uk等
  • 二、通用頂級域名:com,org,gov,edu等
  • 三、基礎結構域名:只有一個( arpa ,反向域名解析)

=================域名服務器=============

區(zone):一個服務器所負責管轄的範圍。

DNS服務器:管轄範圍不以「域」爲單位,而以「區」爲單位;DNS服務器根據其主要保存的域名信息以及在域名解析過程的做用,能夠分爲:

  • 根域名服務器:最重要的服務器,全球有13個,從a到m;保存全部頂級域名服務器的域名和IP地址
  • 頂級域名服務器:負責管理在該頂級域名服務器註冊的全部二級域名
  • 權威域名服務器:保存該區中的全部主 機的域名和IP地址的映射
  • 中間域名服務器:不是以上三種的域名 服務器

本地域名服務器:主機在網絡地址配置時,都會配置的。用於保存被查詢域名的信息

===============域名解析過程==============

遞歸解析:主機進行域名查詢時,本地域名服務器沒有被查詢域名 信息,則本地域名服務器代理主機查詢根域名服務器。根域名服務器代 理本地域名服務器查詢下一個域名服務,以此類推。直到獲得被查詢域 名的IP地址,最後將解析結果發送給主機

迭代解析:主機進行域名查詢時,本地域名服務器沒有被查詢域名 信息,則先求助於根域名服務器。根域名服務器只是將下一步要查詢的 服務器告知查詢主機的本地域名服務器,本地域名服務器繼續查詢下一 個域名服務器,直到查詢到被查詢的域名的IP地址。

 第四節萬維網應用

萬維網應用結構(web應用)包括瀏覽器、web服務器、HTTP

  • 瀏覽器:Web應用的客戶代理。
  • Web服務器: 存儲管理供用戶請求瀏覽癿Web頁面(Web文檔)。
  • 超文本傳輸協議(HTTP):客戶和服務器間的交互,基於應用層的協議HTTP。

對象:網頁上的圖片、文字、視頻等等

統一資源定位符( Universal Resource Locator, URL)URL地址:存放對象的主機域名(或IP地址)+對象的路徑名。 例: http://www.abc.edu.cn/cs/index.html

二、HTTP

HTTP概述:超文本傳輸協議(HyperText Transfer Protocol, HTTP ):Web應用的應用層協議,定義瀏覽器如何向Web服務器發送請求,以及Web服務器如何進行響應;目前主要使用的是HTTP/1.0和HTTP/1.1,尤爲以HTTP/1.1爲主流。

HTTP連接:瀏覽器在向服務器發送請求以前,首先創建TCP鏈接,而後才發送 HTTP請求報文,接收HTTP響應報文。

RTT:做爲一個時間單位來使用 HTTP客戶進程向服務器請求創建鏈接:從客戶發送鏈接請求,到收到服務器鏈接確認,所用的一個往返時間(Round Trip Time , RTT)。

使用TCP策略的不一樣分類:

一、非持久鏈接的HTTP:客戶與服務器創建TCP鏈接後,經過該鏈接發送HTTP請求報文,接收HTTP響應報文,而後斷開TCP鏈接;

  • 一個連接:每次只能創建一個tcp鏈接   HTTP1.0 默認方式
  • 多個連接:一次能夠同時創建多個tcp連接;並行鏈接:經過創建多條並行TCP鏈接,並行發送HTTP請求和並行接收HTTP響應。

二、持久鏈接的HTTP:

  • 非流水方式持久鏈接(非管道方式持久鏈接):客戶端收到響應報文後,不斷開TCP鏈接,繼續請求接下來的文檔。
  • 流水方式持久鏈接(管道方式持久鏈接):客戶端在經過持久鏈接收到前一個響應報文後,不斷開鏈接,繼續並行請求3個圖片;HTTP1.1 默認方式

HTTP報文:請求報文和響應報文。

  • 請求報文:瀏覽器發送給Web服務器
  • 響應報文:Web服務器發送給瀏覽器

 

 

 

 

 Cookie:

HTTP服務器不保存客戶的任何信息,被稱爲無狀態協議;引入Cookie機制,用亍用戶跟蹤

小型文本文件(Cookie):網站爲了辨別用戶身份、進行會話跟蹤而儲 存在用戶本地終端上的數據。

Cookie技術主要包括4部份內容: 【簡答】
一、HTTP響應報文中的Cookie頭行:用戶的Cookie ID,用戶偏好等。
二、用戶瀏覽器在本地存儲、維護和管理的Cookie文件。
三、HTTP請求報文中的Cookie頭行:用戶已訪問過的網站再次訪問時,瀏覽器會檢索本地Cookie文件。
四、網站在後臺數據庫中存儲、維護Cookie信息:分配用戶ID、每一個ID用戶在本網站的訪問特徵等。

第五節Internet電子郵件

郵件系統結構

  • 一、郵件服務器:功能:發送和接收郵件;向發信人報告郵件傳送狀況(已交付、被拒絕、丟失等) 用戶註冊;分配存儲空間
  • 二、用戶代理:電子郵件應用的客戶端軟件。 例如:Outlook,Apple Mail,Fox Mail等,功能:支持用戶撰寫、顯示、處理和收發郵件;爲用戶閱讀、回覆、轉發、保存和撰寫郵件提供編輯不操做環境。
  • 三、簡單郵件傳輸協議(SMTP)(nternet電子郵件中應用層協議:):實現郵件服務器之間或用戶代理到郵件服務器之間的郵件傳輸。
  • 四、郵件讀取協議(POP三、IMAP、HTTP):

SMTP:

SMTP經過3個階段的應用層交互完成郵件的傳輸:

  • 握手階段:
  • 郵件傳輸階段:
  • 關閉階段:

SMTP定義了14條命令,每條命令用4個字母組成。 例如:HELO:標識發件人本身的身份; DATA:通知服務器準備開始發送郵件內容; QUIT:命令退出;
SMTP定義了21種應答信息,由3位數字的代碼開始,後面附上(也可不附)簡單的文字說明。

電子郵件格式與MIME

電子郵件格式:首部、空白、行主體

 

互聯網郵件擴展(Multipurpose Internet Mail Extensions,MIME):傳輸非7位ASCII碼文本內容時,必須依據一個標準將非7位ASCII碼文本內容轉換位7位ASCII碼文本內容,而後再傳輸。 

郵件讀取協議

一、第三版郵局協議(Post Office Protocol - Version 3,POP3):

 

二、互聯網郵件訪問協議(Internet Message Access Protocol,IMAP) 服務器將每一個郵件與一個文件夾進行關聯,經過 IMAP 收件人能夠對郵件進行移動、查詢、閱讀、刪除等操做。

三、HTTP:Web郵件系統的郵件讀取協議

 第六節 FTP

 

 

文件傳送協議(File Transfer Protocol , FTP):在互聯網的兩個主機間實現文件互傳的網絡應用的應用層協議。

FTP的服務器進程由兩大部分組成:

  • 主進程,負責接受新的客戶請求;
  • 從屬進程,負責處理單個客戶請求,與具體客戶進行交互

 FTP應用結構:

  • 控制鏈接:用戶登陸,服務器受權
  • 數據鏈接:與門用於文件傳輸

FTP專門使用一個獨立的控制鏈接,傳輸控制信息,與傳輸文件信息進行分離,因此將FTP這種控制信息的傳送方式稱爲帶外控制
FTP是有狀態的協議,FTP的命令都是可讀的:例如:USER usename、PASS password、LIST

第七節 P2P應用

P2P(Peer to peer):近年來不少性能表現優異,深受用戶喜好的P2P應用層出不窮。例如,BitTorrent、PPLive和PPstream等。

P2P應用特色

  • 一、應用的對等方是用戶的計算機。
  • 二、很強的應用規模伸縮性。
  • 三、應用在對等方之間進行。
  • 四、應用充分彙集利用了端系統的計算能力以及網絡傳輸寬帶。

第八節 Socket編程基礎

套接字(Socket):典型的網絡應用編程接口。
端口號:標識套接字。

 

 Socket API函數

  • 一、建立套接字 : socket( )
  • 二、綁定套接字癿本地端點地址: bind( )
  • 三、設置監聽:listen( )
  • 四、創建鏈接:(1)TCP客戶端:connect( ),(2 ) TCP服務端:accept( )
  • 五、接收數據:(1)TCP:recv( ) ,(2)UDP:recvfrom
  • 六、發送數據:(1)TCP:send( ) ,(2)UDP:sendto
  • 七、關閉套接字:close( )
相關文章
相關標籤/搜索