計算機網絡基礎知識總結

閱讀目錄

1. 網絡層次劃分

2. OSI七層網絡模型

3. IP地址

4. 子網掩碼及網絡劃分

5. ARP/RARP協議

6. 路由選擇協

7. TCP/IP協議

8. UDP協議

9. DNS協議

10. NAT協議

11. DHCP協議

12. HTTP協議

13. 一個舉例

計算機網絡學習的核心內容就是網絡協議的學習。網絡協議是為計算機網絡中進行數據交換而建立的規(guī)則民褂、標準或者說是約定的集合茄菊。因為不同用戶的數據終端可能采取的字符集是不同的,兩者需要進行通信赊堪,必須要在一定的標準上進行面殖。一個很形象地比喻就是我們的語言,我們大天朝地廣人多哭廉,地方性語言也非常豐富脊僚,而且方言之間差距巨大。A地區(qū)的方言可能B地區(qū)的人根本無法接受遵绰,所以我們要為全國人名進行溝通建立一個語言標準辽幌,這就是我們的普通話的作用。同樣椿访,放眼全球乌企,我們與外國友人溝通的標準語言是英語,所以我們才要苦逼的學習英語成玫。

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

1陋葡、網絡層次劃分

為了使不同計算機廠家生產的計算機能夠相互通信,以便在更大的范圍內建立計算機網絡彻采,國際標準化組織(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五層協議吉拳,它們之間的對應關系如下圖所示:

2、OSI七層網絡模型

TCP/IP協議毫無疑問是互聯網的基礎協議适揉,沒有它就根本不可能上網留攒,任何和互聯網有關的操作都離不開TCP/IP協議。不管是OSI七層模型還是TCP/IP的四層嫉嘀、五層模型炼邀,每一層中都要自己的專屬協議,完成自己相應的工作以及與上下層級之間進行溝通剪侮。由于OSI七層模型為網絡的標準層次劃分拭宁,所以我們以OSI七層模型為例從下向上進行一一介紹。

1)物理層(Physical Layer)

激活瓣俯、維持杰标、關閉通信端點之間的機械特性、電氣特性彩匕、功能特性以及過程特性在旱。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說推掸,物理層確保原始的數據可在各種物理媒體上傳輸桶蝎。物理層記住兩個重要的設備名稱,中繼器(Repeater谅畅,也叫放大器)和集線器登渣。

2)數據鏈路層(Data Link Layer)

數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節(jié)點的目標機網絡層毡泻。為達到這一目的胜茧,數據鏈路必須具備一系列相應的功能,主要有:如何將數據組合成數據塊仇味,在數據鏈路層中稱這種數據塊為幀(frame)呻顽,幀是數據鏈路層的傳送單位;如何控制幀在物理信道上的傳輸丹墨,包括如何處理傳輸差錯廊遍,如何調節(jié)發(fā)送速率以使與接收方相匹配;以及在兩個網絡實體之間提供數據鏈路通路的建立贩挣、維持和釋放的管理喉前。數據鏈路層在不可靠的物理介質上提供可靠的傳輸没酣。該層的作用包括:物理地址尋址、數據的成幀卵迂、流量控制裕便、數據的檢錯、重發(fā)等见咒。

有關數據鏈路層的重要知識點:

1> 數據鏈路層為網絡層提供可靠的數據傳輸偿衰;

2> 基本數據單位為幀;

3> 主要的協議:以太網協議改览;

4> 兩個重要設備名稱:網橋和交換機下翎。

3)網絡層(Network Layer)

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

網絡層中涉及眾多的協議,其中包括最重要的協議瞻离,也是TCP/IP的核心協議——IP協議腾仅。IP協議非常簡單购城,僅僅提供不可靠章蚣、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸城豁、數據報路由選擇和差錯控制肉迫。與IP協議配套使用實現其功能的還有地址解析協議ARP验辞、逆地址解析協議RARP、因特網報文協議ICMP喊衫、因特網組管理協議IGMP跌造。具體的協議我們會在接下來的部分進行總結,有關網絡層的重點為:

1> 網絡層負責對子網間的數據包進行路由選擇族购。此外壳贪,網絡層還可以實現擁塞控制、網際互連等功能寝杖;

2> 基本數據單位為IP數據報违施;

