Application Layer——應用層 需要了解的知識點

  • 應用層

  1. 應用層解決位於不同主機中多個應用進程之間的通信和協調工作

  2. 域名系統 DNS,是一個聯機分佈式數據庫系統,採用C/S結構,主要使用UDP(域名解析),偶爾使用TCP(區域傳輸),由許多分佈在互聯網上的域名服務器共同完成,把互聯網上的主機名(域名)解析爲IP地址,大多數在本地解析(此本地是一個相對概念,更靠近用戶的那級服務器就叫做本地DNS服務器),前身爲ARPANET使用叫做hosts的文件

    • 域名由標號序列組成,各標號用點隔開,例:mail.cctv.com,從左到右依次爲三級域名.二級域名.頂級域名

    • 頂級域名分爲三大類

      • nTLD 國家頂級域名,如:cn表示中國,us表示美國

      • gTLD 通用頂級域名,最先確定了7個:com(公司企業)、net(網絡服務機構)、org(非營利性組織)、int(國際組織)、edu(美國專用的教育機構)、gov(美國的政府部門)、mil(美國的軍事部門),後續增加了13個:aero、asia、biz、cat、coop、info、jobs、mobi、museum、name、pro、tel、travel

      • 基礎結構域名(反向域名),只有1個:arpa,用於反向域名解析

    • 二級域名在我國分爲兩大類

      • 類別域名,7個:ac(科研機構)、com(工、商、金融等企業)、edu(中國的教育機構)、gov(中國的政府機構)、mil(中國的國防機構)、net(網絡服務機構)、org(非營利性組織)

      • 行政區域名,34個,例如:bj表示北京市、js表示江蘇省

    • 域名服務器有四種類型

      • 根域名服務器,知道所有頂級域名服務器的域名和IP,全球有13個(不代表是13臺機器組成),a.root-servers.netm.root-servers.net,不把待查詢的域名直接轉換成IP地址,而是告訴本地域名服務器應該找哪一個頂級域名服務器進行查詢

      • 頂級域名服務器(TLD服務器),負責管理該頂級域名服務器下注冊的所有二級域名,收到DNS查詢請求時,可能給出最後結果也可能給出下一步應該找的域名服務器的IP地址

      • 權限域名服務器,負責一個區的域名服務器(區小於等於域)

      • 本地域名服務器(默認域名服務器),距離用戶較近

      • 主機向本地域名服務器一般採用遞歸查詢,本地域名服務器向根域名服務器一般採用迭代查詢,但也可採用遞歸查詢

    • 域名服務器廣泛使用了高速緩存來存放最近查詢過的域名以及從何處獲得域名映射信息的記錄

  3. FTP 文件傳輸協議,採用C/S結構,基於TCP,提供交互式訪問,允許文件具有存取權限,存取一個文件需要先獲得一個本地的文件副本,可同時爲多個客戶進程服務,文件傳輸時需要建立兩個並行的TCP連接:控制連接和數據連接

  4. TFTP 簡單文件傳輸協議,採用C/S結構,基於UDP,只支持文件傳輸不支持交互,不能對用戶身份鑑別,代碼所佔內存較小

  5. NFS 網絡文件系統,採用C/S結構,提供聯機訪問,對共享文件的透明存取

  6. TELNET 遠程終端協議(終端仿真協議),採用C/S結構,通過TCP連接登錄到遠地的一臺計算機上,目前已較少使用

    • NVT 網絡虛擬終端,統一不同主機不同終端的差異,將命令轉換爲NVT格式,相當於橋樑

  7. WWW 萬維網(英文簡稱Web),採用C/S結構,是一個分佈式超媒體(包含其他形式的信息)系統,是超文本(包含指向其他文檔的連接的文本)系統的擴充,可以非常方便的從互聯網上的一個站點鏈接到另一個站點,使用URL來標誌互聯網上的文檔

  8. URL 統一資源定位符,一般形式爲<協議>://<主機>:<端口>/<路徑>,最常用的協議是HTTP,其次是FTP,協議和主機部分不區分大小寫

  9. 構建Web內容的技術,詳情見HTTP筆記和HTML筆記

  10. 代理服務器(萬維網高速緩存),代理用戶去取得網絡信息,可以把最近的一些請求和響應暫存在本地磁盤,下次訪問時直接返回暫存的響應

    • 接受用戶的HTTP請求時,代理服務器作爲服務器

    • 向互聯網上的源點服務器發送請求時,代理服務器作爲客戶

  11. 萬維網的搜索工具叫做搜索引擎,分爲四種類型

    • 全文檢索搜索引擎,通過爬蟲程序到互聯網上的各網站收集信息後按照一定規則建立一個在線索引數據庫供用戶查詢(非實時檢索),例如:百度,Google(Google採用了PageRank網頁排名算法)

    • 分類目錄搜索引擎,不採集網站任何信息,各網站向搜索引擎提交其網站的關鍵詞和描述後,經人工審覈編輯後,輸入到分類目錄的數據庫中供用戶查詢,例如:新浪,網易,搜狐

    • 垂直搜索引擎,針對某一特定領域、人羣、需求提供搜索服務

    • 元搜索引擎,把用戶提交的檢索請求發送到多個獨立的搜索引擎上搜索,將結果統一處理後返回,是搜索引擎之上的搜索引擎

  12. 網絡交流方式

    • e-mail 電子郵件

      • 電子郵件過程

      • User Agent 用戶代理,是代表使用者行爲的軟件代理程序所提供的對自己的一個標識符,在這裏是電子郵件客戶端軟件

      • SMTP 簡單郵件傳輸協議,採用C/S結構,是基於push的協議,用於用戶代理向郵件服務器發送郵件或郵件服務器之間發送郵件,缺點:不能傳送可執行文件或其他二進制對象,只能傳送7位ASCII文本,服務器會拒絕超過一定長度的郵件

      • MIME 通用互聯網郵件擴充,定義了許多郵件內容格式(多媒體)和傳送編碼,並未取代SMTP,與SMTP關係如下:

      • 常用的三種郵件內容傳送編碼

        • 7位ASCII編碼,每行不超過1000個字符,MIME對這種由ASCII碼構成的郵件主體不進行任何轉換

        • quoted-printable編碼,除了等號外,對所有可打印的ASCII碼不改變,其餘的將每個字節的二進制代碼用兩個十六進制數字表示並在前面加上一個等號

        • base64編碼,可對任意的二進制文件使用,把二進制代碼劃分爲一個個24位長的單元並分爲4個6位組,每個組轉換成對應的base64編碼值(0到63依次爲A~Z,a~z,0~9,+,/),再用=或==表示最後一個單元只有8位或16位

      • 郵件讀取協議

        • POP3 郵局協議第3個版本,採用C/S結構,是基於pull的協議

        • IMAP 網際報文存取協議,採用C/S結構,是基於pull的協議

      • 基於萬維網的電子郵件,在瀏覽器和互聯網上的郵件服務器之間傳送郵件使用HTTP協議,郵件服務器之間發送郵件仍然使用SMTP協議

    • BBS 電子公告牌(網絡論壇)

    • IM 即時傳信

    • blog 博客、microblog 微博

    • SNS 社交網站(例如Facebook,另外新浪微博、Twitter也是一種提供微博服務的社交網站,微信也屬於社交網站)

  13. DHCP 動態主機配置協議,採用C/S結構,基於UDP,提供即插即用聯網機制,每一個網絡內至少有一個DHCP中繼代理(多網段用一個DHCP服務器的情況),DHCP客戶(收到需要IP地址的主機,68端口)以廣播形式發送的發現報文(目的地址全爲1,即255.255.255.255)後,以單播方式將此報文轉發給DHCP服務器(67端口),DHCP服務器回答的報文叫提供報文,分配的IP地址有租用期

  14. SNMP 簡單網絡管理協議,採用C/S結構,基於UDP,網絡管理員通過管理站運行的管理程序(SNMP客戶程序,162端口)控制被管設備運行的代理程序(SNMP服務器,161端口),SNMP的網絡管理由三部分組成:

    • SNMP本身,負責讀取和改變各代理的對象名及其狀態數值

    • SMI 管理信息結構,建立規則

      • 被管對象的命名

      • 被管對象的數據類型

      • 編碼方法

    • MIB 管理信息庫,對變量進行說明

  15. 當互聯網標準化的應用協議無法滿足特定應用需要的互聯網支持時

    • 大多數系統使用系統調用機制在應用程序和操作系統之間傳遞控制權(系統調用類似程序設計中的函數調用)

    • API 應用編程接口(系統調用接口),API就是應用程序和操作系統之間的接口,實現應用進程的控制權和操作系統的控制權進行轉換

    • 套接字,是應用程序和運輸層協議之間的接口,實現應用進程獲得網絡通信服務而與操作系統進行交互時使用的一種機制(現在TCP/IP協議軟件已留駐在操作系統中,目前有幾種可供應用程序使用TCP/IP的API)

      • 最著名的就是加利福尼亞大學伯克利分校爲Unix系統定義的socket API(又稱爲套接字接口)

      • 微軟在其操作系統裏定義了Windows Socket

      • 名詞socket的多種意思

        • 運輸層中端口號拼接到IP地址

        • 運輸層和應用層間的一種接口,稱爲socket API,簡稱socket

        • socket API中使用的一個函數名socket

        • 調用socket函數的端點稱爲socket,例如:創建一個數據報socket

        • 調用socket函數時,返回值稱爲socket描述符,簡稱socket

        • 操作系統內核中聯網協議的Berkeley實現,稱爲socket實現

    • 併發方式工作的服務器實現

  16. P2P應用,範圍很廣,例如:文件分發,實時音頻/視頻,數據庫系統,網絡服務支持(P2P打車軟件,P2P理財)

    • P2P文件分發不需要集中式的媒體服務器,所有音頻/視頻文件都在普通的互聯網用戶之間傳輸

      • 具有集中目錄服務器的P2P,文件定位時客戶向集中目錄服務器查詢文件位置在哪一個主機上(B/S方式),文件傳輸時客戶從查詢到的文件位置處下載(P2P方式),可靠性差,性能有瓶頸

      • 具有全分佈式結構的P2P,沒有集中目錄服務器,採用有限範圍的泛洪查詢,查詢範圍受限,影響文件定位準確性

      • 具有分散定位和分散傳輸技術的P2P,每一臺主機接收文件的同時,利用自己的上傳能力向其他主機傳送文件(BT)

    • 在P2P應用中,廣泛使用的索引和查找技術是分佈式散列表DHT

  17. 各應用協議在層次中位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章