[Network] 計算機網絡基礎知識總結

部分內容參考自:http://www.cnblogs.com/maybe2030/p/4781555.html#top
部分內容引自牛客網上的知識總結,https://www.nowcoder.com/ta/review-network
部分內容引自《計算機網絡》 謝希仁

計算機網絡學習的核心內容就是網絡協議的學習。網絡協議是爲計算機網絡中進行數據交換而建立的規則、標準或者說是約定的集合。因爲不同用戶的數據終端可能採取的字符集是不同的,兩者需要進行通信,必須要在一定的標準上進行。一個很形象地比喻就是我們的語言,我們大天朝地廣人多,地方性語言也非常豐富,而且方言之間差距巨大。A地區的方言可能B地區的人根本無法接受,所以我們要爲全國人名進行溝通建立一個語言標準,這就是我們的普通話的作用。同樣,放眼全球,我們與外國友人溝通的標準語言是英語,所以我們纔要苦逼的學習英語。

計算機網絡協議同我們的語言一樣,多種多樣。而ARPA公司與1977年到1979年推出了一種名爲ARPANET的網絡協議受到了廣泛的熱捧,其中最主要的原因就是它推出了人盡皆知的TCP/IP標準網絡協議。目前TCP/IP協議已經成爲Internet中的“通用語言”,下圖爲不同計算機羣之間利用TCP/IP進行通信的示意圖。

這裏寫圖片描述
  

網絡層次劃分

不同的劃分方式

爲了使不同計算機廠家生產的計算機能夠相互通信,以便在更大的範圍內建立計算機網絡,國際標準化組織(ISO)在1978年提出了“開放系統互聯參考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它將計算機網絡體系結構的通信協議劃分爲七層,自下而上依次爲:物理層(Physics Layer)、數據鏈路層(Data Link Layer)、網絡層(Network Layer)、傳輸層(Transport Layer)、會話層(Session Layer)、表示層(Presentation Layer)、應用層(Application Layer)。其中第四層完成數據傳送服務,上面三層面向用戶。

這裏寫圖片描述
  除了標準的OSI七層模型以外,常見的網絡層次劃分還有TCP/IP四層協議以及TCP/IP五層協議,它們之間的對應關係如下圖所示
  
這裏寫圖片描述

下圖是應用進程的數據在各層之間的傳遞過程中所經歷的變化,假定兩臺主機通過一臺路由器連接起來:

這裏寫圖片描述

雖然傳輸的過程是複雜的,但兩臺主機對應的層次在邏輯上是對等的

標準的OSI分層模式

 TCP/IP協議毫無疑問是互聯網的基礎協議,沒有它就根本不可能上網,任何和互聯網有關的操作都離不開TCP/IP協議。不管是OSI七層模型還是TCP/IP的四層、五層模型,每一層中都要自己的專屬協議,完成自己相應的工作以及與上下層級之間進行溝通。由於OSI七層模型爲網絡的標準層次劃分,所以我們以OSI七層模型爲例從下向上進行一一介紹。
 
這裏寫圖片描述

各層的協議

物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器)
數據鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)
網絡層:IPICMPARPRARP、OSPF、IPX、RIP、IGRP、 (路由器)
傳輸層:TCPUDP、SPX
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASII
應用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

各層的作用

物理層:通過媒介傳輸比特,確定機械及電氣規範(比特Bit)
數據鏈路層:將比特組裝成幀和點到點的傳遞(幀Frame)
網絡層:負責數據包從源到宿的傳遞和網際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
會話層:建立、管理和終止會話(會話協議數據單元SPDU)
表示層:對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
應用層:允許訪問OSI環境的手段(應用協議數據單元APDU)

物理層(Physical Layer)

激活、維持、關閉通信端點之間的機械特性、電氣特性、功能特性以及過程特性。該層爲上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。物理層記住兩個重要的設備名稱,中繼器(Repeater,也叫放大器)和集線器。
物理層的作用:物理層確保原始的數據可在各種物理媒體上傳輸。
物理層的協議:RJ45、CLOCK、IEEE802.3
物理層的設備中繼器(Repeater,也叫放大器)和集線器