3> 包含的主要協議:

IP協議(Internet Protocol,因特網互聯協議);

ICMP協議(Internet Control Message Protocol瑟幕,因特網控制報文協議);

ARP協議(Address Resolution Protocol醉拓,地址解析協議);

RARP協議(Reverse Address Resolution Protocol伟姐,逆地址解析協議)。

4> 重要的設備:路由器亿卤。

4)傳輸層(Transport Layer)

第一個端到端愤兵,即主機到主機的層次。傳輸層負責將上層數據分段并提供端到端的排吴、可靠的或不可靠的傳輸秆乳。此外,傳輸層還要處理端到端的差錯控制和流量控制問題钻哩。

傳輸層的任務是根據通信子網的特性屹堰,最佳的利用網絡資源,為兩個端系統的會話層之間街氢,提供建立扯键、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸珊肃。在這一層荣刑,信息傳送的協議數據單元稱為段或報文。

網絡層只是根據網絡地址將源結點發(fā)出的數據包傳送到目的結點伦乔,而傳輸層則負責將數據可靠地傳送到相應的端口厉亏。

有關網絡層的重點:

1> 傳輸層負責將上層數據分段并提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題烈和;

2> 包含的主要協議:TCP協議(Transmission Control Protocol爱只,傳輸控制協議)、UDP協議(User Datagram Protocol招刹,用戶數據報協議)恬试;

3> 重要設備:網關。

5)會話層

會話層管理主機之間的會話進程疯暑,即負責建立忘渔、管理、終止進程之間的會話缰儿。會話層還利用在數據中插入校驗點來實現數據的同步畦粮。

6)表示層

表示層對上層數據或信息進行變換以保證一個主機應用層信息可以被另一個主機的應用程序理解。表示層的數據轉換包括數據的加密乖阵、壓縮宣赔、格式轉換等。

7)應用層

為操作系統或網絡應用程序提供訪問網絡服務的接口瞪浸。

會話層儒将、表示層和應用層重點:

1> 數據傳輸基本單位為報文;

2> 包含的主要協議:FTP(文件傳送協議)对蒲、Telnet(遠程登錄協議)钩蚊、DNS(域名解析協議)贡翘、SMTP(郵件傳送協議),POP3協議(郵局協議)砰逻,HTTP協議(Hyper Text Transfer Protocol)鸣驱。

3、IP地址

1)網絡地址

IP地址由網絡號(包括子網號)和主機號組成蝠咆,網絡地址的主機號為全0踊东,網絡地址代表著整個網絡。

2)廣播地址

廣播地址通常稱為直接廣播地址刚操,是為了區(qū)分受限廣播地址闸翅。

廣播地址與網絡地址的主機號正好相反,廣播地址中菊霜,主機號為全1坚冀。當向某個網絡的廣播地址發(fā)送消息時,該網絡內的所有主機都能收到該廣播消息鉴逞。

3)組播地址

D類地址就是組播地址记某。

先回憶下A,B华蜒,C辙纬,D類地址吧:

A類地址以00開頭豁遭,第一個字節(jié)作為網絡號叭喜,地址范圍為:0.0.0.0~127.255.255.255;

B類地址以10開頭蓖谢,前兩個字節(jié)作為網絡號捂蕴,地址范圍是:128.0.0.0~191.255.255.255;

C類地址以110開頭,前三個字節(jié)作為網絡號闪幽,地址范圍是:192.0.0.0~223.255.255.255啥辨。

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類地址沒有劃分網絡號和主機號玫荣。

4)255.255.255.255

該IP地址指的是受限的廣播地址。受限廣播地址與一般廣播地址(直接廣播地址)的區(qū)別在于大诸,受限廣播地址只能用于本地網絡捅厂,路由器不會轉發(fā)以受限廣播地址為目的地址的分組贯卦;一般廣播地址既可在本地廣播,也可跨網段廣播焙贷。例如:主機192.168.1.1/30上的直接廣播數據包后撵割,另外一個網段192.168.1.5/30也能收到該數據報;若發(fā)送受限廣播數據報盈厘,則不能收到睁枕。

注:一般的廣播地址(直接廣播地址)能夠通過某些路由器(當然不是所有的路由器),而受限的廣播地址不能通過路由器沸手。

