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