數據鏈路層(Date Link Layer)

定義

數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。爲達到這一目的,數據鏈路必須具備一系列相應的功能,主要有:

  • 如何將數據組合成數據塊,在數據鏈路層中稱這種數據塊爲幀(frame),幀是數據鏈路層的傳送單位;
  • 如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯,如何調節發送速率以使與接收方相匹配;
  • 如何在兩個網絡實體之間提供數據鏈路通路的建立、維持和釋放的管理。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。

    這裏寫圖片描述

數據鏈路層的作用:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。數據鏈路層爲網絡層提供可靠的數據傳輸**
數據鏈路層的協議PPP(點對點協議)、FR、HDLC、VLAN、MAC
數據鏈路層的設備:網橋,交換機

模型

三層的簡化模型:

這裏寫圖片描述

封裝成幀

注意一個概念:MTU(最大傳送單元),MTU也就是IP數據包的長度上限

這裏寫圖片描述

透明傳輸

爲了解決透明傳輸的問題,可以使用字符填充或者字節填充,在數據部分中出現SOH和EOT的部分加一個轉義字符ESC

這裏寫圖片描述

數據中出現定界符

這裏寫圖片描述

使用字符填充解決透明傳輸問題,接收時順利得到數據部分

這裏寫圖片描述

差錯檢測

使用CRC循環冗餘檢測(處理比特差錯),幀內的差錯檢測和傳輸過程中幀出現的幀丟失,幀重複,幀失序。爲了防止出現傳輸差錯,增加了:幀編號,確認和重傳機制。

ppp傳輸協議

協議的組成結構

1,將IP數據報封裝到串行鏈路的方法(數據報長度不可超過MTU)
2,一個用來建立,配置和測試數據鏈路連接的鏈路控制協議LCP
3,一套網絡控制協議NCP

幀格式

這裏寫圖片描述

工作流程

這裏寫圖片描述

網絡層(Network Layer)

定義

網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。它提供的服務使傳輸層不需要了解網絡中的數據傳輸和交換技術。如果您想用盡量少的詞來記住網絡層,那就是“路徑選擇、路由及邏輯尋址”。

網絡層中涉及衆多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務

IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP

網際層IP的作用:無連接數據報傳輸,數據報路由選擇和差錯控制。網絡層IP是無連接不可靠的。
網際層IP的協議IPICMPARPRARP、OSPF、IPX、RIP、IGRP、
網際層IP的設備:路由器

網際協議IP

虛擬互聯網絡

這裏寫圖片描述

分類的IP地址

網絡地址

IP地址由網絡號(包括子網號)和主機號組成,網絡地址的主機號爲全0,網絡地址代表着整個網絡。

這裏寫圖片描述

四類地址

這裏寫圖片描述

其中A類,B類,C類地址都是單播地址,而網絡號裏的1-3位表示類別位。IP地址指派範圍

這裏寫圖片描述

一般不使用的特殊ip地址

這裏寫圖片描述
A類地址(50%)以0開頭,第一個字節作爲網絡號

  • 地址範圍爲:1.0.0.0 到126.0.0.0
  • 每個A類子網最大主機數2^24-2 = 16777214

B類地址(25%)以10開頭,前兩個字節作爲網絡號,默認128.0.0.0不指派

  • 地址範圍爲:128.1.0.0到191.255.255.255
  • 每個B類子網最大主機數2^16 -2 = 65534

C類地址(12.5%)以110開頭,前三個字節作爲網絡號,默認192.0.0.0不指派

  • 地址範圍爲:192.0.1.0~223.255.255.255。
  • 每個C類子網最大主機數2^8 -2 = 254

D類地址以1110開頭

  • 地址範圍是224.0.0.0~239.255.255.255,D類地址作爲組播地址(一對多的通信);