5)0.0.0.0

常用于尋找自己的IP地址外遇,例如在我們的RARP,BOOTP和DHCP協議中契吉,若某個未知IP地址的無盤機想要知道自己的IP地址跳仿,它就以255.255.255.255為目的地址,向本地范圍(具體而言是被各個路由器屏蔽的范圍內)的服務器發(fā)送IP請求分組捐晶。

6)回環(huán)地址

127.0.0.0/8被用作回環(huán)地址菲语,回環(huán)地址表示本機的地址,常用于對本機的測試惑灵,用的最多的是127.0.0.1山上。

7)A、B英支、C類私有地址

私有地址(private address)也叫專用地址佩憾,它們不會在全球使用,只具有本地意義干花。

A類私有地址:10.0.0.0/8妄帘,范圍是:10.0.0.0~10.255.255.255

B類私有地址:172.16.0.0/12,范圍是:172.16.0.0~172.31.255.255

C類私有地址:192.168.0.0/16池凄,范圍是:192.168.0.0~192.168.255.255

4抡驼、子網掩碼及網絡劃分

隨著互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來肿仑,即網絡號占位太多致盟,而主機號位太少,所以其能提供的主機地址也越來越稀缺尤慰,目前除了使用NAT在企業(yè)內部利用保留地址自行分配以外馏锡,通常都對一個高類別的IP地址進行再劃分,以形成多個子網割择,提供給不同規(guī)模的用戶群使用眷篇。

這里主要是為了在網絡分段情況下有效地利用IP地址,通過對主機號的高位部分取作為子網號荔泳,從通常的網絡位界限中擴展或壓縮子網掩碼蕉饼,用來創(chuàng)建某類地址的更多子網虐杯。但創(chuàng)建更多的子網時,在每個子網上的可用主機地址數目會比原先減少昧港。

什么是子網掩碼擎椰?

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

在計算子網掩碼時趾代,我們要注意IP地址中的保留地址贯底,即“ 0”地址和廣播地址,它們是指主機地址或網絡地址全為“ 0”或“ 1”時的IP地址撒强,它們代表著本網絡地址和廣播地址禽捆,一般是不能被計算在內的。

子網掩碼的計算:

對于無須再劃分成子網的IP地址來說飘哨,其子網掩碼非常簡單胚想,即按照其定義即可寫出:如某B類IP地址為 10.12.3.0,無須再分割子網芽隆,則該IP地址的子網掩碼255.255.0.0浊服。如果它是一個C類地址,則其子網掩碼為 255.255.255.0摆马。其它類推臼闻,不再詳述鸿吆。下面我們關鍵要介紹的是一個IP地址囤采,還需要將其高位主機位再作為劃分出的子網網絡號,剩下的是每個子網的主機號惩淳,這時該如何進行每個子網的掩碼計算蕉毯。

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

1)利用子網數來計算

在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目思犁。

(1) 將子網數目轉化為二進制來表示;

如欲將B類IP地址168.195.0.0劃分成27個子網:27=11011代虾;

(2) 取得該二進制的位數,為N激蹲;

該二進制為五位數棉磨,N = 5

(3) 取得該IP地址的類子網掩碼,將其主機地址部分的的前N位置1即得出該IP地址劃分子網的子網掩碼学辱。

將B類地址的子網掩碼255.255.0.0的主機地址前5位置 1乘瓤,得到 255.255.248.0

2)利用主機數來計算

如欲將B類IP地址168.195.0.0劃分成若干子網环形,每個子網內有主機700臺:

(1) 將主機數目轉化為二進制來表示;

700=1010111100衙傀;

(2) 如果主機數小于或等于254(注意去掉保留的兩個IP地址)抬吟,則取得該主機的二進制位數统抬,為N,這里肯定 N<8聪建。如果大于254,則 N>8金麸,這就是說主機地址將占據不止8位刃鳄;

該二進制為十位數,N=10钱骂;

(3) 使用255.255.255.255來將該類IP地址的主機地址位數全部置1叔锐,然后從后向前的將N位全部置為 0,即為子網掩碼值见秽。

將該B類地址的子網掩碼255.255.0.0的主機地址全部置1愉烙,得到255.255.255.255,然后再從后向前將后 10位置0,即為:11111111.11111111.11111100.00000000解取,即255.255.252.0步责。這就是該欲劃分成主機為700臺的B類IP地址 168.195.0.0的子網掩碼。

