人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

TCP/IP協議體系結構簡介

TCP/IP協議體系結構簡介

更新時間:2019-03-21 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。

1、TCP/IP協議棧

四層模型
TCP/IP這個協議遵守一個四層的模型概念:應用層、傳輸層、互聯層和網絡接口層。

網絡接口層
模型的基層是網絡接口層。負責數據幀的發送和接收,幀是獨立的網絡信息傳輸單元。網絡接口層將幀放在網上,或從網上把幀取下來。

互聯層
互聯協議將數據包封裝成internet數據報,并運行必要的路由算法。
這里有四個互聯協議:
網際協議IP:負責在主機和網絡之間尋址和路由數據包。
地址解析協議ARP:獲得同一物理網絡中的硬件主機地址。
網際控制消息協議ICMP:發送消息,并報告有關數據包的傳送錯誤。
互聯組管理協議IGMP:被IP主機拿來向本地多路廣播路由器報告主機組成員。

傳輸層
傳輸協議在計算機之間提供通信會話。傳輸協議的選擇根據數據傳輸方式而定。

兩個傳輸協議:
傳輸控制協議TCP:為應用程序提供可靠的通信連接。適合于一次傳輸大批數據的情況。并適用于要求得到響應的應用程序。
用戶數據報協議UDP:提供了無連接通信,且不對傳送包進行可靠的保證。適合于一次傳輸小量數據,可靠性則由應用層來負責。

應用層
應用程序通過這一層訪問網絡。

網絡接口技術
IP使用網絡設備接口規范NDIS向網絡接口層提交幀。IP支持廣域網和本地網接口技術。

串行線路協議
TCP/IPG一般通過internet串行線路協議SLIP或點對點協議PPP在串行線上進行數據傳送。(是不是我們平時把它稱之為異步通信,對于要拿LINUX提供建立遠程連接的朋友應該多研究一下這方面的知識)?

2、ARP

要在網絡上通信,主機就必須知道對方主機的硬件地址(我們不是老遇到網卡的物理地址嘛)。地址解析就是將主機IP地址映射為硬件地址的過程。地址解析協議ARP用于獲得在同一物理網絡中的主機的硬件地址。

解釋本地IP地址(要了解地址解析工作過程的朋友看好了)
主機IP地址解析為硬件地址:
(1)當一臺主機要與別的主機通信時,初始化ARP請求。當該IP斷定IP地址是本地時,源主機在ARP緩存中查找目標主機的硬件地址。
(2)要是找不到映射的話,ARP建立一個請求,源主機IP地址和硬件地址會被包括在請求中,該請求通過廣播,使所有本地主機均能接收并處理。
(3)本地網上的每個主機都收到廣播并尋找相符的IP地址。
(4)當目標主機斷定請求中的IP地址與自己的相符時,直接發送一個ARP答復,將自己的硬件地址傳給源主機。以源主機的IP地址和硬件地址更新它的ARP緩存。源主機收到回答后便建立起了通信。

解析遠程IP地址
不同網絡中的主機互相通信,ARP廣播的是源主機的缺省網關。
目標IP地址是一個遠程網絡主機的話,ARP將廣播一個路由器的地址。
(1)通信請求初始化時,得知目標IP地址為遠程地址。源主機在本地路由表中查找,若無,源主機認為是缺省網關的IP地址。在ARP緩存中查找符合該網關記錄的IP地址(硬件地址)。
(2)若沒找到該網關的記錄,ARP將廣播請求網關地址而不是目標主機的地址。路由器用自己的硬件地址響應源主機的ARP請求。源主機則將數據包送到路由器以傳送到目標主機的網絡,最終達到目標主機。
(3)在路由器上,由IP決定目標IP地址是本地還是遠程。如果是本地,路由器用ARP(緩存或廣播)獲得硬件地址。如果是遠程,路由器在其路由表中查找該網關,然后運用ARP獲得此網關的硬件地址。數據包被直接發送到下一個目標主機。
(4)目標主機收到請求后,形成ICMP響應。因源主機在遠程網上,將在本地路由表中查找源主機網的網關。找到網關后,ARP即獲取它的硬件地址。
(5)如果此網關的硬件地址不在ARP緩存中,通過ARP廣播獲得。一旦它獲得硬件地址,ICMP響應就送到路由器上,然后傳到源主機。

