學東西不能把以前的忘了,網絡部分大致記錄一些內容。算法
導航
• 通訊協議
TCP/IP IPX/SPX OSI
• ISO/OSI七層模型及各層功能
• TCP/IP四層模型及各層中包含的協議
• IP、UDP、TCP首部格式及相應封裝字段含義
• IP地址、IP子網掩碼及子網劃分
• 交換技術及交換機
1) 交換機工做原理
2) VLAN及STP
• 路由技術及路由器
1) 路由表工做原理
2) NAT及NAT表安全
1、 ISO/OSI七層模型及各層功能
ISO:International Standard Organization
ISO/OSI(Open System Internetowrk)網絡
根據網絡功能劃分層次
OSI七層
物理層:二進制比特流傳輸,定義了電氣規範,機械規範,功能規範,過程規範
數據鏈路層:介質訪問,點到點鏈接,格式化數據;物理尋址:用物理地址標識數據的發送者和接收者;錯誤檢測:CRC算法。定義了物理地址:以太網:以太網地址,MAC地址,MAC(Media Access Control) 物理地址是直接燒錄在網絡接口設備的ROM芯片中;
網絡層:路由選擇,邏輯尋址:用邏輯地址標識數據的發送者和接收者;肯定路由:根據邏輯地址標識肯定數據傳輸路徑;地址解析:用邏輯地址解析物理地址;定義邏輯地址:IP地址:互聯網地址,IPv四、IPv6邏輯地址用於標識主機在網絡中的位置;物理地址用於進行數據通訊;
傳輸層:端到端的鏈接,範圍到範圍的通訊鏈接;端到端鏈接的創建,維護和拆除;可靠性傳輸和非可靠性傳輸;可靠性傳輸:面向鏈接、流量控制、數據重傳和確認、序列化數據;非可靠傳輸:、面向無鏈接、無序列化數據、無數據重傳和確認、無流量控制、數據快速傳輸
會話層:主機到主機之間的會話通訊,機之間的會話創建的主體是應用程序進程;
表示層:數據表示,數據編碼和解碼;數據加密和解密;數據壓縮和解壓縮;
應用層:爲應用程序提供網絡鏈接服務;完成身份驗證;併發
OSI的應用:數據的封裝和解封裝,發送數據一方實施數據封裝;接收數據一方實施數據解封裝;保證封裝和解封裝可以順利進行的標準:對等通訊原則:發送方和接收方雙方的相同層次,必須擁有徹底相同的數據處理方式; 負載均衡
2、 TCP/IP四層模型及各層中包含的協議
協議棧,協議標準;TCP/IP協議棧是根據協議來分層;分層標準模糊;網絡的實際應用標準;網絡實現的事實標準;
TCP/IP四層
物理層/數據鏈路層:X.25, TIA/EIA 568A/B, ...:ppp, pppoE, HDLC, SLIP, Frame_Relay(FR), ...
互聯網層:IP, IGMP, ICMP, ARP, RARP
傳輸層:TCP, UDP, OSPF, EIGRP, ...
應用層:HTTP, HTTPS, FTP, DNS, DHCP, SMB, QQ, Thrunder, ...分佈式
3、 IP、UDP、TCP首部格式及相應封裝字段含義
IP數據報文
Ver:4bits,IP協議的版本號:0100 ide
IHL:4bits,Header Length,首部長度;0101 - 1111(20Bytes-60Bytes)大數據
TOS and PRIORITY:8bits,有3位優先權字段已經棄用,還有4位TOS字段和1位保留字段(這個保留字段必須置爲0)。4位TOS字段分別表明最小延時、最大吞吐量、最高可靠性、最低成本。這四者相互衝突,只能選擇一個。
0000:最大帶寬,最小延遲,最高可行性,最高負載;
000, 1000, 0100, 0010, 0001
0:保留位;000:優先級,000-111;優化
Packet Length:16bits;表示IP數據報的總長度(包括數據部分)ui
Indentifier:16bits,標識來源於哪個上層協議報文;
Flag:3bits,標誌雖然佔了三位,但目前只有兩位有意義
0:是否可分片;0:是否爲最後分片;0:保留
Offset:13bits,該字段表示,被分片的數據報,每個數據報片在原分組的相對位置。也就是說相對於用戶數據字段的起點該片從何處開始。片偏移以8個字節爲單位因此每一個分片的長度必定是8字節的整數倍
TTL:8bits,爲了防止數據包被路由時,由於缺乏目的地址而無限循環;數據包在通過任意的路由設備時,其TTL會減1,一旦TTL減到0,接收到此數據包的設備會將其丟棄;
Protocol:8bits,互聯網層和傳輸層的通訊接口,經過此處指明的協議號,互聯網層能夠在上層找到對應的協議來繼續處理該數據;
Header Checksum:16bits,首部校驗和,將整個首部作hash,獲得4位16進制數字;一般會在接收方主機上,對於接收到的數據包再次進行hash運算,將獲得的結果與此處保存的結果進行異或比較,以肯定首部內容是否在傳輸過程當中被修改;
源IP地址;
目的IP地址;
UDP數據報文
源端口號,佔16位。標識源主機的端口或進程,同TCP。
目的端口號,佔16位。標識要發送個目的主機的哪一個端口或進程
首部長度,佔16位。標識UDP整個數據報的長度(包括首部和數據)。最小值爲8(僅有首部)
檢驗和,佔16位。檢測UDP用戶數據報在傳輸中是否有錯,有錯就丟掉。檢測方式同TCP同樣,檢驗範圍也是包括首部和數據。
TCP數據報文
源端口號,16bits;
目標端口號,16bits;能夠手動指定,也能夠經過/etc/services文件判斷自動解析應用層協議得到;
序列號:TCP協議將大數據報文分段的順序編號,取值範圍是0~2^32-2;默認狀況下,第一個數據段的序列號爲隨機選擇,之後的數據段的序列號經過計算獲得:第一段:隨機產生;後續其餘數據段:前一數據段的序列號+前一數據段的數據部分大小+1
確認號(下一段的序列號):接收到的最後一個數據段的下一個數據段的序列號;取值範圍是1~2^32-1
報文首部長度,4bits,一般報文首部長度爲24Bytes~60Bytes;
標誌位:12bits,前三位:保留位;4-6位:特殊標誌位;URG:緊急指針標誌位,優先轉發標誌位;URG置一,後面的16bits的僅僅指針才能生效;ACK:確認標誌位;保證數據傳輸可靠性;PSH:推動標誌位;RST:重置標誌位;SYN:同步標誌位;三次握手創建鏈接時必選的標誌位;FIN:結束標誌位;四次揮手拆除鏈接時必選的標誌位;
窗口大小,16bits;一次併發傳輸的數據段的數量
數據段校驗和,16bits,保證數據的完整性;
緊急指針,16bits,在URG標誌位置一時,哪一個數據段更緊急;
選項:TCP協議分段的標準;TCP協議的數據分段時間戳;...
4、 IP地址、IP子網掩碼及子網劃分
IP
IP的功能:1.尋址和路由2.數據分片和重組3.無鏈接不可靠傳輸(無序傳輸)
IP尋址:分層編址的地址:網絡部分 + 主機部分
網絡部分:描述主機所在的邏輯網s範圍;
主機部分:描述在特定的邏輯網絡範圍內的具體位置;
IPv4地址:32bits二進制構成的地址標識符號;4個8位組;爲了方便人讀取,將其設置爲點分十進制格式;
IPv4地址分類:A.B.C.D.E
A類:最左側的二進制數字是"0",8個網絡位,24個主機位;1.0.0.0-126.255.255.255
B類:最左側的兩位二進制數字是"10",16個網絡位,16個主機位;128.0.0.0 - 191.255.255.255
C類:最左側的三位二進制數字是"110",24個網絡位,8個主機位;192.0.0.0 - 223.255.255.255
D類:最左側的四位二進制數字是"1110",32個網絡位,0個主機位;224.0.0.0 - 239.255.255.255
E類:最左側的四位二進制數字是"1111",32個網絡位,0個主機位;240.0.0.0 - 255.255.255.255
私有IP地址:
A:10.0.0.0 - 10.255.255.255
B:172.16.0.0 - 172.31.255.255
C:192.168.0.0 - 192.168.255.255
公有IP地址:
A:1.0.0.0 - 9.255.255.255 + 11.0.0.0 - 126.255.255.255
B:128.0.0.0 - 172.15.255.255 + 172.32.0.0 - 191.255.255.255
C:192.0.0.0 - 192.167.255.255 + 192.169.0.0 - 223.255.255.255
子網掩碼(Netmask)
組成:32bits二進制組成,與IPv4的地址位數相同;以點分十進制方式進行表示;
組成:32bits二進制組成,與IPv4的地址位數相同;以點分十進制方式進行表示;
A類地址的標準子網掩碼:255.0.0.0
B類地址的標準子網掩碼:255.255.0.0
C類地址的標準子網掩碼:255.255.255.0
子網劃分
將IPv4的地址與其相對應的子網掩碼作邏輯與運算,獲得的結果是:該IPv4地址所屬的網絡範圍的網絡地址;
網絡地址:主機位全都是"0"的IP地址;也被稱爲網絡名稱;也能夠稱爲邏輯網段;
定向廣播地址:主機位全都是"1"的IP地址;在特定的邏輯網段中可以被應用的廣播地址;
以上兩個地址,一般是不能分配給主機使用的;
在一個邏輯網段中,主機位全"0"和主機位全"1"的地址,必須排除在能夠地址範圍以外;
主機經過將自身的IP地址和目標主機的IP地址分別與本身的子網掩碼進行邏輯與運算,最終獲得的結果就是兩臺主機的邏輯網絡地址;而後將此二結果進行比較,若是相同,則表示此二主機在同一邏輯網絡範圍以內,所以能夠直接使用ARP協議獲取對方的MAC地址,從而實現通訊;若是不相同,則意味着此二主機在不一樣的邏輯網絡範圍之中,因而必須藉助於網關才能實現二主機的相同通訊;
網關:能夠理解爲一個邏輯網絡的門戶,或者是出入口;如今多使用路由器充當網關設備;一旦數據傳輸通過網關等路由設備,則其數據鏈路層的封裝格式會完全改變;即:從新封裝數據的源MAC地址及目的MAC地址;對於主機來講,在一次通訊的過程當中,須要使用配置在自身網絡設備接口上的子網掩碼判斷目標主機與自身IP地址是否在同一邏輯網段;對於路由器來講,須要利用路由表中路由條目上所攜帶的子網掩碼,來判斷目標主機所在的網絡地址,是否存在與本地路由表中,若是有,則按照路由表指示進行轉發;不然直接丟棄不予轉發;
5、 交換技術及交換機
交換技術:
二層交換技術能夠識別數據幀中的MAC地址信息,根據MAC地址進行轉發,並將這些MAC地址與對應的端口,記錄在本身內部的一個MAC地址表中。目前,第2層交換技術已經成熟。從硬件上看,第2層交換機的接口模塊都是經過高速背板/總線(速率可高達幾十Gbps)交換數據的,2層交換機通常都含有專門用於處理數據包轉發的ASIC(Application specific Integrated Circuit)芯片,所以轉發速度能夠作到很是快。
傳統的第2層交換技術:
2層交換機主要用在小型局域網中,機器數量在2、三十臺如下,這樣的網絡環境下,廣播包影響不大,2層交換機的快速交換功能、多個接入端口和低廉價格,爲小型網絡用戶提供了完善的解決方案。總之,交換式局域網技術使專用的帶寬爲用戶所獨享,極大地提升了局域網傳輸的效率。能夠說,在網絡系統集成的技術中,直接面向用戶的第2層交換技術,已獲得了使人滿意的答案。
具備路由功能的第3層交換技術
能夠處理網絡第3層數據轉發的交換技術就是第3層交換技術。
從硬件上看,在第3層交換機中,與路由器有關的第3層路由硬件模塊,也插接在高速背板/總線上。這種方式使得路由模塊能夠與須要路由的其它模塊間,高速交換數據,從而突破了傳統的外接路由器接口速率的限制。
3層交換機是爲IP設計的,接口類型簡單,擁有很強的3層包處理能力,價格又比相同速率的路由器低得多,很是適用於大規模局域網絡。
具備網絡服務功能的第7層交換技術
第7層交換技術經過應用層交換機實現了全部高層網絡的功能,使網絡管理者可以以更低的成本,更好地分配網絡資源;
從硬件上看,7層交換機將全部功能集中在一個專用的特殊應用集成電路或ASIC上。ASIC比傳統路由器的CPU便宜,並且一般分佈在網絡端口上,在單一設備中包括了50個ASIC,能夠支持數以百計的接口。新的ASIC容許智能交換機/路由器在全部的端口上以極快的速度轉發數據,第7層交換技術能夠有效地實現數據流優化和智能負載均衡。
交換機
交換機(Switch)意爲「開關」是一種用於電(光)信號轉發的網絡設備。它能夠爲接入交換機的任意兩個網絡節點提供獨享的電信號通路。最多見的交換機是以太網交換機。其餘常見的還有電話語音交換機、光纖交換機等。
交換機工做於OSI參考模型的第二層,即數據鏈路層。交換機內部的CPU會在每一個端口成功鏈接時,經過將MAC地址和端口對應,造成一張MAC表。在從此的通信中,發往該MAC地址的數據包將僅送往其對應的端口,而不是全部的端口。所以,交換機可用於劃分數據鏈路層廣播,即衝突域;但它不能劃分網絡層廣播,即廣播域。
交換機在同一時刻可進行多個端口對之間的數據傳輸。每一端口均可視爲獨立的物理網段(注:非IP網段),鏈接在其上的網絡設備獨自享有所有的帶寬,無須同其餘設備競爭使用。
交換機的傳輸模式有全雙工,半雙工,全雙工/半雙工自適應
交換機的全雙工是指交換機在發送數據的同時也可以接收數據,二者同步進行,這好像咱們平時打電話同樣,說話的同時也可以聽到對方的聲音。交換機都支持全雙工。全雙工的好處在於遲延小,速度快。
全雙工,就不能不提與之密切對應的另外一個概念,那就是「半雙工」,所謂半雙工就是指一個時間段內只有一個動做發生,舉個簡單例子,一條窄窄的馬路,同時只能有一輛車經過,當有兩輛車對開,這種狀況下就只能一輛先過,等到頭兒後另外一輛再開,這個例子就形象的說明了半雙工的原理。早期的對講機、以及早期集線器等設備都是實行半雙工的產品。隨着技術的不斷進步,半雙工會逐漸退出歷史舞臺。
從廣義上來看,網絡交換機分爲兩種:廣域網交換機和局域網交換機。
廣域網交換機主要應用於電信領域,提供通訊用的基礎平臺。而局域網交換機則應用於局域網絡,用於鏈接終端設備,如PC機及網絡打印機等。
從傳輸介質和傳輸速度上可分爲以太網交換機、快速以太網交換機、千兆以太網交換機、FDDI交換機、ATM交換機和令牌環交換機等。從規模應用上又可分爲企業級交換機、部門級交換機和工做組交換機等。
VLAN
VLAN(Virtual LAN),翻譯成中文是「虛擬局域網」。LAN能夠是由少數幾臺家用計算機構成的網絡,也能夠是數以百計的計算機構成的企業網絡。VLAN所指的LAN特指使用路由器分割的網絡——也就是廣播域。在IEEE802.1Internetworking委員會結束了對VLAN初期標準的修訂工做的時候。新出臺的標準進一步完善了VLAN的體系結構,統一了Frame-Tagging方式中不一樣廠商的標籤格式,並制定了VLAN標準在將來一段時間內的發展方向,造成的802.1Q的標準在業界得到了普遍的推廣。後來IEEE於1999年頒佈了用於標準化VLAN實現方案的802.1Q協議標準草案。802.1Q的出現打破了虛擬網依賴於單一廠商的僵局,從一個側面推進了VLAN的迅速發展。
經過劃分不一樣的VLAN,VLAN內的主機間能夠直接通訊,而VLAN間不能直接互通,從而將廣播報文限制在一個VLAN內。節省了帶寬,提升了網絡處理能力,強局域網的安全性等等。
STP
STP(Spanning Tree Protocol)是生成樹協議的英文縮寫。該協議可應用於在網絡中創建樹形拓撲,消除網絡中的環路,而且能夠經過必定的方法實現路徑冗餘,但不是必定能夠實現路徑冗餘。生成樹協議適合全部廠商的網絡設備,在配置上和體現功能強度上有所差異,可是在原理和應用效果是一致的。
STP的基本原理是,經過在交換機之間傳遞一種特殊的協議報文,網橋協議數據單元(Bridge Protocol Data Unit,簡稱BPDU),來肯定網絡的拓撲結構。BPDU有兩種,配置BPDU(Configuration BPDU)和TCN BPDU。前者是用於計算無環的生成樹的,後者則是用於在二層網絡拓撲發生變化時產生用來縮短MAC表項的刷新時間的。
Spanning Tree Protocol(STP)在IEEE802.1D文檔中定義。該協議的原理是按照樹的結構來構造網絡拓撲,消除網絡中的環路,避免因爲環路的存在而形成廣播風暴問題。
6、 路由技術及路由器
路由技術主要是指路由選擇算法、因特網的路由選擇協議的特色及分類。其中,路由選擇算法能夠分爲靜態路由選擇算法和動態路由選擇算法。因特網的路由選擇協議的特色是:屬於自適應的選擇協議(即動態的),是分佈式路由選擇協議;採用分層次的路由選擇協議,即分自治系統內部和自治系統外部路由選擇協議。因特網的路由選擇協議劃分爲兩大類:內部網關協議(IGP,具體的協議有RIP和OSPF等)和外部網關協議(EGP,目前使用最多的是BGP)
按照路由選擇算法可否隨網絡的拓撲結構或者通訊量自適應地進行調整變化進行分類,路由選擇算法能夠分爲靜態路由選擇算法和動態路由選擇算法。
靜態路由選擇算法就是非自適應路由選擇算法,這是一種不測量、不利用網絡狀態信息,僅僅按照某種固定規律進行決策得簡單得路由選擇算法。靜態路由選擇算法得特色是簡單和開銷小,可是不能適應網絡狀態的變化。靜態路由選擇算法主要包括擴散法和固定路由表法。靜態路由是依靠手工輸入的信息來配置路由表的方法。減少了路由器的平常開銷。在小型互聯網上很容易配置。能夠控制路由選擇的更新。可是,靜態路由在網絡變化頻繁出現的環境中並不會很好的工做。在大型的和常常變更的互聯網,配置靜態路由是不現實。
動態路由選擇算法就是自適應路由選擇算法,是依靠當前網絡的狀態信息進行決策,從而使路由選擇結果在必定程度上適應網絡拓撲結構和通訊量的變化。特色是能較好的適應網絡狀態的變化,可是實現起來較爲複雜,開銷也比較大。動態路由選擇算法通常採用路由表法,主要包括分佈式路由選擇算法和集中式路由選擇算法。分佈式路由選擇算法是每個節點經過按期得與相鄰節點交換路由選擇得狀態信息來修改各自的路由表,這樣使整個網絡的路由選擇常常處於一種動態變化的情況。集中式路由選擇算法是網絡中設置一個節點,專門收集各個節點按期發送得狀態信息,而後由該節點根據網絡狀態信息,動態的計算出每個節點的路由表,再將新的路由表發送給各個節點。
按協議分類路由協議能夠自動根據實際狀況生成的路由表的方法。動態路由的主要優勢是,若是存在到目的站點的多條路徑,運行了路由選擇協議(如RIP或IGRP)以後,而正在進行數據傳輸的一條路徑發生了中斷的狀況下,路由器能夠自動的選擇另一條路徑傳輸數據。這對於創建一個大型的網絡是一個優勢。大多數路由選擇協議可分紅兩種基本路由選擇協議:
路由器(Router),是鏈接因特網中各局域網、廣域網的設備,它會根據信道的狀況自動選擇和設定路由,以最佳路徑,按先後順序發送信號。 路由器是互聯網絡的樞紐,"交通警察"。目前路由器已經普遍應用於各行各業,各類不一樣檔次的產品已成爲實現各類骨幹網內部鏈接、骨幹網間互聯和骨幹網與互聯網互聯互通業務的主力軍。路由和交換機之間的主要區別就是交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。這一區別決定了路由和交換機在移動信息的過程當中需使用不一樣的控制信息,因此說二者實現各自功能的方式是不一樣的。
路由器(Router)又稱網關設備(Gateway)是用於鏈接多個邏輯上分開的網絡,所謂邏輯網絡是表明一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另外一個子網時,可經過路由器的路由功能來完成。所以,路由器具備判斷網絡地址和選擇IP路徑的功能,它能在多網絡互聯環境中,創建靈活的鏈接,可用徹底不一樣的數據分組和介質訪問方法鏈接各類子網,路由器只接受源站或其餘路由器的信息,屬網絡層的一種互聯設備。
路由表
路由器是一種典型的網絡層設備。它在兩個局域網之間按幀傳輸數據,在OSI/RM之中被稱之爲中介系統,完成網絡層責在兩個局域網的網絡層間按幀傳輸數據,轉發幀時須要改變幀中的地址。它在OSI/RM中的位置如圖所示。
路由表是在路由器中維護的路由條目的集合,路由表很具路由表作路徑選擇
直連網段:當在路由器上配置了接口的IP地址,而且接口狀態爲up的時候,路由表中就出現直連路由項,以下面圖所示:路由器A在接口FO/O和FO/1上分別配置了IP地址,而且在接口已是up狀態時,在路由器A的路由表中就會出現192.168.1.0和10.0.0.0這兩個網段
非直連網段:那麼對於20.0.0.0這樣不直連在路由器A上的網段,路由器A應該怎麼寫進路由表呢?這就須要使用靜態路由或動態路由來將這些網段以及如何轉發寫到路由表中,
NAT表
NAT(Network Address Translation,網絡地址轉換)是1994年提出的。當在專用網內部的一些主機原本已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但如今又想和因特網上的主機通訊(並不須要加密)時,可以使用NAT方法。
這種方法須要在專用網鏈接到因特網的路由器上安裝NAT軟件。裝有NAT軟件的路由器叫作NAT路由器,它至少有一個有效的外部全球IP地址。這樣,全部使用本地地址的主機在和外界通訊時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和因特網鏈接。
NAT表,做用是對網絡地址進行轉換,主要有兩個功能:1. DNAT 網絡目的地址轉換; 2. SNAT 網絡源地址轉換。
流程實例:
爲向因特網發送分組,主機10.1.1.1將其發送給配置了NAT 的邊界路由器。該路由器發現分組的源IP地址爲內部本地IP地址,且是前往外部網絡的,所以對源地址進行轉換,並將這種轉換記錄到NAT 表中。而後,該分組被轉發到外部接口,它包含轉換後的源地址。收到外部主機返回的分組後, NAT 路由器根據NAT 表將分組包含的內部全局IP地址轉換爲內部本地IP 地址。