什麼是計算機網絡
硬件上:經過線纜將網絡設備和計算機鏈接起來
軟件上:操做系統、應用軟件、應用程序經過通訊線路互連
實現資源共享和信息傳遞算法
計算機網絡的功能
數據通訊
資源共享
增長可靠性
提升系統處理能力瀏覽器
OSI協議模型
七層框架功能:
應用層:網絡服務與最終用戶的一個接口
表示層:數據的表示、安全、壓縮
會話層:創建、管理、停止會話
傳輸層:定義傳輸數據的協議端口號、以及流控和差錯校驗
網絡層:進行邏輯地質尋址,實現不一樣網絡之間的路徑選擇
數據鏈路層:創建邏輯鏈接、進行硬件地址尋址、差錯校驗等功能
物理層:創建、維護、斷開物理鏈接 安全
TCP/IP協議的組成
應用層 HTTP FTP TFTP SMTP SNMP DNS 計算機
傳輸程 TCP UDP 防火牆
網絡層 IP ICMP IGMP ARP RARP 路由器
數據鏈路層 交換機
物理層 由底層網絡定義的協議 網卡服務器
###################################################################cookie
數據鏈路層網絡
以太網MAC地址
用來識別一個以太網上的某個單獨的設備或一組設備session
交換機:是用來鏈接局域網的主要設備
可以根據以太網幀中的目標地址智能的轉發數據,所以交換機工做在數據鏈路層負載均衡
工做原理:
MAC地址學習、廣播未知數據幀、接收方迴應、交換機實現單播通訊框架
VLANide
VLAN(虛擬局域網)是物理設備上鍊接的不受物理位置限制的用戶的一個邏輯組
爲何引入VLAN
交換機的全部接口默認屬於同一個廣播域
隨着接入設備的增多,網絡中廣播增多,下降了網絡的效率
爲了分割廣播域,引入VLAN
VLAN的做用
廣播控制、增長安全性、提升帶寬利用、下降延遲
trunk
在路由/交換領域,VLAN的中繼端口叫作trunk。trunk技術用在交換機之間互連,使不一樣VLAN經過共享鏈路與其它交換機中的相同VLAN通訊。交換機之間互連的端口就稱爲trunk端口。trunk是基於OSI第二層數據鏈路層(DataLinkLayer)的技術。兩臺交換機上分別建立了多個VLAN(VLAN是基於Layer 2的),在兩臺交換機上相同的VLAN(好比VLAN10)要通訊,須要將交換機A上屬於VLAN10的一個端口與交換機B上屬於VLAN10的一個端口互連;若是這兩臺交換機其它相同VLAN間須要通訊,那麼交換機之間須要更多的互連線,端口利用率就過低了。 交換機經過trunk功能,事情就簡單了,只須要兩臺交換機之間有一條互連線,將互連線的兩個端口設置爲trunk模式,這樣就可使交換機上不一樣VLAN共享這條線路。
trunk不能實現不一樣VLAN間通訊,須要經過三層設備(路由/三層交換機)來實現。
以太網通道
以太網通道(EthernetChannel)經過捆綁多條以太網鏈路來提升鏈路帶寬,並運行一種機制,將多個以太網端口捆綁成一條邏輯鏈路。以太網通道最多能夠捆綁8條物理鏈路,其中物理鏈路能夠是雙絞線,也能夠是光纖鏈接的。
###############################################################################
網絡層
功能:
定義了基於IP協議的邏輯地址
鏈接不一樣的媒介類型
選擇數據經過網絡的最佳路徑
ICMP協議
經過IP數據報傳送,用來發送錯誤和控制信息
定義了不少信息類型,如:
目的地不可達、TTL超時、信息請求、信息應答、地址請求、地址應答
路由器
路由:
將數據包從一個網絡發送到另外一個網絡
須要依靠路由器來完成
路由器只關心網絡的狀態,決定最佳路徑
怎麼工做:
識別數據包的目標IP地址
識別數據包的源IP地址(主要用於策略路由)
在路由器表中發現可能的路徑
選擇路由表中到達目標最好的路徑
維護和檢查路由信息
根據路由表選擇最佳路徑
每一個路由都維護着一張路由表,這是路由器轉發數據包的關鍵
每條路由表記錄指明瞭:到達某個子網或主機應從路由器的哪一個物理接口發送,經過接口
可到達該路徑的下一個路由的地址(或直接相連網絡中的目標主機地址)
如何得到路由表
靜態、默認路由
由管理員在路由器上手工指定
適合分支機構、家居辦公室等小型網絡
動態路由
根據網絡拓撲流量變化,由路由經過路由器協議自動設置
適合ISP服務商、廣域網、園區網等大型網絡
靜態路由主要特色:
由管理員手工配置,爲單向條目
通訊雙方的邊緣路由器都須要指定,不然會致使數據包有去無回
默認路由:
是一種特殊的靜態路由
默認路由的目標網絡爲 0.0.0.0 0.0.0.0 可匹配任何目標地址
只有當從路由表找不到任何明確匹配的路由條目時,纔會使用默認路由,通常在企業網關出口使用
三層交換技術
使用三層交換技術實現VLAN間通訊
三層交換=二層交換+三層轉發
動態路由
基於某種路由協議實現
特色:減小了管理任務、佔用了網絡帶寬
動態路由協議OSPF
OSPF區域
爲了適應大型的網絡,OSPF在網絡內部劃分多個區域
每一個OSPF路由器只維護所在區域的完整鏈路狀態信息
區域ID
表示一個十進制的數字
也能夠表示一個IP
骨幹區域Area 0
負責區域見路由信息傳播
#####################################################################
傳輸層
做用:
網絡層提供點到點的鏈接
傳輸層提供端到端的鏈接
協議:
TCP協議:傳輸控制協議、可靠的、面向鏈接的協議、傳輸效率低
UDP協議:用戶數據報協議、不可靠的、無鏈接的服務、傳輸效率高
TCP三次握手:
1.發送SYN,請求創建鏈接
2.發送SYN、ACK
3.發送ACK
TCP四次斷開:
1.發送FIN,請求斷開鏈接
2.發送ACK
3.發送FIN,請求斷開鏈接
4.發送ACK
訪問控制列表做用:
讀取第三層、第四層 頭部信息
根據預先定義好的規則對數據進行過濾
工做原理:
訪問控制列表在接口應用的方向
出:已通過路由器的處理,正離開路由器接口的數據包
入:已到達路由器接口的數據包,將被路由器處理
類型:
標準訪問控制列表
基於源IP地址過濾數據包
標準訪問控制列表的訪問控制列表號是1~99
擴展訪問控制列表
基於源IP地址、目的IP地址、指定協議、端口來過濾數據包
擴展訪問控制列表的訪問控制列表號是100~199
NAT 網絡地址轉換
做用:經過將內部網絡的私有IP地址翻譯成全球惟一的公網IP地址,使內部網絡能夠鏈接到互聯網等外部網路上
私有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
NAT
NAT的優勢
節省公有合法IP地址
處理地址重疊
安全性
缺點
延遲增大
配置和維護的複雜性
實現方式:
靜態轉換
端口多路複用
靜態NAT
靜態轉換
IP地址的對應關係是一對一,並且是不變的,藉助靜態轉換,能實現外部網絡對內部網絡中某些特設定服務器的訪問
端口多路複用PAT
PAT做用
經過改變外出數據包的源IP地址和源端口並進行端口轉換,內部網絡的全部主機都可共享一個合法IP地址實現互聯網的訪問,節約IP
##################################################################
STP生成樹算法
廣播風暴的產生
交換機工做原理:
根據MAC地址轉發數據幀,若是地址未知,則廣播
若是交換機接收到廣播幀也會向全部接口發送
廣播風暴的產生
當網絡中存在物理環路,會產生廣播風暴
STP(生成樹協議)
邏輯上斷開環路,防止廣播風暴的產生
當線路故障,阻塞接口被激活,恢復通訊,起備份線路的做用
選擇根網橋
網橋ID(BID)
網橋ID是惟一的,交換機之間選擇BID值最小的交換機做爲網絡中的根網橋
網橋優先級 網橋的MAC地址
2字節 6字節
取值範圍:0~65535
缺省值:32768
PVST+配置的意義
配置網絡中比較穩定的交換機爲根網橋
利用PVST+實現網絡的負載分擔
HSRP
熱備份路由協議
CISCO私有協議
################################################################
STP:解決環路帶來的廣播風暴並對線路冗餘,同時產生負載均衡效果
以太網通道:提升網絡鏈路帶寬
OSPF路由協議:實現網絡路徑的自動學習
HSPR:實現冗餘網關
###############################################################
SESSION機制、cookie機制
http與https區別:
一、http協議是明文傳輸的,https是SSL加密的傳輸協議,https要安全
二、https須要數字證書,通常須要花錢購買。
三、http使用80端口、https使用443端口
TCP應用的:HTTP、HTTPS(瀏覽器)、SMTP(郵件傳輸)、FTP(putty)
用的Telnet、SSH;QQ文件傳輸
UDP應用:RIP(路由選擇協議)、DNS(域名解析協議)、SNMP(簡單網絡管理協議)
要求網絡通信速度能儘可能的快。如:QQ語音 QQ視頻等
傳輸層協議與網絡層協議的區別?
一、網絡層協議負責的是提供主機間的邏輯通訊
二、傳輸層協議負責的是提供進程間的邏輯通訊
物理層:RJ4五、CLOCK、IEEE802.3 (中繼器,集線器,網關)
數據鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)
網絡層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
傳輸層:TCP、UDP、SPX
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASCII
應用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
什麼是子網掩碼?
子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每個爲1表明該位是網絡位,爲0表明主機位。它和IP地址同樣也是使用點式十進制來表示的。若是兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即代表它們共屬於同一子網中。
http常見狀態碼有哪些?
狀態碼告知從服務器端返回的請求結果。
1XX Informational(信息性狀態碼) 接受的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 須要進行附加操做以完成請求
4XX Client Error(客戶端錯誤狀態碼) 服務器沒法處理請求
5XX Server Error(服務器錯誤狀態碼) 服務器處理請求出錯
2開頭狀態碼
2xx (成功)表示成功處理了請求的狀態代碼
200 (成功) 服務器已成功處理了請求。 一般。
3開頭狀態碼
3xx (重定向) 表示要完成請求,須要進一步操做。 一般,這些狀態代碼用來重定向。
304 (未修改) 自從上次請求後,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。
4開頭狀態碼
4xx(請求錯誤) 這些狀態代碼表示請求可能出錯,妨礙了服務器的處理
400 (錯誤請求) 服務器不理解請求的語法。
403 (禁止) 服務器拒絕請求。
404 (未找到) 服務器找不到請求的網頁。
5開頭狀態碼
5xx(服務器錯誤)這些狀態代碼表示服務器在嘗試處理請求時發生內部錯誤。 這些錯誤多是服務器自己的錯誤,而不是請求出錯
500 (服務器內部錯誤) 服務器遇到錯誤,沒法完成請求。
501 (還沒有實施) 服務器不具有完成請求的功能。 例如,服務器沒法識別請求方法時可能會返回此代碼。
502 (錯誤網關) 服務器做爲網關或代理,從上游服務器收到無效響應。
503 (服務不可用) 服務器目前沒法使用(因爲超載或停機維護)。 一般,這只是暫時狀態。
504 (網關超時) 服務器做爲網關或代理,可是沒有及時從上游服務器收到請求。
505 (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。
重點:200,304,403,404,500
DNS域名系統,簡單描述其工做原理。
當DNS客戶機須要在程序中使用名稱時,它會查詢DNS服務器來解析該名稱。客戶機發送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別。基於UDP服務,端口53. 該應用通常不直接爲用戶使用,而是爲其餘應用服務,如HTTP,SMTP等在其中須要完成主機名到IP地址的轉換
在TCP/IP協議中,TCP協議提供可靠的鏈接服務,採用三次握手創建一個鏈接。
第一次握手:創建鏈接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時本身也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器 進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入 ESTABLISHED狀態,完成三次握手。 完成三次握手,客戶端與服務器開始傳送數據.
四次分手:
因爲TCP鏈接是全雙工的,所以每一個方向都必須單獨進行關閉。這個原則是當一方完成它的數據發送任務後就能發送一個FIN來終止這個方向的鏈接。收到一個 FIN只意味着這一方向上沒有數據流動,一個TCP鏈接在收到一個FIN後仍能發送數據。首先進行關閉的一方將執行主動關閉,而另外一方執行被動關閉。
(1)客戶端A發送一個FIN,用來關閉客戶A到服務器B的數據傳送(報文段4)。
(2)服務器B收到這個FIN,它發回一個ACK,確認序號爲收到的序號加1(報文段5)。和SYN同樣,一個FIN將佔用一個序號。
(3)服務器B關閉與客戶端A的鏈接,發送一個FIN給客戶端A(報文段6)。
(4)客戶端A發回ACK報文確認,並將確認序號設置爲收到序號加1(報文段7)。
1.爲何創建鏈接協議是三次握手,而關閉鏈接倒是四次握手呢?這是由於服務端的LISTEN狀態下的SOCKET當收到SYN報文的建連請求後,它能夠把ACK和SYN(ACK起應答做用,而SYN起同步做用)放在一個報文裏來發送。但關閉鏈接時,當收到對方的FIN報文通知時,它僅僅表示對方沒有數據發送給你了;但未必你全部的數據都所有發送給對方了,因此你不能夠立刻關閉SOCKET,也即你可能還須要發送一些數據給對方以後,再發送FIN報文給對方來表示你贊成如今能夠關閉鏈接了,因此它這裏的ACK報文和FIN報文多數狀況下都是分開發送的。