ARP緩存
為減少廣播量,ARP在緩存中保存地址映射以備用。ARP緩存保存有動態項
和靜態項。動態項是自動添加和刪除的,靜態項則保留在CACHE中直到計算機重新啟動。

ARP緩存總是為本地子網保留硬件廣播地址(0xffffffffffffh)作為一個永久項。

此項使主機能夠接受ARP廣播。當查看緩存時,該項不會顯示。
每條ARP緩存記錄的生命周期為10分鐘,2分鐘內未用則刪除。緩存容量滿時,刪除最老的記錄。

加入靜態(永久)記錄通過添加靜態ARP項可減少ARP請求訪問主機的次數。

ARP包的結構
ARP結構的字段如下:
硬件類型--使用的硬件(網絡訪問層)類型。
協議類型--解析過程中的協議使用以太類型的值。
硬件地址長度--硬件地址的字節長度,對于以太網和令牌環來說,其長度為6字節。
協議地址長度--協議地址字節的長度,IP的長度是4字節。
操作號--指定當前執行操作的字段。
發送者的硬件地址--發送者的硬件地址。
發送者的協議地址--發送者的協議地址。
目的站硬件地址--目標者的硬件地址。
目的站協議地址--目標者的協議地址。


3、ICMP和IGMP

internet控制消息協議ICMP是用于報告錯誤并代表IP對消息進行控制。
IP運用互聯組管理協議IGMP來告訴路由器,某一網絡上指導組中的可用主機。

ICMP
ICMP源抑制消息:當TCP/IP主機發送數據到另一主機時,如果速度達到路由器或者鏈路的飽和狀態,路由器發出一個ICMP源抑制消息。

ICMP數據包結構
類型:一個8位類型字段,表示ICMP數據包類型。
代碼:一個8位代碼域,表示指定類型中的一個功能。如果一個類型中只有一種功能,代碼域置為0。
檢驗和:數據包中ICMP部分上的一個16位檢驗和。
指定類型的數據隨每個ICMP類型變化的一個附加數據。

IGMP
IGMP信息傳給別的路由器以使每個支持多路廣播的路由器獲知哪個主機組和哪個網絡中。

IGMP包結構
版本:IGMP的版本,值一般為0x1h。
類型:IGMP消息的類型。0x1h類型稱為主機成員請求,在多路廣播路由器上用于指定多級組中的任何成員輪詢一個網絡。0x2h類型稱為主機成員報告,在主機上用于發布指定組中的成員情況或對一個路由器的主機成員請求進行回答。
未用:未用的域名被發送者置零且被接收者忽略。
檢驗和:IGMP頭的一個16位檢驗和。
組地址:主機用該組地址在一個主機成員請求中存儲IP多路廣播地址。在主機成員請求中,組地址被全置零,而且硬件級的多路廣播地址被用來標示主機組。

4、IP

IP是一個無連接的協議,主要就是負責在主機間尋址并為數據包設定路由,在交換數據前它并不建立會話。因為它不保證正確傳遞,另一方面,數據在被收到時,IP不需要收到確認,所以它是不可靠的。有一些字段,在當數據從傳輸層傳下來時,會被附加在數據包中,我們來看一下這些字段:
源IP地址:用IP地址確定數據報發送者。
目標IP地址:用IP地址確定數據報目標。
協議:告知目的機的IP是否將包傳給TCP或UDP。
檢查和:一個簡單的數學計算,用來證實收到的包的完整性。
TTL生存有效時間:指定一個數據報被丟棄之前,在網絡上能停留多少時間(以秒計)。它避免了包在網絡中無休止循環。路由器會根據數據在路由器中駐留的時間來遞減TTL。其中數據報通過一次路由器,TTL至少減少一秒。根據我們前面提到關于ARP的知識,如果IP地址目標為本地地址時,IP將數據包直接傳給那個主機;如果目標地址為遠程地址的話,IP在本地的路由表中查找遠程主機的路由(看來好象我們平時撥114一樣)。如果找到一個路由,IP用它傳送數據包。如果沒找到呢,就會將數據包發送到源主機的缺省網關,也稱之為路由器。(很多時候一直在搞網關和路由器的定義,其實我覺得在學的時候不一定死摳概念,現在硬件和軟件結合的產品越來越多了,一時很分清的,只要我們運用的時候可以解決實際問題嘛。)這樣當路由器收到一個包后,該包向上傳給IP:
(1)如果交通阻塞(聽起來蠻可怕的),包在路由器中停滯,TTL至少減1或更多。要是它降到0的話,包就會被拋棄。
(2)如果對于下一網絡來說包太大的話,IP會將它分割成若干個小包。
(3)如果包被分解,IP為每個新包制造一個新頭,其中包括:一個標志,用來顯示其它小包在其后;一個小包ID,用來確定所有小包是一起的;一個小包偏移,用來告訴接收主機怎么重新組合它們。
(4)IP計算一個新的檢驗和。
(5)IP獲取一個路由的目標硬件地址。
(6)IP轉發包。
在下一主機,包被發送到TCP或UDP。每個路由器都要重復該過程。直到包到達最終目的地。當包到達最終目的地后,IP將小包組裝成原來的包。