E類地址以1111開頭,地址範圍是240.0.0.0~255.255.255.255,E類地址爲保留地址,供以後使用。

注意:注:只有A,B,C有網絡號和主機號之分,D類地址和E類地址沒有劃分網絡號和主機號。

這裏寫圖片描述

上圖描述的是C類地址,前三個字節作爲網絡號

1,同一個局域網上的主機或路由器中的ip地址中的網絡號必須是一樣的
2,兩個路由器直連時可以不分配IP地址
3,用網橋(交換機)互聯的網段仍然是一個局域網

ip數據報格式

這裏寫圖片描述

ip地址與硬件地址

ip地址和硬件地址寫的位置不同

這裏寫圖片描述

從不同層次上看ip地址和硬件地址

列表內容

而ip地址到硬件地址的映射,由ARP協議來完成,注意,APR協議是解決同一個局域網上的主機或者路由器的IP地址和硬件地址的映射問題。

ARP和RARP工作流程分析

地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此攻擊者就可以向某一主機發送僞ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中IP地址和MAC地址的對應關係、添加或刪除靜態對應關係等。

ARP協議工作流程

主機A的IP地址爲192.168.1.1,MAC地址爲0A-11-22-33-44-01;
主機B的IP地址爲192.168.1.2,MAC地址爲0A-11-22-33-44-02;
當主機A要與主機B通信時,地址解析協議可以將主機B的IP地址(192.168.1.2)解析成主機B的MAC地址,以下爲工作流程:

  1. 根據主機A上的路由表內容,IP確定用於訪問主機B的轉發IP地址是192.168.1.2。然後A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地址

  2. 如果主機A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地址,從而將ARP請求幀廣播到本地網絡上的所有主機。源主機A的IP地址和MAC地址都包括在ARP請求中。本地網絡上的每臺主機都接收到ARP請求並且檢查是否與自己的IP地址匹配。如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求。

  3. 主機B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機A的IP地址和MAC地址映射添加到本地ARP緩存中。

  4. 主機B將包含其MAC地址的ARP回覆消息直接發送回主機A。

  5. 當主機A收到從主機B發來的ARP回覆消息時,會用主機B的IP和MAC地址映射更新ARP緩存。本機緩存是有生存期的,生存期結束後,將再次重複上面的過程。主機B的MAC地址一旦確定,主機A就能向主機B發送IP通信了。

注意:ARP是廣播發送,ARP響應是單播發送的。

RARP協議工作流程

逆地址解析協議,即RARP,功能和ARP協議相對,其將局域網中某個主機的物理地址轉換爲IP地址,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那麼可以通過RARP協議發出徵求自身IP地址的廣播請求,然後由RARP服務器負責回答。

RARP是逆地址解析協議,作用是完成硬件地址到IP地址的映射,主要用於無盤工作站,因爲給無盤工作站配置的IP地址不能保存。RARP協議工作流程:

  1. 給主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP服務器分配一個IP地址

  2. 本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址

  3. 如果存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用

  4. 如果不存在,RARP服務器對此不做任何的響應

  5. 源主機收到從RARP服務器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務器的響應信息,表示初始化失敗。

ip層轉發分組的流程

這裏寫圖片描述

下面是一個路由表舉例

這裏寫圖片描述

分組轉發算法歸納:

這裏寫圖片描述

路由選擇協議

RIP協議

RIP協議 :底層是貝爾曼福特算法,它選擇路由的度量標準(metric)是跳數,最大跳數是15跳,如果大於15跳,它就會丟棄數據包。

OSPF協議

OSPF協議 :Open Shortest Path First開放式最短路徑優先,底層是迪傑斯特拉算法,是鏈路狀態路由選擇協議,它選擇路由的度量標準是帶寬,延遲。

TML

劃分子網

隨着互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網絡號佔位太多,而主機號位太少,所以其能提供的主機地址也越來越稀缺,目前除了使用NAT在企業內部利用保留地址自行分配以外,通常都對一個高類別的IP地址進行再劃分,以形成多個子網,提供給不同規模的用戶羣使用。