3)還有一種題型禀苦,要你根據每個網絡的主機數量進行子網地址的規(guī)劃和****計算子網掩碼蔓肯。這也可按上述原則進行計算。

比如一個子網有10臺主機振乏,那么對于這個子網需要的IP地址是:

10+1+1+1=13

注意:加的第一個1是指這個網絡連接時所需的網關地址蔗包,接著的兩個1分別是指網****絡地址和廣播地址。

因為13小于16(16等于2的4次方)慧邮,所以主機位為4位调限。而256-16=240,所以該子網掩碼為255.255.255.240误澳。

如果一個子網有14臺主機耻矮,不少人常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給網關分配地址忆谓。這樣就錯誤了裆装,因為14+1+1+1=17,17大于16,所以我們只能分配具有32個地址(32等于2的5次方)空間的子網哨免。這時子網掩碼為:255.255.255.224勾扭。

5、ARP/RARP協議

地址解析協議铁瞒,即ARP(Address Resolution Protocol)妙色,是根據IP地址獲取物理地址的一個TCP/IP協議。主機發(fā)送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機慧耍,并接收返回消息芍碧,以此確定目標的物理地址泌豆;收到返回消息后將該IP地址和物理地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源蔬浙。地址解析協議是建立在網絡中各個主機互相信任的基礎上的畴博,網絡上的主機可以自主發(fā)送ARP應答消息俱病,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存亮隙;由此攻擊者就可以向某一主機發(fā)送偽ARP應答報文垢夹,使其發(fā)送的信息無法到達預期的主機或到達錯誤的主機棚饵,這就構成了一個ARP欺騙噪漾。ARP命令可用于查詢本機ARP緩存中IP地址和MAC地址的對應關系欣硼、添加或刪除靜態(tài)對應關系等恶阴。

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的轉發(fā)IP地址是192.168.1.2咆疗。然后A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地址午磁。

(2)如果主機A在ARP緩存中沒有找到映射迅皇,它將詢問192.168.1.2的硬件地址登颓,從而將ARP請求幀廣播到本地網絡上的所有主機框咙。源主機A的IP地址和MAC地址都包括在ARP請求中痢甘。本地網絡上的每臺主機都接收到ARP請求并且檢查是否與自己的IP地址匹配塞栅。如果主機發(fā)現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求愉粤。

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

(4)主機B將包含其MAC地址的ARP回復消息直接發(fā)送回主機A坤检。

(5)當主機A收到從主機B發(fā)來的ARP回復消息時期吓,會用主機B的IP和MAC地址映射更新ARP緩存讨勤。本機緩存是有生存期的潭千,生存期結束后刨晴,將再次重復上面的過程。主機B的MAC地址一旦確定茄靠,主機A就能向主機B發(fā)送IP通信了慨绳。

逆地址解析協議脐雪,即RARP战秋,功能和ARP協議相對获询,其將局域網中某個主機的物理地址轉換為IP地址拐袜,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那么可以通過RARP協議發(fā)出征求自身IP地址的廣播請求尝哆,然后由RARP服務器負責回答秋泄。

RARP協議工作流程:

(1)給主機發(fā)送一個本地的RARP廣播恒序,在此廣播包中歧胁,聲明自己的MAC地址并且請求任何收到此請求的RARP服務器分配一個IP地址喊巍;

(2)本地網段上的RARP服務器收到此請求后箍鼓,檢查其RARP列表款咖,查找該MAC地址對應的IP地址铐殃;

(3)如果存在背稼,RARP服務器就給源主機發(fā)送一個響應數據包并將此IP地址提供給對方主機使用;

(4)如果不存在词疼,RARP服務器對此不做任何的響應贰盗;

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

6劲蜻、路由選擇協議

常見的路由選擇協議有:RIP協議先嬉、OSPF協議疫蔓。

RIP****協議 :底層是貝爾曼福特算法鳄袍,它選擇路由的度量標準(metric)是跳數吏恭,最大跳數是15跳樱哼,如果大于15跳搅幅,它就會丟棄數據包茄唐。