5、TCP

TCP是一種可靠的面向連接的傳送服務。它在傳送數據時是分段進行的,主機交換數據必須建立一個會話。它用比特流通信,即數據被作為無結構的字節流。通過每個TCP傳輸的字段指定順序號,以獲得可靠性。如果一個分段被分解成幾個小段,接收主機會知道是否所有小段都已收到。通過發送應答,用以確認別的主機收到了數據。對于發送的每一個小段,接收主機必須在一個指定的時間返回一個確認。如果發送者未收到確認,數據會被重新發送;如果收到的數據包損壞,接收主機會舍棄它,因為確認未被發送,發送者會重新發送分段。

端口
SOCKETS實用程序使用一個協議端口號來標明自己應用的唯一性。端口可以使用0到65536之間的任何數字。在服務請求時,操作系統動態地為客戶端的應用程序分配端口號。

套接字
套接字在要領上與文件句柄類似,因為其功能是作為網絡通信的終結點。一個應用程序通過定義三部分來產生一個套接字:主機IP地址、服務類型(面向連接的服務是TCP,無連接服務是UDP)、應用程序所用的端口。

TCP端口
TCP端口為信息的傳送提供定地點,端口號小于256的定義為常用端口。

TCP的三次握手
TCP對話通過三次握手來初始化。三次握手的目的是使數據段的發送和接收同步;告訴其它主機其一次可接收的數據量,并建立虛連接。我們來看看這三次握手的簡單過程:
(1)初始化主機通過一個同步標志置位的數據段發出會話請求。
(2)接收主機通過發回具有以下項目的數據段表示回復:同步標志置位、即將發送的數據段的起始字節的順序號、應答并帶有將收到的下一個數據段的字節順序號。
(3)請求主機再回送一個數據段,并帶有確認順序號和確認號。

TCP滑動窗口
TCP滑動窗口用來暫存兩臺主機間要傳送的數據,有點類似CACHE。每個TCP/IP主機有兩個滑動窗口:一個用于接收數據,另一個用于發送數據。

6、UDP

用戶數據報協議UDP提供了無連接的數據報服務。它適用于無須應答并且通常一次只傳送少量數據的應用軟件。

UDP端口
端口作為多路復用的消息隊列使用。
15 NETSTAT 網絡狀態
53 DOMAIN 域名服務器
69 TFTP 平凡文件傳送協議
137 NETBIOS-NS NETBIOS命令服務
138 NETBIOS-DGM NETBIOS數據報服務
161 SNMP SNMP網絡監視器

IP地址分配

1、IP地址

IP地址標識著網絡中一個系統的位置。我們知道每個IP地址都是由兩部分組成的:網絡號和主機號。其中網絡號標識一個物理的網絡,同一個網絡上所有主機需要同一個網絡號,該號在互聯網中是唯一的;而主機號確定網絡中的一個工作端、服務器、路由器其它TCP/IP主機。對于同一個網絡號來說,主機號是唯一的。每個TCP/IP主機由一個邏輯IP地址確定。

網絡號和主機號
IP地址有兩種表示形式:二進制表示(1和0太多了就搞不清)和點分十進制表示。每個IP地址的長度為4字節,由四個8位域組成,我們通常稱之為八位體。八位體由句點.分開,表示為一個0-255之間的十進制數。一個IP地址的4個域分別標明了網絡號和主機號。