這裏主要是爲了在網絡分段情況下有效地利用IP地址,通過對主機號的高位部分取作爲子網號,從通常的網絡位界限中擴展或壓縮子網掩碼,用來創建某類地址的更多子網。但創建更多的子網時,在每個子網上的可用主機地址數目會比原先減少。

什麼是子網掩碼

子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每一個爲1代表該位是網絡位,爲0代表主機位。它和IP地址一樣也是使用點式十進制來表示的。如果兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬於同一子網中。

這裏寫圖片描述

子網掩碼的計算

對於無須再劃分成子網的IP地址來說,其子網掩碼非常簡單,即按照其定義即可寫出:如某B類IP地址爲 10.12.3.0,無須再分割子網,則該IP地址的子網掩碼255.255.0.0。如果它是一個C類地址,則其子網掩碼爲 255.255.255.0。其它類推,不再詳述。下面我們關鍵要介紹的是一個IP地址,還需要將其高位主機位再作爲劃分出的子網網絡號,剩下的是每個子網的主機號,這時該如何進行每個子網的掩碼計算。

下面總結一下有關子網掩碼和網絡劃分常見的面試考題:

利用子網數來計算

如果想把B類地址168.195.0.0劃分成27個子網,則子網掩碼爲:
1,把數目轉化爲二進制:27個子網,二進制爲11011,
2,取的該二進制位數:5
3,將B類地址168.195.0.0的主機位前5位置1,得到255.255.248.0

利用主機數來計算

如欲將B類IP地址168.195.0.0劃分成若干子網,每個子網內有主機700臺:
1,700臺主機轉爲二進制
700 = 10 10111100
2,如果主機數小於或等於254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數,爲N,這裏肯定 N<8。如果大於254,則 N>8,這就是說主機地址將佔據不止8位;
佔據10位二進制位
3,則子網掩碼爲255.255.11111100,00000000,也就是255.255.252.0

這裏寫圖片描述

已知掩碼求主機數

例題:把網絡202.112.78.0劃分爲多個子網(子網掩碼是255.255.255.192),則各子網中可用的主機地址總數是:因爲192佔用2位且是C類地址,所以子網數爲2^2-2 = 2每個子網的主機數是2^6-2 = 62,所以總的主機數是124。

運輸層

通信的真正端點並不是主機,而是主機中的進程,端到端的通信是應用進程之間的通信。

這裏寫圖片描述

運輸層兩個主要協議就是:用戶數據報協議UDP傳輸控制協議TCP
運輸層是通過首部的端口號來確定該把數據傳給哪個端口的

這裏寫圖片描述

這裏寫圖片描述
TCP對應的協議和UDP對應的協議
TCP對應的協議:
(1) FTP:定義了文件傳輸協議,使用21端口。
(2) Telnet:一種用於遠程登陸的端口,使用23端口,用戶可以以自己的身份遠程連接到計算機上,可提供基於DOS模式下的通信服務。
(3) SMTP:郵件傳送協議,用於發送郵件。服務器開放的是25號端口。
(4) POP3:它是和SMTP對應,POP3用於接收郵件。POP3協議所用的是110端口。
(5)HTTP:是從Web服務器傳輸超文本到本地瀏覽器的傳送協議
UDP對應的協議:
(1) DNS:用於域名解析服務,將域名地址轉換爲IP地址。DNS用的是53號端口。
(2) SNMP:簡單網絡管理協議,使用161號端口,是用來管理網絡設備的。由於網絡設備很多,無連接的服務就體現出其優勢。
(3) TFTP(Trival File Transfer Protocal),簡單文件傳輸協議,該協議在熟知端口69上使用UDP服務。
UDP和TCP的區別

  1. TCP提供面向連接的、可靠的字節流傳輸,而UDP提供的是非面向連接的、不可靠的數據報傳輸。
  2. TCP傳輸單位稱爲TCP報文段,UDP傳輸單位稱爲用戶數據報。
  3. TCP注重數據安全性,UDP數據傳輸快,因爲不需要連接等待,少了許多操作,但是其安全性卻一般。