OSPF****協議 :Open Shortest Path First開放式最短路徑優(yōu)先沪编,底層是迪杰斯特拉算法,是鏈路狀態(tài)路由選擇協議访圃,它選擇路由的度量標準是帶寬腿时,延遲。

7格了、TCP/IP協議

TCP/IP協議是Internet最基本的協議笆搓、Internet國際互聯網絡的基礎纬傲,由網絡層的IP協議和傳輸層的TCP協議組成叹括。通俗而言:TCP負責發(fā)現傳輸的問題汁雷,一有問題就發(fā)出信號侠讯,要求重新傳輸厢漩,直到所有數據安全正確地傳輸到目的地溜嗜。而IP是給因特網的每一臺聯網設備規(guī)定一個地址炸宵。

IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發(fā)來的數據包土全,并把該數據包發(fā)送到更高層---TCP或UDP層裹匙;相反在塔,IP層也把從TCP或UDP層接收來的數據包傳送到更低層蛔溃。IP數據包是不可靠的,因為IP并沒有做任何事情來確認數據包是否按順序發(fā)送的或者有沒有被破壞零截,IP數據包中含有發(fā)送它的主機的地址(源地址)和接收它的主機的地址(目的地址)涧衙。

TCP是面向連接的通信協議奥此,通過三次握手建立連接,通訊完成時要拆除連接撤嫩,由于TCP是面向連接的所以只能用于端到端的通訊序攘。TCP提供的是一種可靠的數據流服務程奠,采用“帶重傳的肯定確認”技術來實現傳輸的可靠性祭钉。TCP還采用一種稱為“滑動窗口”的方式進行流量控制朴皆,所謂窗口實際表示接收能力,用以限制發(fā)送方的發(fā)送速度肮疗。

TCP報文首部格式:

TCP協議的三次握手和四次揮手:

注:seq:"sequance"序列號;ack:"acknowledge"確認號碱呼;SYN:"synchronize"請求同步標志宗侦;矾利;ACK:"acknowledge"確認標志";****FIN:"Finally"結束標志舶斧。

TCP連接建立過程:首先Client端發(fā)送連接請求報文,Server段接受連接后回復ACK報文泽台,并為這次連接分配資源怀酷。Client端接收到ACK報文后也向Server段發(fā)生ACK報文胰坟,并分配資源泞辐,這樣TCP連接就建立了咐吼。

TCP連接斷開過程:假設Client端發(fā)起中斷連接請求锯茄,也就是發(fā)送FIN報文肌幽。Server端接到FIN報文后喂急,意思是說"我Client端沒有數據要發(fā)給你了"廊移,但是如果你還有數據沒有發(fā)送完成狡孔,則不必急著關閉Socket蜂嗽,可以繼續(xù)發(fā)送數據植旧。所以你先發(fā)送ACK芋类,"告訴Client端侯繁,你的請求我收到了贮竟,但是我還沒準備好较剃,請繼續(xù)你等我的消息"写穴。這個時候Client端就進入FIN_WAIT狀態(tài),繼續(xù)等待Server端的FIN報文偿短。當Server端確定數據已發(fā)送完成昔逗,則向Client端發(fā)送FIN報文勾怒,"告訴Client端笔链,好了鉴扫,我這邊數據發(fā)完了缚够,準備好關閉連接了"误堡。Client端收到FIN報文后锁施,"就知道可以關閉連接了,但是他還是不相信網絡肩狂,怕Server端不知道要關閉傻谁,所以發(fā)送ACK后進入TIME_WAIT狀態(tài),如果Server端沒有收到ACK則可以重傳岂座》咽玻“,Server端收到ACK后瘩蚪,"就知道可以斷開連接了"募舟。Client端等待了2MSL后依然沒有收到回復,則證明Server端已正常關閉琢锋,那好吴超,我Client端也可以關閉連接了。Ok鲸阻,TCP連接就這樣關閉了跋涣!

為什么要三次揮手?

