一、什么是TCP/IP 網(wǎng)絡(luò)和協(xié)議 1. TCP/IP是一類協(xié)議系統(tǒng),它是一套支持網(wǎng)絡(luò)通信的協(xié)議集合。網(wǎng)絡(luò)是計算機(jī)或類似計算機(jī)的設(shè)備之間通過常用的傳輸介質(zhì)進(jìn)行通信的集合。 2. 網(wǎng)絡(luò)協(xié)議就是一套通用規(guī)則,用來幫助定義復(fù)雜數(shù)據(jù)傳輸?shù)倪^程。數(shù)據(jù)傳輸從一臺計算機(jī)上的應(yīng)用程序開始,通過計算機(jī)網(wǎng)絡(luò)硬件,經(jīng)過傳輸介質(zhì)到正確目的地,然后上傳到目的地計算機(jī)網(wǎng)絡(luò)硬件,最后到達(dá)負(fù)責(zé)接收的應(yīng)用程序。 3. TCP/IP協(xié)議定義了網(wǎng)絡(luò)通信過程,更重要的是,定義了數(shù)據(jù)單元的格式和內(nèi)容,以便接收計算機(jī)能夠正確解釋接收到的消息。TCP/IP被稱為協(xié)議簇。 4. TCP/IP標(biāo)準(zhǔn)定義了TCP/IP網(wǎng)絡(luò)的通信規(guī)則;TCP/IP實現(xiàn)是一個軟件組件,計算機(jī)通過它參與到TCP/IP網(wǎng)絡(luò)中。 TCP/IP的特性 1. 邏輯編址:TCP/IP通過邏輯編址提供了子網(wǎng)化的能力。邏輯地址是一個同過網(wǎng)絡(luò)軟件來配置的地址。在TCP/IP中,計算機(jī)的邏輯地址稱為IP地址。 2. 路由選擇:路由器是一種特殊的設(shè)備,能夠讀取邏輯地址信息,并將數(shù)據(jù)通過網(wǎng)絡(luò)直接傳送到它的目的地。在局域網(wǎng)中,數(shù)據(jù)傳輸?shù)搅硪慌_計算機(jī)或設(shè)備時,不用經(jīng)過路由器,因此不會給大型網(wǎng)絡(luò)的傳輸線路帶來負(fù)擔(dān)。如果數(shù)據(jù)要傳送到子網(wǎng)以外的計算機(jī)上,路由器將負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)。 3. 名稱解析:域名到IP地址的映射稱為名稱解析。域名服務(wù)器的專用計算機(jī)中存儲了用于顯示域名和IP地址轉(zhuǎn)換方式的表。 4. 錯誤控制和流量控制:TCP/IP協(xié)議簇提供了確保數(shù)據(jù)在網(wǎng)絡(luò)中可靠傳送的特性。這些特性包括檢查數(shù)據(jù)的傳輸錯誤(確保到達(dá)的數(shù)據(jù)與發(fā)送的數(shù)據(jù)一致)和確認(rèn)成功接收到網(wǎng)絡(luò)信息。 5. 應(yīng)用支持:同一臺計算機(jī)可以運(yùn)行多種網(wǎng)絡(luò)應(yīng)用程序。協(xié)議軟件必須提供某些方法來判斷接收到的數(shù)據(jù)包屬于哪個應(yīng)用程序。在TCP/IP中,這個通過系統(tǒng)的邏輯通道實現(xiàn)從網(wǎng)絡(luò)到應(yīng)用程序的接口被稱為端口。 二、TCP/IP的工作方式 TCP/IP協(xié)議系統(tǒng) 1. TCP/IP協(xié)議系統(tǒng)必須要完成的任務(wù): 2. TCP/IP模型的協(xié)議層:應(yīng)用層-傳輸層-網(wǎng)際層-網(wǎng)絡(luò)訪問層(數(shù)據(jù)鏈路層-物理層) 3. 網(wǎng)絡(luò)訪問層:提供了與物理網(wǎng)絡(luò)連接的接口。針對傳輸介質(zhì)設(shè)置數(shù)據(jù)的格式,根據(jù)硬件的物理地址實現(xiàn)數(shù)據(jù)的尋址,對數(shù)據(jù)在物理網(wǎng)絡(luò)中的傳遞提供錯誤控制。 4. 網(wǎng)際層:提供獨立于硬件的邏輯尋址,從而讓數(shù)據(jù)能夠在具有不同物理結(jié)構(gòu)的子網(wǎng)之間傳遞。提供路由功能來降低流量,支持網(wǎng)間的數(shù)據(jù)傳遞。實現(xiàn)物理地址與邏輯地址的轉(zhuǎn)換。 5. 傳輸層:為網(wǎng)絡(luò)提供了流量控制、錯誤控制和確認(rèn)服務(wù)。充當(dāng)網(wǎng)絡(luò)應(yīng)用程序的接口。 6. 應(yīng)用層:為網(wǎng)絡(luò)排錯、文件傳輸、遠(yuǎn)程控制和internet操作提供了應(yīng)用程序。 TCP/IP和OSI模型 1. 開放系統(tǒng)互連模型——OSI 2. 數(shù)據(jù)包 1. 在數(shù)據(jù)發(fā)送的過程中,其流程是從堆棧的上到下,每一層都把相關(guān)的信息(成為“報頭”)捆綁到實際的數(shù)據(jù)上。包含報頭信息和數(shù)據(jù)的數(shù)據(jù)包就作為下一層的數(shù)據(jù),再次被添加報頭信息和重新打包。 2. 3. 每一層封裝報頭的原因:接收設(shè)備上的每個協(xié)議層需要不同的信息來處理收到的數(shù)據(jù),所以發(fā)送設(shè)備上的沒一些就封裝相應(yīng)的報頭信息。 三、網(wǎng)絡(luò)訪問層 協(xié)議和硬件 1. 網(wǎng)絡(luò)訪問層管理為物理網(wǎng)絡(luò)準(zhǔn)備數(shù)據(jù)所必須的服務(wù)與功能:與計算機(jī)網(wǎng)絡(luò)適配器的連接;根據(jù)合適的訪問方式調(diào)整數(shù)據(jù)傳輸;把數(shù)據(jù)轉(zhuǎn)化為電子流或模擬脈沖的形式,以在傳輸介質(zhì)上進(jìn)行傳輸;對接收到的數(shù)據(jù)進(jìn)行錯誤檢查;給發(fā)送的數(shù)據(jù)添加錯誤檢查信息,從而讓接收端計算機(jī)能夠?qū)?shù)據(jù)進(jìn)行錯誤檢查。 2. 網(wǎng)絡(luò)訪問層定義了與網(wǎng)絡(luò)硬件交互和訪問傳輸介質(zhì)的過程。 網(wǎng)絡(luò)訪問層與OSI模型 1. 網(wǎng)絡(luò)訪問層大致對應(yīng)OSI模型的物理層和數(shù)據(jù)鏈路層。 2. 物理層負(fù)責(zé)把數(shù)據(jù)幀轉(zhuǎn)化為適合于傳輸介質(zhì)的比特流。在接收端,物理層把這些脈沖重新組合為數(shù)據(jù)幀。 3. 數(shù)據(jù)鏈路層執(zhí)行兩個獨立的任務(wù):介質(zhì)訪問控制(MAC)——這個子層提供與網(wǎng)絡(luò)適配器連接的接口。實際上,網(wǎng)絡(luò)適配器驅(qū)動程序通常被稱為MAC驅(qū)動;邏輯鏈路控制(LLC)——這個子層對經(jīng)過子網(wǎng)傳遞的幀進(jìn)行錯誤檢查,并且管理子網(wǎng)上通信設(shè)備之間的鏈路。 網(wǎng)絡(luò)體系 1. 網(wǎng)絡(luò)體系具有一系列的規(guī)范來管理介質(zhì)訪問、物理尋址、計算機(jī)與傳輸介質(zhì)的交互。在決定網(wǎng)絡(luò)體系時,實際上是在決定如何設(shè)計網(wǎng)絡(luò)訪問層。 2. 網(wǎng)絡(luò)體系包含對物理網(wǎng)絡(luò)的定義,以及該物理網(wǎng)絡(luò)上定義的通信規(guī)范。 3. 網(wǎng)絡(luò)訪問層的軟件必須伴隨于特定的硬件設(shè)計。TCP/IP協(xié)議棧的設(shè)計保證了與硬件交互相關(guān)的細(xì)節(jié)都發(fā)生在網(wǎng)絡(luò)訪問層,使得TCP/IP能夠工作于多種不同的傳輸介質(zhì)。以下是集中網(wǎng)絡(luò)體系的類型: 物理尋址 1. 網(wǎng)絡(luò)訪問層需要把邏輯IP地址與網(wǎng)絡(luò)適配器的固定物理地址相關(guān)聯(lián)。 2. 物理尋址是由介質(zhì)訪問控制(MAC)子層負(fù)責(zé)的。 3. TCP/IP使用地址解析協(xié)議(ARP)和逆向地址解析協(xié)議(RARP)把IP地址關(guān)聯(lián)到網(wǎng)絡(luò)適配器的物理地址。ARP和RARP為用戶提供的邏輯IP地址與局域網(wǎng)上使用的硬件地址建立了一個對應(yīng)關(guān)系。 以太網(wǎng) 1. 以太網(wǎng)是目前使用最廣泛的局域網(wǎng)技術(shù),是當(dāng)今現(xiàn)有局域網(wǎng)采用的最通用的通信協(xié)議標(biāo)準(zhǔn)。 2. 在典型的以太網(wǎng)上,全部計算機(jī)共享同一個傳輸介質(zhì)。以太網(wǎng)使用成為載波偵聽多路訪問/沖突檢測(CSMA/CD)的方法,來判斷計算機(jī)何時可以把數(shù)據(jù)發(fā)送到訪問介質(zhì)。通過CSMA/CD,所有計算機(jī)都監(jiān)視傳輸介質(zhì)的狀態(tài),在傳輸之前等待線路空閑。如果兩臺計算機(jī)嘗試同時發(fā)送數(shù)據(jù),就會發(fā)生沖突,計算機(jī)就會停止發(fā)送,等待一個隨機(jī)的時間間隔,然后再次嘗試發(fā)送。 3. 傳統(tǒng)以太網(wǎng)在中低負(fù)載情況下運(yùn)行良好,但在大負(fù)載情況下會由于沖突的增多而影響性能。在現(xiàn)代以太網(wǎng)中,像網(wǎng)絡(luò)交換機(jī)這樣的設(shè)備會對流量進(jìn)行管理,減少沖突的發(fā)生,從而讓以太網(wǎng)的運(yùn)行更具效率。 剖析以太網(wǎng)幀 1. 網(wǎng)絡(luò)訪問層的軟件從網(wǎng)際層接收數(shù)據(jù)報,把它轉(zhuǎn)化符合物理網(wǎng)絡(luò)規(guī)范的形式。在以太網(wǎng)中,網(wǎng)絡(luò)訪問層的軟件必須把數(shù)據(jù)轉(zhuǎn)化成能夠通過網(wǎng)絡(luò)適配器硬件進(jìn)行傳輸?shù)男问健?/p> 2. 四、網(wǎng)際層 尋址與發(fā)送 1. 物理尋址方式適合單個局域網(wǎng)網(wǎng)段。由不間斷介質(zhì)連接在一起的若干臺計算機(jī)利用物理地址就可以實現(xiàn)所需要的功能。只需使用網(wǎng)絡(luò)訪問層的低級協(xié)議就可以把數(shù)據(jù)從網(wǎng)絡(luò)適配器直接傳遞另一個網(wǎng)絡(luò)適配器。但是,在路由式網(wǎng)絡(luò)中,不能利用物理地址實現(xiàn)數(shù)據(jù)傳輸,因為根據(jù)物理地址進(jìn)行傳輸所需的過程不能跨越路由接口來進(jìn)行。 2. TCP/IP隱藏了物理地址,以一種邏輯化、層次化的尋址方案對網(wǎng)絡(luò)進(jìn)行組織。這種邏輯尋址方案由網(wǎng)際層的IP協(xié)議維護(hù),而邏輯地址被稱為IP地址。 3. 在一個路由式網(wǎng)絡(luò)中,TCP/IP要使用如下策略在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù): 網(wǎng)際協(xié)議 1. IP協(xié)議提供了一種分層的、與硬件無關(guān)的尋址系統(tǒng),具有在復(fù)雜的路由式網(wǎng)絡(luò)中傳遞數(shù)據(jù)所需的服務(wù)。TCP/IP網(wǎng)絡(luò)上的每個網(wǎng)絡(luò)適配器都有一個唯一的IP地址。 2. IP地址分為兩個部分:網(wǎng)絡(luò)ID和主機(jī)ID。網(wǎng)絡(luò)必須提供一種方式來判斷IP地址的哪一部分是網(wǎng)絡(luò)ID,哪一部分是主機(jī)ID。 IP報頭字段 1. 每個IP數(shù)據(jù)報都以一個IP報頭開始。源計算機(jī)的TCP/IP軟件構(gòu)造這個IP報頭,目的計算機(jī)的TCP/IP軟件利用IP報頭中封裝的信息處理數(shù)據(jù)。IP報頭包含大量信息,包括源IP地址、目的IP地址、數(shù)據(jù)報長度、IP版本號和路由器的特殊指令。 2. IP數(shù)據(jù)報由報頭和數(shù)據(jù)兩部分組成。報頭由一個20字節(jié)的固定長度和一個可任選任意長度部分組成。IP數(shù)據(jù)報最長為65535字節(jié)。 IP尋址 1. 劃分網(wǎng)絡(luò)ID和主機(jī)ID的最初方案是使用地址分類。 2. A類:0.0.0.0~127.255.255.255 B類:128.0.0.0~191.255.255.255 C類:192.0.0.0~223.255.255.255 D類:224.0.0.0~239.255.255.255 E類:240.0.0.0~247.255.255.255 規(guī)定首字節(jié)不能是127、0、255,主機(jī)各位不能同時為0和1 3. 網(wǎng)絡(luò)管理員可以把網(wǎng)絡(luò)劃分為更小的次級網(wǎng)絡(luò),這被稱為子網(wǎng)。劃分子網(wǎng)的是指就是借用主機(jī)ID中的一些為,在網(wǎng)絡(luò)內(nèi)創(chuàng)建額外的網(wǎng)絡(luò)。AB類地址會廣泛應(yīng)用子網(wǎng)劃分技術(shù)。 地址解析協(xié)議——ARP 1. ARP把IP地址映射為物理地址。主機(jī)必須知道目的網(wǎng)絡(luò)適配器的物理地址才能向它發(fā)送數(shù)據(jù)。 2. 網(wǎng)段上每臺主機(jī)在內(nèi)存中都保存著一個被稱為ARP表或ARP緩存的表格,其中包含了網(wǎng)段上其他主機(jī)的IP地址與物理地址的對應(yīng)關(guān)系。當(dāng)主機(jī)需要向網(wǎng)段上的其他主機(jī)發(fā)送數(shù)據(jù)時,它會查看ARP緩存來獲得目的的物理地址。ARP緩存是動態(tài)變化的,如果要接收數(shù)據(jù)的地址當(dāng)前并不存在于ARP緩存中,主機(jī)就會發(fā)送一個名為ARP請求幀的廣播。 逆向地址解析協(xié)議——RARP:在知道物理地址而不知道IP地址時,應(yīng)該使用RARP。 INTERNET控制消息協(xié)議——ICMP 1. 發(fā)送到遠(yuǎn)程計算機(jī)的數(shù)據(jù)通常會經(jīng)過一個或多個路由器,這些路由器在把數(shù)據(jù)傳輸?shù)阶罱K目的地的過程中可能發(fā)生多種問題。路由器利用ICMP協(xié)議把問題通知給源IP。ICMP還有用于調(diào)試和排錯的功能。 2.
五、子網(wǎng)劃分和CIDR 子網(wǎng) 1. 子網(wǎng)劃分可以利用IP地址系統(tǒng)把物理網(wǎng)絡(luò)分解為更小的邏輯實體——子網(wǎng)。 2. 子網(wǎng)的概念最早源自于地址分類系統(tǒng),而且在ABC類地址中能夠得到很好的展現(xiàn)。然而硬件廠商和internet社區(qū)建立了一種解析地址的新系統(tǒng),名為無類別域間路由(CIDR),它不需要關(guān)心地址類別。 劃分網(wǎng)絡(luò) 1. ABC類網(wǎng)絡(luò)ID來識別網(wǎng)段具有一些局限性,主要是在網(wǎng)絡(luò)級別之下不能對地址空間進(jìn)行任何邏輯細(xì)分。數(shù)據(jù)報到達(dá)某個網(wǎng)關(guān)(90.0.0.0)地址空間,但如果要考慮它在這個地址空間中是如何傳遞的,這個就會變得非常復(fù)雜,因為A類網(wǎng)絡(luò)能夠容納超過1600萬臺主機(jī)。 2. 為了在大型網(wǎng)絡(luò)里實現(xiàn)更高效的數(shù)據(jù)傳輸,地址空間被劃分為較小的網(wǎng)段。唯一可行的解決辦法是在網(wǎng)絡(luò)標(biāo)ID下對地址空間進(jìn)行某種細(xì)分,讓主機(jī)和路由器能夠根據(jù)IP地址判斷應(yīng)該把數(shù)據(jù)發(fā)送到哪個網(wǎng)段。 3. TCP/IP的設(shè)計者借用了主機(jī)ID里的一些位來形成子網(wǎng)地址。一個名為子網(wǎng)掩碼的參數(shù)指明了地址中多少位用于子網(wǎng)ID,保留多少位作為實際的主機(jī)ID。 4. 像IP地址一樣,子網(wǎng)掩碼是個32位的二進(jìn)制值。子網(wǎng)掩碼里的每一位代表IP地址中的一個位,用1表示IP地址中屬于網(wǎng)絡(luò)ID或子網(wǎng)ID的位,用0表示IP地址里屬于主機(jī)ID的位。 5. 在子網(wǎng)網(wǎng)絡(luò)上,路由器和主機(jī)所使用的路由表包含了每個IP地址相關(guān)的子網(wǎng)掩碼信息。數(shù)據(jù)報根據(jù)網(wǎng)絡(luò)ID被路由到目標(biāo)網(wǎng)絡(luò),而這個網(wǎng)絡(luò)ID是由地址類別決定的。當(dāng)數(shù)據(jù)報到達(dá)目標(biāo)網(wǎng)絡(luò)之后,它根據(jù)子網(wǎng)ID路由到合適的網(wǎng)段。在到達(dá)這個網(wǎng)段之后,再根據(jù)主機(jī)ID傳輸?shù)秸_的計算機(jī)。 使用子網(wǎng) 1. 子網(wǎng)掩碼決定了網(wǎng)絡(luò)ID之后又多少位是作為子網(wǎng)ID的。子網(wǎng)ID的長度不是固定的,取決于子網(wǎng)掩碼的值。子網(wǎng)ID越長,留給主機(jī)ID的位數(shù)就越少。 2. 全0或全1的主機(jī)ID是不能分配的 3. 無類別域間路由——CIDR 1. CIDR技術(shù)使用一個名為CIDR前綴的值指定地址中作為網(wǎng)絡(luò)ID的位數(shù)。這個前綴有時也被稱為變長子網(wǎng)掩碼。 2. 這個前綴可以位于地址空間的任何位置,讓管理者能夠以更靈活的方式定義子網(wǎng),以簡便的形式指定地址網(wǎng)絡(luò)ID部分與主機(jī)ID部分。 3. CIDR標(biāo)記使用一個斜線/,后面跟一個十進(jìn)制數(shù)值來表示地址中網(wǎng)絡(luò)部分所占的位數(shù)。 4. 例如一個ISP被分配了一些C類網(wǎng)絡(luò),這個ISP準(zhǔn)備把這些C類網(wǎng)絡(luò)分配給各個用戶群,已經(jīng)分配了三個C類網(wǎng)段給用戶,如果沒有實施CIDR技術(shù).ISP的路由器的路由表中會有三條下連網(wǎng)段的路由條目,并且會把它通告給Internet上的路由器.通過實施CIDR技術(shù),我們可以在ISP的路由器上把這三個網(wǎng)段198.168.1.0,198.168.2.0,198.168.3.0匯聚成一條路由198.168.0.0/16.這樣ISP路由器只向Internet通告198.168.0.0/16這一條路由,大大減少了路由表的數(shù)目.從而為網(wǎng)絡(luò)路由器節(jié)省出了存儲空間。 值得注意的是,使用CIDR技術(shù)匯聚的網(wǎng)絡(luò)地址的比特位必須是一致的,如上例所示.如果上例所示的ISP連接了一個172.178.1.0網(wǎng)段,這些網(wǎng)段路由將無法匯聚,無法實現(xiàn)CIDR技術(shù). 5. CIDR建立于“超級組網(wǎng)”的基礎(chǔ)上,“超級組網(wǎng)”是“子網(wǎng)劃分”的派生詞,可看作子網(wǎng)劃分的逆過程。子網(wǎng)劃分時,從地址主機(jī)部分借位,將其合并進(jìn)網(wǎng)絡(luò)部分;而在超級組網(wǎng)中,則是將網(wǎng)絡(luò)部分的某些位合并進(jìn)主機(jī)部分。這種無類別超級組網(wǎng)技術(shù)通過將一組較小的無類別網(wǎng)絡(luò)匯聚為一個較大的單一路由表項,減少了Internet路由域中路由表條目的數(shù)量。 六、傳輸層 傳輸層簡介 1. 傳輸層需要提供如下功能: 2. 傳輸層為網(wǎng)絡(luò)應(yīng)用程序提供了一個接口。 3. 傳輸控制協(xié)議——TCP:TCP提供了完善的錯誤控制和流量控制,能夠確保數(shù)據(jù)正確傳輸,它是一個面向連接的協(xié)議。 4. 用戶數(shù)據(jù)報協(xié)議——UDP:UDP只提供了非?;镜腻e誤檢測,用于不需要TCP精細(xì)控制功能的場合,它是一個無連接的協(xié)議。 面向連接協(xié)議和無連接協(xié)議 1. 面向連接協(xié)議:會在通信計算機(jī)之間建立并維護(hù)一個連接,并且在通信過程中監(jiān)視連接狀態(tài)。通過網(wǎng)絡(luò)傳輸?shù)拿總€數(shù)據(jù)包都會有一個確認(rèn),發(fā)送端計算機(jī)會記錄狀態(tài)信息來確保每個數(shù)據(jù)包都被正確無誤的接收了,并且在需要時會重發(fā)數(shù)據(jù)。當(dāng)數(shù)據(jù)傳輸結(jié)束后,發(fā)送端和接收端計算機(jī)會以適當(dāng)方式關(guān)閉連接。 2. 無連接協(xié)議:以單向方式向目的發(fā)送數(shù)據(jù)報,不承擔(dān)通知目的計算機(jī)關(guān)于數(shù)據(jù)發(fā)送的職責(zé)。目的計算機(jī)接收到數(shù)據(jù)后也不需要向源計算機(jī)返回狀態(tài)信息。 端口和套接字 1. 在TCP/IP系統(tǒng)中,應(yīng)用程序可以使用端口號通過TCP或UDP指定數(shù)據(jù)目的地。端口是一個預(yù)定義的內(nèi)部地址,充當(dāng)從應(yīng)用程序到傳輸層或是從傳輸層到應(yīng)用程序的通路。 2. TCP或UDP數(shù)據(jù)實際是被發(fā)送到一個套接字上的。套接字是一個由IP地址和端口號組成的地址。 多路復(fù)用/多路分解 1. 多路復(fù)用是指把多個來源的數(shù)據(jù)導(dǎo)向一個輸出,而多路分解是把從一個來源接收的數(shù)據(jù)發(fā)送到多個輸出。多路傳輸/多路分解讓TCP/IP協(xié)議棧較低層的協(xié)議不比關(guān)心哪個程序在傳輸數(shù)據(jù)。與應(yīng)用程序相關(guān)的操作都由傳輸層完成了,數(shù)據(jù)通過一個與應(yīng)用程序無關(guān)的管道在傳輸層與網(wǎng)際層之間傳遞。 2. 多路復(fù)用是指兩個或多個用戶共享公用信道的一種機(jī)制。通過多路復(fù)用技術(shù),多個終端能共享一條高速信道,從而達(dá)到節(jié)省信道資源的目的,多路復(fù)用有頻分多路復(fù)用(FDMA),時分多路復(fù)用(TDMA),碼分多路復(fù)用(CDMA)幾種。 TCP:面向連接的傳輸協(xié)議 1. TCP重要特性: 2. TCP數(shù)據(jù)格式: 3. TCP連接:TCP通過連接發(fā)送和接收數(shù)據(jù),而這個連接必須根據(jù)TCP的規(guī)則進(jìn)行請求、打開和關(guān)閉。TCP的功能之一是為應(yīng)用程序提供訪問網(wǎng)絡(luò)的接口。這個接口是通過TCP端口提供的,而為了通過端口提供連接,必須打開TCP與應(yīng)用程序的接口。 被動打開——某個應(yīng)用程序進(jìn)程通知TCP準(zhǔn)備通過TCP端口接收連接,這樣就會打開TCP到應(yīng)用程序的連接,從而為參與連接請求做準(zhǔn)備。 主動打開——程序要求TCP發(fā)起與另一臺計算機(jī)的連接,這就是主動打開狀態(tài)。 4. 建立連接:三次握手總是發(fā)生在TCP連接建立的初期 。需要三次握手的原因——TCP的三次握手最主要是防止已過期的連接再次傳到被連接的主機(jī)。 5. TCP流量控制(滑動窗口方法):接收端計算機(jī)利用“窗口”字段(也被稱為“緩存大小”字段)來定義一個超過最后一個已確認(rèn)序列號的序列號“窗口”,在這個范圍內(nèi)的序列號才允許發(fā)送端計算機(jī)進(jìn)行發(fā)送。發(fā)送端計算機(jī)在沒有接收到下一個確認(rèn)消息之前不能發(fā)送超過這個窗口的序列號。 6. 關(guān)閉連接:計算機(jī)A發(fā)送一個數(shù)據(jù)分段,其中的FIN標(biāo)記設(shè)置為1。之后應(yīng)用程序進(jìn)入'fin-wait'狀態(tài)。在這個狀態(tài)下,計算機(jī)的TCP軟件繼續(xù)接受數(shù)據(jù)分段,并處理已經(jīng)在序列中的數(shù)據(jù)分段,但不再從應(yīng)用程序接收數(shù)據(jù)了。當(dāng)計算機(jī)B接收到FIN數(shù)據(jù)分段時,它返回FIN確認(rèn)信息,然后發(fā)送剩余的數(shù)據(jù)分段,通知本地應(yīng)用程序接收到了FIN消息。計算機(jī)B向計算機(jī)A發(fā)送一個FIN數(shù)據(jù)分段,計算機(jī)A返回確認(rèn)信息,連接就被關(guān)閉了。 7. TCP如何保證可靠性:TCP的可靠性是通過順序編號和確認(rèn)(ACK)來實現(xiàn)的。TCP在開始傳送一個段時,為準(zhǔn)備重傳而首先將該段插入到發(fā)送隊列之中,同時啟動時鐘。其后,如果收到了接受端對該段的ACK信息,就將該段從隊列中刪去。如果在時鐘規(guī)定的時間內(nèi),ACK未返回,那么就從發(fā)送隊列中再次送出這個段。TCP在協(xié)議中就對數(shù)據(jù)可靠傳輸做了保障,握手與斷開都需要通訊雙方確認(rèn),數(shù)據(jù)傳輸也需要雙方確認(rèn)成功,在協(xié)議中還規(guī)定了:分包、重組、重傳等規(guī)則;而UDP主要是面向不可靠連接的,不能保證數(shù)據(jù)正確到達(dá)目的地。 UDP:無連接傳輸協(xié)議 1. UDP實際上能夠執(zhí)行基本的錯誤檢驗,因此,可以說UDP具有有限的錯誤檢驗功能。UDP數(shù)據(jù)報中包含一個校驗和,接收端計算機(jī)可以利用它來檢驗數(shù)據(jù)的完整性。 2. UDP的開銷沒有TCP大。 3. UDP不會重新傳輸丟失或損壞的數(shù)據(jù)報、重新排列混亂的接收數(shù)據(jù)、消除重復(fù)的數(shù)據(jù)報、確認(rèn)數(shù)據(jù)報的接收、建立或是終止連接。它主要是在程序不必使用TCP連接開銷的情況下發(fā)送和接收數(shù)據(jù)報的一種方式。 七、應(yīng)用層 TCP/IP應(yīng)用層與OSI 1. TCP/IP應(yīng)用層對應(yīng)于OSI模型的應(yīng)用層、表示層和會話層。 2. 應(yīng)用層:OSI的應(yīng)用層包含的組件為用戶應(yīng)用程序提供服務(wù)并支持網(wǎng)絡(luò)訪問。 3. 表示層:表示層把數(shù)據(jù)轉(zhuǎn)化為平臺無關(guān)的格式,并處理加密和數(shù)據(jù)壓縮。 4. 會話層:負(fù)責(zé)管理聯(lián)網(wǎng)計算機(jī)上應(yīng)用程序之間的通信,提供了一些傳輸層不具備、與連接相關(guān)的功能,比如名稱識別和安全。 應(yīng)用層的部分協(xié)議 API和應(yīng)用層:應(yīng)用編程接口(API)是預(yù)定義的編程組件的集合,應(yīng)用程序可以利用它訪問操作環(huán)境的其他部分,也就是與操作系統(tǒng)進(jìn)行通信。網(wǎng)絡(luò)協(xié)議棧就是API概念的典型應(yīng)用,網(wǎng)絡(luò)API提供了程序與協(xié)議棧的接口,應(yīng)用程序利用API的函數(shù)打開和關(guān)閉連接、從網(wǎng)絡(luò)讀取和寫入數(shù)據(jù)。 八、路由選擇 路由器的概念 1. 路由器是負(fù)責(zé)根據(jù)邏輯地址對通信流量進(jìn)行過濾的設(shè)備。經(jīng)典的網(wǎng)絡(luò)路由器工作于網(wǎng)際層,使用網(wǎng)際層報頭中的IP尋址信息。 2. 向Internet這樣的大型網(wǎng)絡(luò)具有很多路由器,提供了從源到目的節(jié)點的多條路徑。這些路由器必須獨立工作,但整個系統(tǒng)必須保證數(shù)據(jù)能夠準(zhǔn)確高效地在網(wǎng)絡(luò)中傳輸。 3. 當(dāng)路由器將數(shù)據(jù)從一個網(wǎng)絡(luò)傳輸?shù)较乱粋€網(wǎng)絡(luò)時,它會替換網(wǎng)絡(luò)訪問層報頭信息,因此路由器可以連接不同類型的網(wǎng)絡(luò)。很多路由器還維護(hù)關(guān)于最佳路徑的詳細(xì)信息,這是根據(jù)距離、帶寬和時間綜合考慮的。 4. 早期的路由器實際上就是具有兩塊或多塊網(wǎng)絡(luò)適配器的計算機(jī)(也被稱為多宿主計算機(jī))。 路由選擇過程 1. 路由器全面功能: 2. 路由表和建立路由表的協(xié)議是路由器具有的兩個顯著特性。對于路由器的大多數(shù)討論都是關(guān)于建立路由表、匯集路由表的路由協(xié)議如何讓所有的路由器像一個整體一樣提供服務(wù)。 3. 靜態(tài)路由:要求網(wǎng)絡(luò)管理員手工輸入路由信息。 4. 動態(tài)路由:根據(jù)使用路由協(xié)議獲得的路由信息來動態(tài)建立路由表。 路由表的概念 1. 路由表和忘記曾其他路由元素的用途在于把數(shù)據(jù)傳遞到正確的本地網(wǎng)絡(luò)。當(dāng)數(shù)據(jù)到達(dá)本地網(wǎng)絡(luò)之后,網(wǎng)絡(luò)訪問協(xié)議就會知道它的目的地。因此,路由表不需要存儲完整的IP地址,只需要列出網(wǎng)絡(luò)ID即可。 2. IP轉(zhuǎn)發(fā) 1. 主機(jī)的路由表比路由器簡單得多,它可能只包含兩行:一個條目用于本地網(wǎng)絡(luò),另一個用于默認(rèn)路由(用于處理不能在本地網(wǎng)段上傳輸?shù)臄?shù)據(jù)包)。 2. IP轉(zhuǎn)發(fā)過程實際上不會再IP報頭中寫入路由器的地址,而是由主機(jī)把數(shù)據(jù)報和路由器的IP地址向下傳遞到網(wǎng)絡(luò)訪問層,該層的協(xié)議軟件會使用一個獨立的查詢過程把數(shù)據(jù)包封裝到一個幀中,通過本地網(wǎng)段傳遞給路由器。換句話說,被轉(zhuǎn)發(fā)的數(shù)據(jù)報里的IP地址指向最終要接收數(shù)據(jù)的主機(jī) ,而轉(zhuǎn)發(fā)數(shù)據(jù)報的幀中的物理地址指向路由器上本地適配器的地址。 3. 直接路由和間接路由 1. 2. 路由器了解間接路由的方式有兩種:從系統(tǒng)管理員和從其他路由器。這兩種方式分別對應(yīng)靜態(tài)路由和動態(tài)路由。 3. 大多數(shù)現(xiàn)代路由器使用了某種形式的動態(tài)路由。路由器彼此之間的相互通信,共享關(guān)于網(wǎng)段和網(wǎng)絡(luò)路徑的信息,每臺路由器都根據(jù)從這種通信過程中得到的信息建立自己的路由表。 動態(tài)路由算法——距離矢量路由 1. 距離矢量路由是一種高效、簡單的路由方法,被很多路由協(xié)議所采用。其設(shè)計目標(biāo)是讓路由器之間所需的通信最少,讓路由表中必須保存的數(shù)據(jù)最少。這種設(shè)計理念認(rèn)為路由器不必知道通向每個網(wǎng)段的完整路徑,而是只需知道向哪個方向發(fā)送數(shù)據(jù)報即可。 2. 網(wǎng)段之間的距離以數(shù)據(jù)報在兩個網(wǎng)絡(luò)之間傳輸必須經(jīng)過的路由器的數(shù)量來表示,而使用距離矢量路由的路由器優(yōu)化路徑的方式是讓數(shù)據(jù)報必須經(jīng)過的路由器達(dá)到最少。這個距離參數(shù)成為“跳數(shù)”。 3. 距離矢量路由的工作方式: 動態(tài)路由算法——鏈路狀態(tài)路由:連接狀態(tài)路由背后的理念在于每個路由器都嘗試建立關(guān)于網(wǎng)絡(luò)拓?fù)涞膬?nèi)部映射。每臺路由器定期向網(wǎng)絡(luò)發(fā)送狀態(tài)信息,其中列出了自己直連的其他路由器以及鏈路的狀態(tài)。路由器利用從其他路由器收到的狀態(tài)消息建立網(wǎng)絡(luò)拓?fù)涞挠成洌?dāng)它需要轉(zhuǎn)發(fā)數(shù)據(jù)報時,會根據(jù)現(xiàn)有條件選擇最佳路徑。 復(fù)雜網(wǎng)絡(luò)上的路由 1. 對于internet上的路由器來說,并不是每臺路由器都需要知道其他所有路由器的信息。在網(wǎng)絡(luò)有效組織的情況下,大多數(shù)路由器只需要與相鄰路由器交互協(xié)議信息即可。 2. 在孕育了internet的ARPnet系統(tǒng)中,一組核心路由器作為網(wǎng)絡(luò)互聯(lián)的中央骨干網(wǎng),把自動配置和管理的獨立網(wǎng)絡(luò)連接在一起。核心路由器了解每個網(wǎng)絡(luò),但不必知道每個子網(wǎng)。只要數(shù)據(jù)報能夠找到到達(dá)核心路由的路徑,就能夠到達(dá)整個網(wǎng)絡(luò)的任何位置。附屬網(wǎng)絡(luò)中的路由器不必了解世界上的全部網(wǎng)絡(luò),只需要知道如何在相鄰路由器之間如何傳輸數(shù)據(jù)和如何到達(dá)核心路由器即可。 3. 路由選擇協(xié)議 1. 因特網(wǎng)有兩大類路由選擇協(xié)議:內(nèi)部網(wǎng)關(guān)協(xié)議IGP(InteriorGateway Protocol)即在一個自治系統(tǒng)內(nèi)部使用的路由選擇協(xié)議。目前這類路由選擇協(xié)議使用得最多,如RIP和OSPF協(xié)議。外部網(wǎng)關(guān)協(xié)議EGP(ExternalGateway Protocol)若源站和目的站處在不同的自治系統(tǒng)中,當(dāng)數(shù)據(jù)報傳到一個自治系統(tǒng)的邊界時,就需要使用一種協(xié)議將路由選擇信息傳遞到另一個自治系統(tǒng)中。這樣的協(xié)議就是外部網(wǎng)關(guān)協(xié)議EGP。在外部網(wǎng)關(guān)協(xié)議中目前使用最多的是BGP-4。 2. 路由信息協(xié)議RIP是內(nèi)部網(wǎng)關(guān)協(xié)議IGP中最先得到廣泛使用的協(xié)議。RIP是一種分布式的基于距離向量的路由選擇協(xié)議。RIP協(xié)議要求網(wǎng)絡(luò)中的每一個路由器都要維護(hù)從它自己到其他每一個目的網(wǎng)絡(luò)的距離記錄。距離的解釋:從一路由器到直接連接的網(wǎng)絡(luò)的距離定義為1。從一個路由器到非直接連接的網(wǎng)絡(luò)的距離定義為所經(jīng)過的路由器數(shù)加1。RIP協(xié)議中的“距離”也稱為“跳數(shù)”(hop count),因為每經(jīng)過一個路由器,跳數(shù)就加1。這里的“距離”實際上指的是“最短距離”。RIP認(rèn)為一個好的路由就是它通過的路由器的數(shù)目少,即“距離短”。RIP允許一條路徑最多只能包含15個路由器?!熬嚯x”的最大值為16時即相當(dāng)于不可達(dá)??梢奟IP只適用于小型互聯(lián)網(wǎng)。RIP不能在兩個網(wǎng)絡(luò)之間同時使用多條路由。RIP選擇一個具有最少路由器的路由(即最短路由)哪怕還存在另一條高速(低時延)但路由器較多的路由。 3. “開放”表明OSPF協(xié)議不是受某一家廠商控制,而是公開發(fā)表的。“最短路徑優(yōu)先”是因為使用了Dijkstra提出的最短路徑算法SPF。OSPF只是一個協(xié)議的名字,它并不表示其他的路由選擇協(xié)議不是“最短路徑優(yōu)先”。是分布式的鏈路狀態(tài)協(xié)議。 4. BGP是不同自治系統(tǒng)的路由器之間交換路由信息的協(xié)議。邊界網(wǎng)關(guān)協(xié)議BGP只能是力求尋找一條能夠到達(dá)目的網(wǎng)絡(luò)且比較好的路由(不能兜圈子),而并非要尋找一條最佳路由。 九、連網(wǎng) 撥號連接 1. 連接TCP/IP網(wǎng)絡(luò)的一種最常用的方式是通過電話線,而近幾年,向電纜調(diào)制解調(diào)器和DSL這樣的寬帶技術(shù)降低了撥號連接的重要性。調(diào)制解調(diào)器(modem)通過電話線提供網(wǎng)絡(luò)訪問,它的作用在于把來自計算機(jī)的數(shù)字傳輸轉(zhuǎn)化為能夠通過電話系統(tǒng)的端口進(jìn)行傳輸?shù)哪M信號,也把來自電話線的模擬信號轉(zhuǎn)化為計算機(jī)能夠理解的數(shù)字信號。 2. 電話線兩段的計算機(jī)不需要與其他計算機(jī)爭用傳輸介質(zhì),他們只需要在彼此之間共享介質(zhì)就可以了。這種連接方式被稱為點到點連接。 3. 調(diào)制解調(diào)器協(xié)議:串行線路網(wǎng)際協(xié)議(SLIP)——基于TCP/IP的早期調(diào)制解調(diào)器協(xié)議,相對簡單,有很多局限性。點到點協(xié)議(PPP)——最初當(dāng)前用于調(diào)制解調(diào)器連接的最流行協(xié)議,是對SLIP的細(xì)化,具有SLIP所不具備的很多重要特性。 電纜寬帶:電纜調(diào)制解調(diào)器直接連接到一條同軸電纜,后者被連接到有線電視服務(wù)網(wǎng)絡(luò)上。這個調(diào)制解調(diào)器通常具有一個以太網(wǎng)接口,可以連接到單臺計算機(jī)或小型局域網(wǎng)中的交換機(jī)或路由器。電纜調(diào)制解調(diào)器實現(xiàn)數(shù)字信號與模擬信號的轉(zhuǎn)換,從而讓數(shù)據(jù)能夠通過電纜連接高效傳輸。 連接設(shè)備 1. 網(wǎng)橋:根據(jù)物理地址過濾和轉(zhuǎn)發(fā)數(shù)據(jù)包的連接設(shè)備,它工作與OSI模型的數(shù)據(jù)鏈路層。網(wǎng)橋監(jiān)聽它所連接的每個網(wǎng)段,建立一個表來反應(yīng)物理地址位于哪個網(wǎng)段。當(dāng)數(shù)據(jù)在一個網(wǎng)段上傳輸時,網(wǎng)橋會查看數(shù)據(jù)的目的地址,與路由表進(jìn)行比較。如果目的地址屬于發(fā)送數(shù)據(jù)的網(wǎng)段,網(wǎng)橋就忽略這個數(shù)據(jù)。如果目的地址在不同的網(wǎng)段,網(wǎng)橋就把數(shù)據(jù)轉(zhuǎn)發(fā)到適當(dāng)?shù)木W(wǎng)段。如果目的地址不在路由表,網(wǎng)橋就會把數(shù)據(jù)轉(zhuǎn)發(fā)到除源網(wǎng)段之外的全部網(wǎng)段。 2. HUB(集線器):作為一個物理設(shè)備從一個端口接收數(shù)據(jù),然后把數(shù)據(jù)重復(fù)到其余全部的端口。換句話說,全部計算機(jī)就好像是被一條連續(xù)線路連接在一起的。HUB不會過濾或路由任何數(shù)據(jù),知識接收和重新發(fā)送信息。 3. 交換機(jī):每臺計算機(jī)也是通過一條線路連接到交換機(jī)。但是,交換機(jī)知道應(yīng)該把接收到的數(shù)據(jù)發(fā)送到哪一個端口。大多數(shù)交換機(jī)把端口與所連接設(shè)備的物理地址關(guān)聯(lián)起來。當(dāng)一個端口所連接的計算機(jī)發(fā)送數(shù)據(jù)幀時,交換機(jī)會查看幀的目的地址,把幀發(fā)送到目的地址相關(guān)聯(lián)的端口。 十、名稱解析 使用主機(jī)文件進(jìn)行名稱解析 1. 主機(jī)文件是一個保存有一個主機(jī)名、相關(guān)IP地址列表的文件。主機(jī)名解析實在更復(fù)雜的DNS名稱解析之前被開發(fā)出來的。 2. 在小型網(wǎng)絡(luò)上配置主機(jī)名解析通常很簡單。支持TCP/IP的操作系統(tǒng)都能識別主機(jī)文件,并可以將它用于名稱解析,而且期間幾乎不需要用戶干預(yù)。 3. 配置名稱解析的大致步驟如下:為每臺計算機(jī)分配IP地址和主機(jī)名;創(chuàng)建映射了IP地址和所有計算機(jī)主機(jī)名的主機(jī)文件。這些文件的名稱一般是hosts;將主機(jī)文件放置每臺計算機(jī)的指定位置上。對于具體位置每種操作系統(tǒng)都有自己的規(guī)定。 DNS名稱解析 1. DNS會將名稱解析數(shù)據(jù)防止在一個或多個專用服務(wù)器上,由DNS服務(wù)器為網(wǎng)絡(luò)提供名稱解析服務(wù)。如果網(wǎng)絡(luò)上計算機(jī)需要將某個主機(jī)名解析成IP地址,會向服務(wù)器發(fā)送一個查詢,詢問與這個地址關(guān)聯(lián)的主機(jī)名。如果DNS服務(wù)器保存了相應(yīng)的地址,就將這個地址返回給發(fā)出請求的計算機(jī)。接下來,這臺計算機(jī)會用IP地址來替代主機(jī)名,進(jìn)而再執(zhí)行命令。 2. DNS服務(wù)器又多個有點,它為本地網(wǎng)絡(luò)提供了一個單一的DNS配置點,使得網(wǎng)絡(luò)資源的利用更加有效。然而,DNS無法高效地保存Internet上所有主機(jī)名的數(shù)據(jù)庫。解決辦法是,使所有名稱服務(wù)器都可以彼此通信。 3. 如果DNS在自己保存的地址數(shù)據(jù)庫中發(fā)現(xiàn)了被請求的地址,則將這個地址發(fā)回給客戶端。如果名稱服務(wù)器在自己保存的記錄中沒有找到這個地址,會要求其他的名稱服務(wù)器查找這個地址,接著將這個地址發(fā)回給客戶端。 4. 工作原理:當(dāng)DNS客戶機(jī)需要在程序中使用名稱時,它會查詢DNS服務(wù)器來解析該名稱??蛻魴C(jī)發(fā)送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別?;赨DP服務(wù),端口53. 該應(yīng)用一般不直接為用戶使用,而是為其他應(yīng)用服務(wù),如HTTP,SMTP等在其中需要完成主機(jī)名到IP地址的轉(zhuǎn)換。 瀏覽器輸入網(wǎng)址之后的過程 1. 應(yīng)用層:客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務(wù)器的路徑??蛻舳藶g覽器發(fā)起一個HTTP會話到220.161.27.48,然后通過TCP進(jìn)行封裝數(shù)據(jù)包,輸入到網(wǎng)絡(luò)層。 2. 傳輸層:在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口,如服務(wù)器使用80端口監(jiān)聽客戶端的請求,客戶端由系統(tǒng)隨機(jī)選擇一個端口如5000,與服務(wù)器進(jìn)行交換,服務(wù)器把相應(yīng)的請求返回給客戶端的5000端口。然后使用IP層的IP地址查找目的端。 3. 客戶端的網(wǎng)絡(luò)層不用關(guān)心應(yīng)用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達(dá)服務(wù)器,期間可能經(jīng)過多個路由器,這些都是由路由器來完成的工作,通過查找路由表決定通過那個路徑到達(dá)服務(wù)器,其中用到路由選擇協(xié)議。 4. 客戶端的鏈路層,包通過鏈路層發(fā)送到路由器,通過鄰居協(xié)議查找給定IP地址的MAC地址,然后發(fā)送ARP請求查找目的地址,如果得到回應(yīng)后就可以使用ARP的請求應(yīng)答交換的IP數(shù)據(jù)包現(xiàn)在就可以傳輸了,然后發(fā)送IP數(shù)據(jù)包到達(dá)服務(wù)器的地址。不管網(wǎng)絡(luò)層使用的是什么協(xié)議,在實際網(wǎng)絡(luò)的鏈路上傳送數(shù)據(jù)幀時,最終還是必須使用硬件地址。每一個主機(jī)都設(shè)有一個 ARP 高速緩存(ARP cache),里面有所在的局域網(wǎng)上的各主機(jī)和路由器的 IP 地址到硬件地址的映射表。當(dāng)主機(jī) A 欲向本局域網(wǎng)上的某個主機(jī) B 發(fā)送 IP 數(shù)據(jù)報時,就先在其 ARP 高速緩存中查看有無主機(jī) B 的 IP 地址。如有,就可查出其對應(yīng)的硬件地址,再將此硬件地址寫入 MAC 幀,然后通過局域網(wǎng)將該 MAC 幀發(fā)往此硬件地址。 十一、TCP/IP安全 防火墻 1. 防火墻就是一個放置在網(wǎng)絡(luò)路徑上的設(shè)備,它可以檢查、接受或拒絕打算進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)包。防火墻和傳統(tǒng)的路由器最重要的區(qū)別是傳統(tǒng)路由器會盡可能轉(zhuǎn)發(fā)數(shù)據(jù)包,而防火墻則只轉(zhuǎn)發(fā)自己認(rèn)可的數(shù)據(jù)包。對數(shù)據(jù)包的轉(zhuǎn)發(fā)決定不再是僅基于地址,而是基于網(wǎng)絡(luò)所有者配置的一組規(guī)則,這些規(guī)則可以確定哪些流量類型能被網(wǎng)絡(luò)所允許。 2. 防火墻可以阻止任何或者所有的外界流量進(jìn)入網(wǎng)絡(luò),但是它并不干涉內(nèi)部網(wǎng)絡(luò)中的通信。 3. 當(dāng)代的防火墻通常是包過技術(shù)、狀態(tài)查看和應(yīng)用層過濾技術(shù)的組合。一些防火墻還可以作為DHCP服務(wù)器和網(wǎng)絡(luò)地址轉(zhuǎn)換工具。防火墻可以是硬件也可以是軟件,既可以簡單又可以復(fù)雜。 4. 最早的防火墻是數(shù)據(jù)包過濾器。它通過檢查數(shù)據(jù)包來找出該數(shù)據(jù)包的企圖。許多包過濾防火墻會查看封裝在傳輸層報頭中的TCP和UDP端口號,可以確定數(shù)據(jù)包的企圖。 5. 防火墻進(jìn)化過程中,出現(xiàn)了有狀態(tài)防火墻設(shè)備。有狀態(tài)防火墻不僅僅是單獨檢查每一個數(shù)據(jù)包,還會檢查數(shù)據(jù)包包含在哪個通信會話序列中。這種狀態(tài)敏感性有助于有狀態(tài)防火墻監(jiān)視諸如無效數(shù)據(jù)包、會話劫持企圖,以及某些拒絕服務(wù)攻擊這樣的攻擊手段。 6. 應(yīng)用層防火墻是最新一代防火墻。這種防火墻是在TCP/IP應(yīng)用層工作的,在這里可以更全面地理解與協(xié)議和服務(wù)相關(guān)聯(lián)的數(shù)據(jù)包。 代理服務(wù) 1. 所有用來保護(hù)和簡化內(nèi)部網(wǎng)絡(luò),將潛在的不安全I(xiàn)nternet活動限制在邊界之外的技術(shù)中,防火墻是核心技術(shù)。另一種相關(guān)的技術(shù)是代理服務(wù)。 2. 代理服務(wù)器可以截獲對Internet資源的請求,并替代客戶端轉(zhuǎn)發(fā)這些請求,它在客戶端和請求的目的服務(wù)器之間扮演了一個中介的角色。 3. 通過代理客戶端發(fā)送和接受Internet請求,代理服務(wù)器可以使客戶端免于直接與惡意網(wǎng)站聯(lián)系。一些代理還可以執(zhí)行內(nèi)容過濾,查看信息是否來自黑名單上的服務(wù)器,或者內(nèi)容是否帶有潛在的危險。代理客戶端還常被用來限制內(nèi)部網(wǎng)絡(luò)客戶端的瀏覽范圍。 保護(hù)TCP/IP:http://kb.cnblogs.com/page/162080/ http://www./post/114121/ 1. 安全套接字(SSL)是為了保護(hù)WEB通信而引入的一個TCP/IP安全協(xié)議集。SSL的目的是,在傳輸層上的套接字和提供那些套接字訪問網(wǎng)絡(luò)的應(yīng)用程序之間提供一層安全。 2. SSL包含有兩個子層。SSL記錄協(xié)議是訪問TCP的一個標(biāo)準(zhǔn)庫。在這個記錄協(xié)議紙上,是一組執(zhí)行特定服務(wù)的SSL相關(guān)協(xié)議。 3. 支持SSL的服務(wù)直接通過SSL記錄協(xié)議運(yùn)行。在連接建立之后,SSL記錄協(xié)議提供確保會話機(jī)密性和完整性所需的加密和驗證。 4. 如同其他協(xié)議安全技術(shù)一樣,這里的技巧是要檢驗參與者的身份和安全地交換將用來加解密數(shù)據(jù)傳輸?shù)拿荑€。SSL采用公開密鑰加密,并提供對數(shù)字這個數(shù)的支持。 5. 在SSL中會使用密鑰交換算法交換密鑰;使用密鑰對數(shù)據(jù)進(jìn)行加密;使用散列算法對數(shù)據(jù)的完整性進(jìn)行驗證,使用數(shù)字證書證明自己的身份。 6. 握手協(xié)議:握手協(xié)議是客戶機(jī)和服務(wù)器用SSL連接通信時使用的第一個子協(xié)議,握手協(xié)議包括客戶機(jī)與服務(wù)器之間的一系列消息。SSL中最復(fù)雜的協(xié)議就是握手協(xié)議。該協(xié)議允許服務(wù)器和客戶機(jī)相互驗證,協(xié)商加密和MAC算法以及保密密鑰,用來保護(hù)在SSL記錄中發(fā)送的數(shù)據(jù)。握手協(xié)議是在應(yīng)用程序的數(shù)據(jù)傳輸之前使用的。 7. 記錄協(xié)議:記錄協(xié)議在客戶機(jī)和服務(wù)器握手成功后使用,即客戶機(jī)和服務(wù)器鑒別對方和確定安全信息交換使用的算法后,進(jìn)入SSL記錄協(xié)議,記錄協(xié)議向SSL連接提供兩個服務(wù)—— 8. 警報協(xié)議:客戶機(jī)和服務(wù)器發(fā)現(xiàn)錯誤時,向?qū)Ψ桨l(fā)送一個警報消息。如果是致命錯誤,則算法立即關(guān)閉SSL連接,雙方還會先刪除相關(guān)的會話號,秘密和密鑰。每個警報消息共2個字節(jié),第1個字節(jié)表示錯誤類型,如果是警報,則值為1,如果是致命錯誤,則值為2;第2個字節(jié)制定實際錯誤類型。 十二、配置 服務(wù)器提供IP地址的情況 1. 每一臺計算機(jī)都已經(jīng)預(yù)先配置了一個IP地址。這種情況被稱為靜態(tài)IP地址。每一臺計算機(jī)在啟動時就知道自己的IP地址,并且能夠立刻使用網(wǎng)絡(luò)。靜態(tài)IP尋址在小型網(wǎng)絡(luò)中表現(xiàn)得很好,但是由于大型網(wǎng)絡(luò)上經(jīng)常會出現(xiàn)重新配置和更改的情況,因此靜態(tài)IP尋址也受到很多限制。 2. 靜態(tài)IP地址的缺點: DHCP 1. DHCP是一個用來向計算機(jī)分配TCP/IP配置參數(shù)的協(xié)議。DHCP服務(wù)器可以為DHCP客戶端提供一組TCP/IP設(shè)置,比如IP地址、子網(wǎng)掩碼和DNS服務(wù)器地址。 2. DHCP是用來分配IP地址的,所以必須使用靜態(tài)IP地址信息來配置DHCP服務(wù)器。需要在客戶端進(jìn)行配置的唯一一個網(wǎng)絡(luò)參數(shù)是將客戶端設(shè)置為從DHCP服務(wù)器接收IP地址信息。 3. 當(dāng)DHCP客戶端計算機(jī)啟動時,TCP/IP軟件將被載入到內(nèi)存中并開始執(zhí)行相應(yīng)的操作。然而,因為這是TCP/IP棧還沒有IP地址,所以無法直接發(fā)送或接收數(shù)據(jù)包。計算機(jī)只能發(fā)送和監(jiān)聽廣播數(shù)據(jù)。這種通過廣播進(jìn)行通信的功能正是DHCP進(jìn)行工作的基礎(chǔ)。從DHCP服務(wù)器中租用IP地址的過程需要4個步驟:
著作權(quán)歸作者所有 |
|