運輸層的作用:向它上邊的應用層提供通信服務
運輸層的協議TCP,UDP
運輸層的設備:網關

TCP/IP協議

TCP/IP協議是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網設備規定一個地址。
  IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,並把該數據包發送到更高層—TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因爲IP並沒有做任何事情來確認數據包是否按順序發送的或者有沒有被破壞,IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。

  TCP是面向連接的通信協議,通過三次握手建立連接,通訊完成時要拆除連接,由於TCP是面向連接的所以只能用於端到端的通訊。TCP提供的是一種可靠的數據流服務,採用“帶重傳的肯定確認”技術來實現傳輸的可靠性。TCP還採用一種稱爲“滑動窗口”的方式進行流量控制,所謂窗口實際表示接收能力,用以限制發送方的發送速度。

UDP協議

UDP用戶數據報協議,是面向無連接的通訊協議,UDP數據包括目的端口號和源端口號信息,由於通訊不需要連接,所以可以實現廣播發送。UDP通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出現丟包現象,實際應用中要求程序員編程驗證。

UDP與TCP位於同一層,但它不管數據包的順序、錯誤或重發。因此,UDP不被應用於那些使用虛電路的面向連接的服務,UDP主要用於那些面向查詢—應答的服務,例如NFS。相對於FTP或Telnet,這些服務需要交換的信息量較小。

這裏寫圖片描述

這裏寫圖片描述
  每個UDP報文分UDP報頭和UDP數據區兩部分。報頭由四個16位長(2字節)字段組成,分別說明該報文的源端口、目的端口、報文長度以及校驗值。UDP報頭由4個域組成,其中每個域各佔用2個字節,具體如下:
  (1)源端口號;
  (2)目標端口號;
  (3)數據報長度;
  (4)校驗值。
  使用UDP協議包括:TFTP(簡單文件傳輸協議)、SNMP(簡單網絡管理協議)、DNS(域名解析協議)、NFS、BOOTP。
  TCP 與 UDP 的區別:TCP是面向連接的,可靠的字節流服務;UDP是面向無連接的,不可靠的數據報服務。

TCP報文協議

這裏寫圖片描述

三次握手和四次揮手

這裏寫圖片描述

注:seq:”sequance”序列號;ack:”acknowledge”確認號;SYN:”synchronize”請求同步標誌;;ACK:”acknowledge”確認標誌“;FIN:”Finally”結束標誌

三次握手

這裏寫圖片描述

TCP連接建立過程

開始A和B都處於CLOSED狀態然後B先進入LISTEN狀態,等待請求

  • 首先Client端發送連接請求報文A發送後A進入SYN-SENT狀態
  • Server段接受連接後回覆ACK報文,併爲這次連接分配資源,B發送後B進入SYN-RCVD狀態
  • Client端接收到ACK報文後也向Server段發生ACK報文,並分配資源。A發送後A進入ESTAB-LISHED狀態,B收到後也進入該狀態,這樣TCP連接就建立了。

爲什麼要三次握手:防止失效的連接請求報文段突然又傳送到主機B。在只有兩次“握手”的情形下,假設Client想跟Server建立連接,但是卻因爲中途連接請求的數據報丟失了,故Client端不得不重新發送一遍;這個時候Server端僅收到一個連接請求,因此可以正常的建立連接。但是,有時候Client端重新發送請求不是因爲數據報丟失了,而是有可能數據傳輸過程因爲網絡併發量很大在某結點被阻塞了,這種情形下Server端將先後收到2次請求,並持續等待兩個Client請求向他發送數據…問題就在這裏,Cient端實際上只有一次請求,而Server端卻有2個響應,極端的情況可能由於Client端多次重新發送請求數據而導致Server端最後建立了N多個響應在等待,因而造成極大的資源浪費!所以,“三次握手”很有必要!

四次揮手

這裏寫圖片描述