在只有兩次“握手”的情形下鸟悴,假設Client想跟Server建立連接陈辱,但是卻因為中途連接請求的數據報丟失了,故Client端不得不重新發(fā)送一遍细诸;這個時候Server端僅收到一個連接請求沛贪,因此可以正常的建立連接。但是,有時候Client端重新發(fā)送請求不是因為數據報丟失了利赋,而是有可能數據傳輸過程因為網絡并發(fā)量很大在某結點被阻塞了水评,這種情形下Server端將先后收到2次請求,并持續(xù)等待兩個Client請求向他發(fā)送數據...問題就在這里中燥,Cient端實際上只有一次請求式塌,而Server端卻有2個響應,極端的情況可能由于Client端多次重新發(fā)送請求數據而導致Server端最后建立了N多個響應在等待祭往,因而造成極大的資源浪費已骇!所以,“三次握手”很有必要!

為什么要四次揮手?

試想一下,假如現在你是客戶端你想斷開跟Server的所有連接該怎么做?第一步犹撒,你自己先停止向Server端發(fā)送數據奕坟,并等待Server的回復。但事情還沒有完,雖然你自身不往Server發(fā)送數據了,但是因為你們之前已經建立好平等的連接了,所以此時他也有主動權向你發(fā)送數據阁危;故Server端還得終止主動向你發(fā)送數據吟吝,并等待你的確認蛹磺。其實,說白了就是保證雙方的一個合約的完整執(zhí)行辛慰!

使用TCP的協議:FTP(文件傳輸協議)、Telnet(遠程登錄協議)、SMTP(簡單郵件傳輸協議)、POP3(和SMTP相對,用于接收郵件)、HTTP協議等苗踪。

8、UDP協議

UDP用戶數據報協議,是面向無連接的通訊協議部服,UDP數據包括目的端口號和源端口號信息廓八,由于通訊不需要連接国夜,所以可以實現廣播發(fā)送朝卒。****UDP通訊時不需要接收方確認,屬于不可靠的傳輸辆影,可能會出現丟包現象旁涤,實際應用中要求程序員編程驗證纷闺。

UDP與TCP位于同一層,但它不管數據包的順序怒医、錯誤或重發(fā)季率。因此衰猛,UDP不被應用于那些使用虛電路的面向連接的服務结序,UDP主要用于那些面向查詢---應答的服務,例如NFS凛澎。相對于FTP或Telnet炭晒,這些服務需要交換的信息量較小垢村。

每個UDP報文分UDP報頭和UDP數據區(qū)兩部分馋辈。報頭由四個16位長(2字節(jié))字段組成轴捎,分別說明該報文的源端口、目的端口厅目、報文長度以及校驗值瘟忱。UDP報頭由4個域組成哲泊,其中每個域各占用2個字節(jié),具體如下:

(1)源端口號刺彩;

(2)目標端口號;

(3)數據報長度;

(4)校驗值念搬。

使用UDP協議包括:TFTP(簡單文件傳輸協議)温亲、SNMP(簡單網絡管理協議)粘姜、DNS(域名解析協議)活喊、NFS、BOOTP量愧。

TCP****與****UDP****的區(qū)別:TCP是面向連接的钾菊,可靠的字節(jié)流服務;UDP是面向無連接的偎肃,不可靠的數據報服務煞烫。

9、DNS協議

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

10赫编、NAT協議

NAT網絡地址轉換(Network Address Translation)屬接入廣域網(WAN)技術巡蘸,是一種將私有(保留)地址轉化為合法IP地址的轉換技術,它被廣泛應用于各種類型Internet接入方式和各種類型的網絡中擂送。原因很簡單悦荒,NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效地避免來自網絡外部的攻擊团甲,隱藏并保護網絡內部的計算機逾冬。

11、DHCP協議

DHCP動態(tài)主機設置協議(Dynamic Host Configuration Protocol)是一個局域網的網絡協議,使用UDP協議工作身腻,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址产还,給用戶或者內部網絡管理員作為對所有計算機作中央管理的手段。

12嘀趟、HTTP協議

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

HTTP****協議包括哪些請求牛隅?

GET:請求讀取由URL所標志的信息。

POST:給服務器添加信息(如注釋)酌泰。

PUT:在給定的URL下存儲一個文檔媒佣。

DELETE:刪除給定的URL所標志的資源。

HTTP****中陵刹,****POST****與****GET****的區(qū)別

1)Get是從服務器上獲取數據默伍,Post是向服務器傳送數據。

2)Get是把參數數據隊列加到提交表單的Action屬性所指向的URL中衰琐,值和表單內各個字段一一對應也糊,在URL中可以看到。

