計算機網絡-自定向下方法之應用層

5月箴言數據庫

住進布達拉宮,我是雪域最大的王。流浪在拉薩街頭,我是世間最美的情郎。—— 倉央嘉措編程

第二章緩存

本章節主要是對應用層相關的概述。主要是摘出以爲比較重要或者關鍵的部分,以及我的理解安全

2.1服務器

研發網絡應用程序核心就是寫出可以運行在不一樣的端系統和經過網絡彼此通訊的程序網絡

網絡核心程序並不在應用層起做用,而盡在較低層起做用,特別是在網絡層及如下層次起做用。分佈式

套接字是同一臺主機內應用層與運輸層之間的接口。套接字是創建在網絡應用程序的可編程接口,所以套接字也被稱爲應用程序和網絡之間的應用程序編程接口。spa

應用程序開發者能夠控制套接嘴在應用層端的一切,可是對該套接字的運輸層及戶沒有控制權。 代理

應用程序開發者對運輸層的控制權僅限於:1)選擇運輸層協議;2)也許能設定幾個運輸層參數(例如最大緩存和最大報文字段程度等)。視頻

運輸層協議(UDP/TCP)可以提供的服務

  • 可靠數據傳輸
  • 吞吐量
  • 定時
  • 安全性

TCP:面向鏈接的、可靠的數據傳輸服務。其安全是SSL(Secure Sockers Layer),它不會與TCP/UDP在相同層次上的第三種運輸層協議,而是一種對TCP的增強,這種強化是在應用程上實現的。通常郵件、遠程終端訪問、Web、文件傳輸、流式多媒體使用TCP傳輸協議。

UDP:是一種不提供沒必要要服務的輕量級運輸協議,它僅提供最小服務,它是無鏈接的。通常網絡電話會選擇UDP,可是許多防火牆配置成阻擋UDP流量,因此網絡電話應用一般設置爲若是UDP通訊失敗就使用TCP做爲備份

應用層協議定義了運行在不一樣端錫榮上的應用程序進程如何進行傳遞報文。特別是定義了:

  • 交換的報文類型,例如請求報文和響應報文。
  • 各類報文類型的語法,如報文中的各個字段以及這些字段是如何描述的。
  • 字段的語義,即這些字段中的信息的含義。
  • 肯定必定進程什麼時候以及如何發送報文,對報文進行響應的規則。

應用層協議:例如HTTP(超文本傳輸協議)、SMTP(簡單郵件傳輸協議)

2.2 Web 和 HTTP

HTTP(HyperText Transfer Protocol)超文本傳輸協議。HTTP由兩個程序實現:一個客戶程序和一個服務器程序。

分層體系結構最大的優勢,即HTTP協議不用擔憂數據丟失,也不關心TCP從網絡數據丟失和亂序故障中恢復的細節。

非持續鏈接和持續鏈接(HTTP默認使用持續鏈接,HTTP客戶和服務器也能配置成使用非持續鏈接)

2.3 因特網中的電子郵件

電子郵件系統由三個主要組成部分:用戶代理、郵件服務器和簡單郵件傳輸協議(Simple Mail Transfer Protocol,SMTP)

SMTP和HTTP的區別:

  • HTTP主要是一個拉協議,即在方便使用的時候,某些人在Web服務器上裝載信息,用戶使用HTTP從該服務器拉取這些信息。這裏的TCP鏈接是想接收文件的機器發起的
  • SMTP基本上是一個推協議,即發送喲見服務器把文件推向接收郵件服務器。這裏的TCP鏈接是由想發送該文件的機器發起的
  • SMTP要求每一個報文(包括它們的體)纔有7比特ASCII碼格式,HTTP不受這個規則限制。
  • HTTP把每一個對象封裝到它本身的HTTP響應報文中,SMTP則把全部的報文對象放在一個報文之中。

2.4 DNS:因特網的目錄服務

DNS是:一個由分層的DNS服務器實現的分佈式數據庫,一個使得主機可以查詢分佈式數據庫的應用層協議。實現的是主機名到IP地址轉換的目錄服務。

DNS協議運行在UDP之上,使用53端口。

三種類型的DNS服務器

  • 根DNS服務器
  • 頂級域DNS服務器
  • 權威DNS服務器

還有一種是本地DNS服務器

DNS查詢:遞歸查詢和迭代查詢。實際應用中通常是:從請求到本地DNS服務器查詢是遞歸的,其餘的查詢是迭代的。

DNS自身已經顯示了對抗攻擊的使人驚訝的健壯性。至今爲止,尚未一個攻擊已經成功的妨礙了DNS服務。

對DNS攻擊:

  • 分佈式拒絕服務帶寬洪泛攻擊:由於大多數本地DNS服務器緩存了頂級域名服務器的IP地址,使得這些請求一般繞過DNS根服務器
  • 向頂級域名服務器發送大量的DNS請求:本地DNS服務器中的緩存技術可將部分緩解
  • 中間人攻擊:這個攻擊難以實現,由於它們要求截獲分組或扼制住服務器

2.5 P2P文件分發

2.6 視頻流和內容分發網

2.7 套接字編程:生成網絡應用

相關文章
相關標籤/搜索