TCP連接斷開過程

開始的時候A和B都處於ESTAB-LISHED狀態

  • 假設Client端發起中斷連接請求,也就是發送FIN報文。Server端接到FIN報文後,意思是說”我Client端沒有數據要發給你了”,但是如果你還有數據沒有發送完成,則不必急着關閉Socket,可以繼續發送數據。A發完後A進入FIN-WAIT-1狀態

  • 所以你先發送ACK,”告訴Client端,你的請求我收到了,但是我還沒準備好,請繼續你等我的消息”。B收到後向A發送ack,B發完後B進入COLSE-WAIT狀態

  • A收到B的確認後進入FIN-WAIT-2狀態

  • 當B確定數據已發送完成,則向A發送FIN報文,”告訴Client端,好了,我這邊數據發完了,準備好關閉連接了”。A收到B的ack就進入Client端收到FIN報文後, “就知道可以關閉連接了。B發完後B進入 LAST-ACK狀態

  • 但是他還是不相信網絡,怕Server端不知道要關閉,所以發送ACK後進入TIME_WAIT狀態,如果Server端沒有收到ACK則可以重傳。“,Server端收到ACK後,”就知道可以斷開連接了”。Client端等待了2MSL後依然沒有收到回覆,則證明Server端已正常關閉,那好,我Client端也可以關閉連接了。Ok,TCP連接就這樣關閉了!

應用層

應用層最重要的協議就是DNS協議

DNS協議

DNS是域名系統(DomainNameSystem)的縮寫,該系統用於命名組織到域層次結構中的計算機和網絡服務,可以簡單地理解爲將URL轉換爲IP地址域名是由圓點分開一串單詞或縮寫組成的,每一個域名都對應一個惟一的IP地址,在Internet上域名與IP地址之間是一一對應的,DNS就是進行域名解析的服務器。DNS命名用於Internet等TCP/IP網絡中,通過用戶友好的名稱查找計算機和服務。

這裏寫圖片描述

再往下一級就是本地域名服務器。

域名解析過程

主機向本地域名服務器的查詢採用遞歸

這裏寫圖片描述

本地域名服務器向根域名服務器的查詢通常採用迭代

這裏寫圖片描述

當DNS客戶機需要在程序中使用名稱時,它會查詢DNS服務器來解析該名稱。客戶機發送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別。基於UDP服務,端口53. 該應用一般不直接爲用戶使用,而是爲其他應用服務,如HTTP,SMTP等在其中需要完成主機名到IP地址的轉換。

這裏寫圖片描述

總的流程總結如下:

這裏寫圖片描述

HTTP協議

超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。

統一資源定位符URL

這裏寫圖片描述

對應例如:http://localhost:8080/AIR/index.jsp
端口和路徑有時可以省略。

HTTP 協議包括哪些請求

  • GET:請求讀取由URL所標誌的信息。
  • POST:給服務器添加信息(如註釋)。
  • PUT:在給定的URL下存儲一個文檔。
  • DELETE:刪除給定的URL所標誌的資源。

HTTP 中, POST 與 GET 的區別

  • Get是從服務器上獲取數據,Post是向服務器傳送數據。
  • Get是把參數數據隊列加到提交表單的Action屬性所指向的URL中,值和表單內各個字段一一對應,在URL中可以看到。
  • Get傳送的數據量小,不能大於2KB;Post傳送的數據量較大,一般被默認爲不受限制。
  • 根據HTTP規範,GET用於信息獲取,而且應該是安全的和冪等的。

所謂 安全的 意味着該操作用於獲取信息而非修改信息。換句話說,GET請求一般不應產生副作用。就是說,它僅僅是獲取資源信息,就像數據庫查詢一樣,不會修改,增加數據,不會影響資源的狀態。

冪等 的意味着對同一URL的多個請求應該返回同樣的結果。

其它常用協議

FTP和TFTP協議

FTP使用(TCP)提供可靠的文件傳輸。
TFTP使用(UDP)是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。

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