2、地址類型

為適應不同大小的網絡,internet定義了5種IP地址類型。
可以通過IP地址的前八位來確定地址的類型:
類型 IP形式 網絡號 主機號
A類 w.x.y.z w x.y.z
B類 w.x.y.z w.x y.z
C類 w.x.y.z w.x.y z
我們來看一下這5類地址:
A類地址:可以擁有很大數量的主機,最高位為0,緊跟的7位表示網絡號,余24位表示主機號,總共允許有126個網絡。
B類地址:被分配到中等規模和大規模的網絡中,最高兩位總被置于二進制的10,允許有16384個網絡。
C類地址:被用于局域網。高三位被置為二進制的110,允許大約200萬個網絡。
D類地址:被用于多路廣播組用戶,高四位總被置為1110,余下的位用于標明客戶機所屬的組。E類地址是一種僅供試驗的地址。

3、地址分配指南

在分配網絡號和主機號時應遵守以下幾條準則:
(1)網絡號不能為127。大家知道該標識號被保留作回路及診斷功能,還記得平時ping 127.0.0.1?
(2)不能將網絡號和主機號的各位均置1。如果每一位都是1的話,該地址會被解釋為網內廣播而不是一個主機號。(TCP/IP是一個可廣播的協議嘛)
(3)相應于上面一條,各位均不能置0,否則該地址被解釋為“就是本網絡”。
(4)對于本網絡來說,主機號應該是唯一。(否則會出現IP地址已分配或有沖突之類的錯誤)

分配網絡號
對于每個網絡以及廣域連接,必須有唯一的網絡號,主機號用于區分同一物理網絡中的不同主機。如果網絡由路由器連接,則每個廣域連接都需要唯一的網絡號。

分配主機號
主機號用于區分同一網絡中不同的主機,并且主機號應該是唯一的。所有的主機包括路由器間的接口,都應該有唯一的網絡號。路由器的主機號,要配置成工作站的缺省網關地址。

有效的主機號
A類:w.0.0.1--w.255.255.254
B類:w.x.0.1--w.x.255.254
C類:w.x.y.1--w.x.y.254


4、子網屏蔽和IP地址

TCP/IP上的每臺主機都需要用一個子網屏蔽號。它是一個4字節的地址,用來封裝或“屏蔽”IP地址的一部分,以區分網絡號和主機號。當網絡還沒有劃分為子網時,可以使用缺省的子網屏蔽;當網絡被劃分為若干個子網時,就要使用自定義的子網屏蔽了。

缺省值
我們來看看缺省的子網屏蔽值,它用于一個還沒有劃分子網的網絡。即使是在一個單段網絡上,每臺主機也都需要這樣的缺省值。它的形式依賴于網絡的地址類型。在它的4個字節里,所有對應網絡號的位都被置為1,于是每個八位體的十進制值都是255;所有對就主機號的位都置為0。例如:C類網地址192.168.0.1和相應的缺省屏蔽值255.255.255.0。

確定數據包的目的地址
我們說把屏蔽值和IP地址值做“與”的操作其實是一個內部過程,它用來確定一個數據包是傳給本地還是遠程網絡上的主機。其相應的操作過程是這樣的:當TCP/IP初始化時,主機的IP地址和子網屏蔽值相“與”。在數據包被發送之前,再把目的地址也和屏蔽值作“與”,這樣如果發現源IP地址和目的IP地址相匹配,IP協議就知道數據包屬于本地網上的某臺主機;否則數據包將被送到路由器上。

注:我們知道“與”操作是將IP地址中的每一位與子網屏蔽中相應的位按邏輯與作比較。

建立子網

1、 子網簡介


一個網絡實際上可能會有多個物理網段,我們把這些網段稱之為子網,其使用的IP地址是由某個網絡號派生而得到的。將一個網絡劃分成若干個子網,需要使用不同的網絡號或子網號。當然了,劃分子網有它的優點,通過劃分子網,每個單位可以將復雜的物理網段連接成一個網絡,并且可以:
(1) 混合使用多種技術,比如以太網和令牌環網。(最流行的兩種接口都支持了哦)
(2) 克服當前技術的限制,比如突破每段主機的最大數量限制。
(3) 通過重定向傳輸以及減少廣播等傳輸方式以減輕網絡的擁擠。