3)Get傳送的數據量小羡宙,不能大于2KB狸剃;Post傳送的數據量較大,一般被默認為不受限制狗热。

4)根據HTTP規(guī)范钞馁,GET用于信息獲取,而且應該是安全的和冪等的斗搞。

I. 所謂 安全的 意味著該操作用于獲取信息而非修改信息指攒。換句話說,GET請求一般不應產生副作用僻焚。就是說允悦,它僅僅是獲取資源信息,就像數據庫查詢一樣虑啤,不會修改隙弛,增加數據,不會影響資源的狀態(tài)狞山。

II. 冪等 的意味著對同一URL的多個請求應該返回同樣的結果全闷。

13、一個舉例

在瀏覽器中輸入****www.baidu.com 后執(zhí)行的全部過程

現在假設如果我們在客戶端(客戶端)瀏覽器中輸入http://www.baidu.com,而baidu.com為要訪問的服務器(服務器)萍启,下面詳細分析客戶端為了訪問服務器而執(zhí)行的一系列關于協議的操作:

1)客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48总珠,通過這個IP地址找到客戶端到服務器的路徑屏鳍。客戶端瀏覽器發(fā)起一個HTTP會話到220.161.27.48局服,然后通過TCP進行封裝數據包钓瞭,輸入到網絡層。

2)在客戶端的傳輸層淫奔,把HTTP會話請求分成報文段山涡,添加源和目的端口,如服務器使用80端口監(jiān)聽客戶端的請求唆迁,客戶端由系統隨機選擇一個端口如5000鸭丛,與服務器進行交換,服務器把相應的請求返回給客戶端的5000端口唐责。然后使用IP層的IP地址查找目的端鳞溉。

3)客戶端的網絡層不用關系應用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達服務器鼠哥,期間可能經過多個路由器穿挨,這些都是由路由器來完成的工作,不作過多的描述肴盏,無非就是通過查找路由表決定通過那個路徑到達服務器。

4)客戶端的鏈路層帽衙,包通過鏈路層發(fā)送到路由器菜皂,通過鄰居協議查找給定IP地址的MAC地址,然后發(fā)送ARP請求查找目的地址厉萝,如果得到回應后就可以使用ARP的請求應答交換的IP數據包現在就可以傳輸了恍飘,然后發(fā)送IP數據包到達服務器的地址。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末谴垫,一起剝皮案震驚了整個濱河市章母,隨后出現的幾起案子,更是在濱河造成了極大的恐慌翩剪,老刑警劉巖乳怎,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異前弯,居然都是意外死亡蚪缀,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門恕出,熙熙樓的掌柜王于貴愁眉苦臉地迎上來询枚,“玉大人,你說我怎么就攤上這事浙巫〗鹗瘢” “怎么了刷后?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渊抄。 經常有香客問我尝胆,道長,這世上最難降的妖魔是什么抒线? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任挨摸,我火速辦了婚禮泻拦,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己廉邑,他們只是感情好,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布册烈。 她就那樣靜靜地躺著弥姻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睡陪。 梳的紋絲不亂的頭發(fā)上寺渗,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機與錄音兰迫,去河邊找鬼信殊。 笑死,一個胖子當著我的面吹牛汁果,可吹牛的內容都是我干的涡拘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼据德,長吁一口氣:“原來是場噩夢啊……” “哼鳄乏!你這毒婦竟也來了?” 一聲冷哼從身側響起棘利,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤橱野,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后善玫,有當地人在樹林里發(fā)現了一具尸體水援,經...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年蝌焚,在試婚紗的時候發(fā)現自己被綠了裹唆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡只洒,死狀恐怖许帐,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情毕谴,我是刑警寧澤成畦,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布距芬,位于F島的核電站,受9級特大地震影響循帐,放射性物質發(fā)生泄漏框仔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一拄养、第九天 我趴在偏房一處隱蔽的房頂上張望离斩。 院中可真熱鬧,春花似錦瘪匿、人聲如沸跛梗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽核偿。三九已至,卻和暖如春顽染,著一層夾襖步出監(jiān)牢的瞬間漾岳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工粉寞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尼荆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓唧垦,卻偏偏與公主長得像耀找,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子业崖,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354