實現子網劃分
在動手劃分子網之前,我們一定要先分析一下自己的需求以及將來的規劃。一般情況下我們遵循這樣的準則:
(1) 確定網絡中的物理段數量。(就是子網個數嘛)
(2) 確定每個子網需要的主機數。注意一個主機至少一個IP地址。
(3) 基于此需求,定義:整個網絡的子網屏蔽、每個子網唯一的子網號和每個子網的主機號范圍。

子網屏蔽位
在定義一個子網屏蔽之前,確定一下將來需要的子網數量及每子網的主機數是必不可少的一步。因為當更多的位用于子網屏蔽時,就有更多的可用子網了,但每個子網中的主機數將減少。(這和定義IP地址的概念正好相反)

2、定義子網屏蔽
將網絡劃分成若干個子網時,必須要定義好子網屏蔽。我們來看看定義的步驟:
(1)確定物理網段也就是子網的個數,并將這個數字轉換成二進制數。比如B類地址,分6個子網就是110。
(2)計算物理網段數(子網數)的二進制位數,這里是110,所以需要3位。
(3)以高位順序(從左到右)將這個反碼轉換成相應的十進制值,因為需要3位,就將主機號前3位作為子網號,這里是11100000,所以屏蔽就是255.255.254.0。

3、定義子網號
子網號與子網屏蔽的位數相同。
(1)列出子網號按高到低的順序使用的位數。例如子網屏蔽使用了3位,二進制值是11100000。
(2)將最低的一位1轉換成十進制,用這個值來定義子網的增量。這個例子中是1110,所以增量是32。
(3)用這個增量迭加從0開始的子網號,直到下一個值為256。這個例子中就是w.x.32.1-w.x.63.254、w.x.64.1-w.x.127.254等。

4、定義子網中的主機號
從上面的例子看出,一旦定義了子網號,就已經確定了每個子網的主機號了。我們在做每次增量后得出的值表明了子網中主機號范圍的起始值。
確定每個子網中的主機數目(1)計算主機號可用的位數。例如在B類網中用3位定義了網絡號,那么余下的13位定義了主機號。
(2)將這個余下的位數也就是主機號轉換為十進制,再減去1。例如13位值1111111111111轉換為十進制的話就是8191,所以這個網絡中每個子網的主機數就是8190了。

實現IP路由

1、IP路由簡介
路由就是選擇一條數據包傳輸路徑的過程。當TCP/IP主機發送IP數據包時,便出現了路由,且當到達IP路由器還會再次出現。路由器是從一個物理網向另一個物理網發送數據包的裝置,路由器通常被稱為網關。對于發送的主機和路由器而言,必須決定向哪里轉發數據包。在決定路由時,IP層查詢位于內存中的路由表。
(1)當一個主機試圖與另一個主機通信時,IP首先決定目的主機是一個本地網還是遠程網。
(2)如果目的主機是遠程網,IP將查詢路由表來為遠程主機或遠程網選擇一個路由。
(3)若未找到明確的路由,IP用缺省的網關地址將一個數據傳送給另一個路由器。
(4)在該路由器中,路由表再次為遠程主機或網絡查詢路由,若還未找到路由,該數據包將發送到該路由器的缺省網關地址。每發現一條路由,數據包被轉送下一級路由器,稱為一次“跳步”,并最終發送至目的主機。若未發現任何一個路由,源主機將收到一個出錯信息。



網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 玛纳斯县| 油尖旺区| 土默特左旗| 乐亭县| 乌兰浩特市| 丹阳市| 奉新县| 进贤县| 永新县| 威远县| 洛阳市| 安化县| 闽清县| 肥乡县| 潼南县| 寻乌县| 巍山| 疏附县| 彭泽县| 长寿区| 三河市| 汉寿县| 杂多县| 罗城| 霍邱县| 华亭县| 兰西县| 天门市| 达州市| 浮山县| 兴安盟| 社旗县| 廉江市| 桐梓县| 正定县| 疏附县| 东兰县| 东莞市| 西华县| 铁岭市| 高台县|