第一篇:CCNA:IP訪問控制列表(ACL)知識總結
訪問控制列表
建立訪問控制列表,可對數據流量進行簡單的控制,以及通過這種控制達到一定程度的安全性,允許或拒絕數據包通過路由器,從而達到對數據包進行過濾的目的。
另外,也可以在VTY線路接口上使用訪問控制列表,來保證telnet的連接的安全性。因為接口的數據流是有進口和出口兩個方向的,所以在接口上使用訪問控制列表也有進和出兩個方向。
進方向的工作流程
進入接口的數據包——進方向的訪問控制列表——判斷是否匹配——不匹配,丟棄,匹配,進入路由表——判斷是否有相應的路由條目——無,丟棄,有從相應接口轉發出去
出口方向的工作流程
進入接口數據包——進入路由表,判斷是否是相應的路由條目——無,丟棄,有,數據包往相應接口——判斷出口是否有訪問控制列表——無,數據被轉發,有,判斷條件是否匹配——不匹配,丟棄,匹配,轉發。
比較看,盡可能使用進方向的訪問控制列表,但是使用哪個方向的應根據實際情況來定。類型
標準訪問控制列表
所依據的條件的判斷條件是數據包的源IP地址,只能過濾某個網絡或主機的數據包,功能有限,但方便使用。
命令格式
先在全局模式下創建訪問控制列表
Router(config)#access-list access-list-number {permit or deny} soure {soure-wildcard} log 注:access-list-number 是訪問控制列表號,標準的訪問控制列表號為0~99;permit是語句匹配時允許通過,deny是語句不匹配時,拒絕通過。soure是源IP地址,soure-wildcard是通配符,log是可選項,生成有關分組匹配情況的日志消息,發到控制臺
補:當表示某一特定主機時,soure {soure-wildcard}這項例如:192.168.1.1 0.0.0.255 可表示為host 192.168.1.1 創建了訪問控制列表后,在接口上應用
Router(config-if)#ip access-group access-list-number {in or out} 擴展訪問控制列表
擴展訪問控制列表所依據的判斷條件是目標、源ip地址、協議及數據所要訪問的端口。由此可得出,在判斷條件上,擴展訪問控制列表具有比標準的訪問控制列表更加靈活的優勢,能夠完成很多標準訪問不能完成的工作。
命令格式
同樣在全局模式下創建列表
Router(config)#access-list access-list-number {dynamic dynamic-name}{timeout mintes}{permit or deny}protocol soure soure-wildcard destination destination-wildcard {precdence precedence} {tos tos} {time-range time-range-name}
命名訪問控制列表
cisco ios 軟件11.2版本中引入了IP命名ACL,其允許在標準和擴展訪問控制列表中使用名字代替數字來表示ACL編號。
創建命名ACL語法格式:
router(config)#ip access-list {extend or standard} name router(config-ext-nacl)#{permit or deny } protocols soure soure-wildcard {operator}destination destination-wildcard {operator}{established}
注:established 是可選項,只針對于tcp 協議
還有vty的限制,其ACL的建立與在端口上建立ACL一樣,只是應用在vty ACL 到虛擬連接時,用命令access-class 代替命令access-group 放置ACL
一般原則:盡可能把擴展acl 放置在距離要被拒絕的通信流量近的地方。標準ACL由于不能指定目的地址,所以它們應該盡可能放置在距離目的地最近的地主。
第二篇:access-list(訪問控制列表)總結
access-list(訪問控制列表)總結
ACL的作用
ACL可以限制網絡流量、提高網絡性能。例如,ACL可以根據數據包的協議,指定數據包的優先級。
ACL提供對通信流量的控制手段。例如,ACL可以限定或簡化路由更新信息的長度,從而限制通過路由器某一網段的通信流量。
ACL是提供網絡安全訪問的基本手段。如圖1所示,ACL允許主機A訪問人力資源網絡,而拒絕主機B訪問。
ACL可以在路由器端口處決定哪種類型的通信流量被轉發或被阻塞。例如,用戶可以允許E-mail通信流量被路由,拒絕所有的Telnet通信流量。ACL的配置
ACL的配置分為兩個步驟:
第一步:在全局配置模式下,使用下列命令創建ACL:
Router(config)# access-list access-list-number {permit | deny } {test-conditions}
其中,access-list-number為ACL的表號。人們使用較頻繁的表號是標準的IP ACL(1—99)和擴展的IP ACL(100-199)。
第二步:在接口配置模式下,使用access-group命令ACL應用到某一接口上:
Router(config-if)# {protocol} access-group access-list-number {in | out }
其中,in和out參數可以控制接口中不同方向的數據包,如果不配置該參數,缺省為out。ACL在一個接口可以進行雙向控制,即配置兩條命令,一條為in,一條為out,兩條命令執行的ACL表號可以相同,也可以不同。但是,在一個接口的一個方向上,只能有一個ACL控制。
值得注意的是,在進行ACL配置時,網管員一定要先在全局狀態配置ACL表,再在具體接口上進行配置,否則會造成網絡的安全隱患。訪問控制列表使用目的:
1、限制網絡流量、提高網絡性能。例如隊列技術,不僅限制了網絡流量,而且減少了擁塞
2、提供對通信流量的控制手段。例如可以用其控制通過某臺路由器的某個網絡的流量
3、提供了網絡訪問的一種基本安全手段。例如在公司中,允許財務部的員工計算機可以訪問財務服務器而拒絕其他部門訪問財務服務器
4、在路由器接口上,決定某些流量允許或拒絕被轉發。例如,可以允許FTP的通信流量,而拒絕TELNET的通信流量。
工作原理:
ACL中規定了兩種操作,所有的應用都是圍繞這兩種操作來完成的:允許、拒絕
注意:ACL是CISCO IOS中的一段程序,對于管理員輸入的指令,有其自己的執行順序,它執行指令的順序是從上至下,一行行的執行,尋找匹配,一旦匹配則停止繼續查找,如果到末尾還未找到匹配項,則執行一段隱含代碼——丟棄DENY.所以在寫ACL時,一定要注意先后順序。ACL是一組判斷語句的集合,它主要用于對如下數據進行控制:
1、入站數據;
2、出站數據;
3、被路由器中繼的數據
因為標準的ACL只能針對源進行控制,如果把它放在離源最近的地方,那么就會造成不必要的數據包丟失的情況,一般將標準ACL放在離目標最近的位置.簡單比較以下標準和擴展ACL
標準ACL僅僅只針對源進行控制
擴展ACL可以針對某種協議、源、目標、端口號來進行控制
從命令行就可看出
標準:
Router(config)#access-list list-number
擴展:
Router(config)#access-list list-number protocol source {source-mask destination destination-mask} [operator operand] [established] [log]
Protocol—用來指定協議類型,如IP、TCP、UDP、ICMP以及IGRP等
Source and destination—源和目的,分別用來標示源地址及目的地址
Source-mask and destination-mask—源和目的的通配符掩碼
Operator operand—It,gt,eq,neq(分別是小于、大于、等于、不等于)和一個端口號
Established—如果數據包使用一個已建連接(例如,具有ACK位組),就允許TCP信息通過 ACL不能對穿越路由器的廣播流量作出有效控制。
ACL的另一個作用,那就是過濾穿越路由器的流量。這里要注意了,是“穿越”路由器的流量才能被ACL來作用,但是路由器本身產生的流量,比如路由更新報文等,ACL是不會對它起任何作用的:因為ACL不能過濾由路由器本身產生的流量.為了避免過多的查表,所以擴展ACL一般放置在離源最近的地方 PING使用的是ICMP協議
路由器常用命令大全 Access-enable允許路由器在動態訪問列表中創建臨時訪問列表入口 Access-group把訪問控制列表(ACL)應用到接口上 Access-list定義一個標準的IP ACL Access-template在連接的路由器上手動替換臨時訪問列表入口 Appn向APPN子系統發送命令 Atmsig 執行ATM信令命令 B 手動引導操作系統 Bandwidth 設置接口的帶寬 Banner motd 指定日期信息標語 Bfe 設置突發事件手冊模式
Boot system 指定路由器啟動時加載的系統映像 Calendar 設置硬件日歷 Cd 更改路徑
Cdp enable 允許接口運行CDP協議 Clear 復位功能
Clear counters 清除接口計數器
Clear interface 重新啟動接口上的件邏輯
Clockrate 設置串口硬件連接的時鐘速率,如網絡接口模塊和接口處理器能接受的速率 Cmt 開啟/關閉FDDI連接管理功能 Config-register 修改配置寄存器設置
Configure 允許進入存在的配置模式,在中心站點上維護并保存配置信息 Configure memory 從NVRAM加載配置信息 Configure terminal 從終端進行手動配置 Connect 打開一個終端連接 Copy 復制配置或映像數據
Copy flash tftp 備份系統映像文件到TFTP服務器
Copy running-config startup-config 將RAM中的當前配置存儲到NVRAM Copy running-config tftp 將RAM中的當前配置存儲到網絡TFTP服務器上 Copy tftp flash 從TFTP服務器上下載新映像到Flash Copy tftp running-config 從TFTP服務器上下載配置文件 Debug 使用調試功能
Debug dialer 顯示接口在撥什么號及諸如此類的信息 Debug ip rip 顯示RIP路由選擇更新數據
Debug ipx routing activity 顯示關于路由選擇協議(RIP)更新數據包的信息 Debug ipx sap 顯示關于SAP(業務通告協議)更新數據包信息
Debug isdn q921 顯示在路由器D通道ISDN接口上發生的數據鏈路層(第2層)的訪問過程 Debug ppp 顯示在實施PPP中發生的業務和交換信息 Delete 刪除文件
Deny 為一個已命名的IP ACL設置條件
Dialer idle-timeout 規定線路斷開前的空閑時間的長度 Dialer map 設置一個串行接口來呼叫一個或多個地點
Dialer wait-for-carrier-time 規定花多長時間等待一個載體 Dialer-group 通過對屬于一個特定撥號組的接口進行配置來訪問控制
Dialer-list protocol 定義一個數字數據接受器(DDR)撥號表以通過協議或ACL與協議的組合來控制控制撥號
Dir 顯示給定設備上的文件 Disable 關閉特許模式 Disconnect 斷開已建立的連接 Enable 打開特許模式
Enable password 確定一個密碼以防止對路由器非授權的訪問
Enable password 設置本地口令控制不同特權級別的訪問
Enable secret 為enable password命令定義額外一層安全性(強制安全,密碼非明文顯示)Encapsulation frame-relay 啟動幀中繼封裝
Encapsulation novell-ether 規定在網絡段上使用的Novell獨一無二的格式 Encapsulation PPP 把PPP設置為由串口或ISDN接口使用的封裝方法
Encapsulation sap 規定在網絡段上使用的以太網802.2格式Cisco的密碼是sap End 退出配置模式
Erase 刪除閃存或配置緩存
Erase startup-config 刪除NVRAM中的內容
Exec-timeout 配置EXEC命令解釋器在檢測到用戶輸入前所等待的時間 Exit 退出所有配置模式或者關閉一個激活的終端會話和終止一個EXEC Exit 終止任何配置模式或關閉一個活動的對話和結束EXEC format 格式化設備
Frame-relay local-dlci 為使用幀中繼封裝的串行線路啟動本地管理接口(LMI)Help 獲得交互式幫助系統 History 查看歷史記錄
Hostname 使用一個主機名來配置路由器,該主機名以提示符或者缺省文件名的方式使用 Interface 設置接口類型并且輸入接口配置模式 Interface 配置接口類型和進入接口配置模式 Interface serial 選擇接口并且輸入接口配置模式 Ip access-group 控制對一個接口的訪問 Ip address 設定接口的網絡邏輯地址
Ip address 設置一個接口地址和子網掩碼并開始IP處理 Ip default-network 建立一條缺省路由 Ip domain-lookup 允許路由器缺省使用DNS Ip host 定義靜態主機名到IP地址映射
Ip name-server 指定至多6個進行名字-地址解析的服務器地址 Ip route 建立一條靜態路由
Ip unnumbered 在為給一個接口分配一個明確的IP地址情況下,在串口上啟動互聯網協議(IP)的處理過程
Ipx delay 設置點計數
Ipx ipxwan 在串口上啟動IPXWAN協議
Ipx maximum-paths 當轉發數據包時設置Cisco IOS軟件使用的等價路徑數量
Ipx network 在一個特定接口上啟動互聯網數據包交換(IPX)的路由選擇并且選擇封裝的類型(用幀封裝)Ipx router 規定使用的路由選擇協議 Ipx routing 啟動IPX路由選擇
Ipx sap-interval 在較慢的鏈路上設置較不頻繁的SAP(業務廣告協議)更新 Ipx type-20-input-checks 限制對IPX20類數據包廣播的傳播的接受
Isdn spid1 在路由器上規定已經由ISDN業務供應商為B1信道分配的業務簡介號(SPID)Isdn spid2 在路由器上規定已經由ISDN業務供應商為B2信道分配的業務簡介號(SPID)Isdntch-type 規定了在ISDN接口上的中央辦公區的交換機的類型 Keeplive 為使用幀中繼封裝的串行線路LMI(本地管理接口)機制 Lat 打開LAT連接
Line 確定一個特定的線路和開始線路配置 Line concole 設置控制臺端口線路
Line vty 為遠程控制臺訪問規定了一個虛擬終端 Lock 鎖住終端控制臺
Login 在終端會話登錄過程中啟動了密碼檢查 Login 以某用戶身份登錄,登錄時允許口令驗證 Logout 退出EXEC模式
Mbranch 向下跟蹤組播地址路由至終端 Media-type 定義介質類型
Metric holddown 把新的IGRP路由選擇信息與正在使用的IGRP路由選擇信息隔離一段時間 Mrbranch 向上解析組播地址路由至枝端 Mrinfo 從組播路由器上獲取鄰居和版本信息 Mstat 對組播地址多次路由跟蹤后顯示統計數字 Mtrace 由源向目標跟蹤解析組播地址路徑 Name-connection 命名已存在的網絡連接 Ncia 開啟/關閉NCIA服務器
Network 把一個基于NIC的地址分配給一個與它直接相連的路由器把網絡與一個IGRP的路由選擇的過程聯系起來在IPX路由器配置模式下,在網絡上啟動加強的IGRP Network 指定一個和路由器直接相連的網絡地址段 Network-number 對一個直接連接的網絡進行規定 No shutdown 打開一個關閉的接口 Pad 開啟一個X.29 PAD連接
Permit 為一個已命名的IP ACL設置條件
Ping 把ICMP響應請求的數據包發送網絡上的另一個節點檢查主機的可達性和網絡的連通性對網絡的基本連通性進行診斷
Ping 發送回聲請求,診斷基本的網絡連通性 Ppp 開始IETF點到點協議
Ppp authentication 啟動Challenge握手鑒權協議(CHAP)或者密碼驗證協議(PAP)或者將兩者都啟動,并且對在接口上選擇的CHAP和PAP驗證的順序進行規定
Ppp chap hostname 當用CHAP進行身份驗證時,創建一批好像是同一臺主機的撥號路由器
Ppp chap password 設置一個密碼,該密碼被發送到對路由器進行身份驗證的主機命令對進入路由器的用戶名/密碼的數量進行了限制
Ppp pap sent-username 對一個接口啟動遠程PAP支持,并且在PAP對同等層請求數據包驗證過程中使用sent-username和password Protocol 對一個IP路由選擇協議進行定義,該協議可以是RIP,內部網關路由選擇協議(IGRP),開放最短路徑優先(OSPF),還可以是加強的IGRP Pwd 顯示當前設備名
Reload 關閉并執行冷啟動;重啟操作系統 Rlogin 打開一個活動的網絡連接
Router 由第一項定義的IP路由協議作為路由進程,例如:router rip 選擇RIP作為路由協議 Router igrp 啟動一個IGRP的路由選擇過程 Router rip 選擇RIP作為路由選擇協議 Rsh 執行一個遠程命令 Sdlc 發送SDLC測試幀 Send 在tty線路上發送消息
Service password-encryption 對口令進行加密 Setup 運行Setup命令 Show 顯示運行系統信息
Show access-lists 顯示當前所有ACL的內容 Show buffers 顯示緩存器統計信息 Show cdp entry 顯示CDP表中所列相鄰設備的信息 Show cdp interface 顯示打開的CDP接口信息 Show cdp neighbors 顯示CDP查找進程的結果
Show dialer 顯示為DDR(數字數據接受器)設置的串行接口的一般診斷信息 Show flash 顯示閃存的布局和內容信息
Show frame-relay lmi 顯示關于本地管理接口(LMI)的統計信息 Show frame-relay map 顯示關于連接的當前映射入口和信息
Show frame-relay pvc 顯示關于幀中繼接口的永久虛電路(pvc)的統計信息 Show hosts 顯示主機名和地址的緩存列表
Show interfaces 顯示設置在路由器和訪問服務器上所有接口的統計信息 Show interfaces 顯示路由器上配置的所有接口的狀態 Show interfaces serial 顯示關于一個串口的信息 Show ip interface 列出一個接口的IP信息和狀態的小結 Show ip interface 列出接口的狀態和全局參數
Show ip protocols 顯示活動路由協議進程的參數和當前狀態 Show ip route 顯示路由選擇表的當前狀態 Show ip router 顯示IP路由表信息
Show ipx interface 顯示Cisco IOS軟件設置的IPX接口的狀態以及每個接口中的參數 Show ipx route 顯示IPX路由選擇表的內容 Show ipx servers 顯示IPX服務器列表 Show ipx traffic 顯示數據包的數量和類型
Show isdn active 顯示當前呼叫的信息,包括被叫號碼、建立連接前所花費的時間、在呼叫期間使用的自動化操作控制(AOC)收費單元以及是否在呼叫期間和呼叫結束時提供AOC信息
Show isdn ststus 顯示所有isdn接口的狀態、或者一個特定的數字信號鏈路(DSL)的狀態或者一個特定isdn接口的狀態
Show memory 顯示路由器內存的大小,包括空閑內存的大小 Show processes 顯示路由器的進程 Show protocols 顯示設置的協議
Show protocols 顯示配置的協議。這條命令顯示任何配置了的第3層協議的狀態 Show running-config 顯示RAM中的當前配置信息
Show spantree 顯示關于虛擬局域網(VLAN)的生成樹信息
Show stacks 監控和中斷程序對堆棧的使用,并顯示系統上一次重啟的原因 Show startup-config 顯示NVRAM中的啟動配置文件 Show ststus 顯示ISDN線路和兩個B信道的當前狀態
Show version 顯示系統硬件的配置,軟件的版本,配置文件的名稱和來源及引導映像 Shutdown 關閉一個接口 Telnet 開啟一個telect連接
Term ip 指定當前會話的網絡掩碼的格式
Term ip netmask-format 規定了在show命令輸出中網絡掩碼顯示的格式 Timers basic 控制著IGRP以多少時間間隔發送更新信息 Trace 跟蹤IP路由
Username password 規定了在CHAP和PAP呼叫者身份驗證過程中使用的密碼 Verify 檢驗flash文件 Where 顯示活動連接
Which-route OSI路由表查找和顯示結果 Write 運行的配置信息寫入內存,網絡或終端 Write erase 現在由copy startup-config命令替換 X3 在PAD上設置X.3參數 Xremote 進入XRemote模式
第三篇:訪問列表3p原則總結
訪問控制列表(Access Control List,ACL)是路由器和交換機接口的指令列表,用來控制端口進出的數據包。ACL適用于所有的被路由協議,如IP、IPX、AppleTalk等。這張表中包含了匹配關系、條件和查詢語句,表只是一個框架結構,其目的是為了對某種訪問進行控制。ACL介紹
信息點間通信和內外網絡的通信都是企業網絡中必不可少的業務需求,但是為了保證內網的安全性,需要通過安全策略來保障非授權用戶只能訪問特定的網絡資源,從而達到對訪問進行控制的目的。簡而言之,ACL可以過濾網絡中的流量,是控制訪問的一種網絡技術手段。
ACL的定義也是基于每一種協議的。如果路由器接口配置成為支持三種協議(IP、AppleTalk以及IPX)的情況,那么,用戶必須定義三種ACL來分別控制這三種協議的數據包。ACL的作用
ACL可以限制網絡流量、提高網絡性能。例如,ACL可以根據數據包的協議,指定數據包的優先級。
ACL提供對通信流量的控制手段。例如,ACL可以限定或簡化路由更新信息的長度,從而限制通過路由器某一網段的通信流量。
ACL是提供網絡安全訪問的基本手段。ACL允許主機A訪問人力資源網絡,而拒絕主機B訪問。
ACL可以在路由器端口處決定哪種類型的通信流量被轉發或被阻塞。例如,用戶可以允許E-mail通信流量被路由,拒絕所有的Telnet通信流量。
例如:某部門要求只能使用 WWW 這個功能,就可以通過ACL實現;又例如,為了某部門的保密性,不允許其訪問外網,也不允許外網訪問它,就可以通過ACL實現。ACL 3p原則
記住 3P 原則,您便記住了在路由器上應用 ACL 的一般規則。您可以為每種協議(per protocol)、每個方向(per direction)、每個接口(per interface)配置一個 ACL:
每種協議一個 ACL 要控制接口上的流量,必須為接口上啟用的每種協議定義相應的 ACL。
每個方向一個 ACL 一個 ACL 只能控制接口上一個方向的流量。要控制入站流量和出站流量,必須分別定義兩個 ACL。
每個接口一個 ACL 一個 ACL 只能控制一個接口(例如快速以太網 0/0)上的流量。
ACL 的編寫可能相當復雜而且極具挑戰性。每個接口上都可以針對多種協議和各個方向進行定義。示例中的路由器有兩個接口配置了 IP、AppleTalk 和 IPX。該路由器可能需要 12 個不同的 ACL — 協議數(3)乘以方向數(2),再乘以端口數(2)。ACL的執行過程
一個端口執行哪條ACL,這需要按照列表中的條件語句執行順序來判斷。如果一個數據包的報頭跟表中某個條件判斷語句相匹配,那么后面的語句就將被忽略,不再進行檢查。
數據包只有在跟第一個判斷條件不匹配時,它才被交給ACL中的下一個條件判斷語句進行比較。如果匹配(假設為允許發送),則不管是第一條還是最后一條語句,數據都會立即發送到目的接口。如果所有的ACL判斷語句都檢測完畢,仍沒有匹配的語句出口,則該數據包將視為被拒絕而被丟棄。這里要注意,ACL不能對本路由器產生的數據包進行控制。ACL的分類
目前有兩種主要的ACL:標準ACL和擴展ACL。其他的還有標準MAC ACL、時間控制ACL、以太協議 ACL、IPv6 ACL等。
標準的ACL使用 1 ~ 99 以及1300~1999之間的數字作為表號,擴展的ACL使用 100 ~ 199以及2000~2699之間的數字作為表號。
標準ACL可以阻止來自某一網絡的所有通信流量,或者允許來自某一特定網絡的所有通信流量,或者拒絕某一協議簇(比如IP)的所有通信流量。
擴展ACL比標準ACL提供了更廣泛的控制范圍。例如,網絡管理員如果希望做到“允許外來的Web通信流量通過,拒絕外來的FTP和Telnet等通信流量”,那么,他可以使用擴展ACL來達到目的,標準ACL不能控制這么精確。
在標準與擴展訪問控制列表中均要使用表號,而在命名訪問控制列表中使用一個字母或數字組合的字符串來代替前面所使用的數字。使用命名訪問控制列表可以用來刪除某一條特定的控制條目,這樣可以讓我們在使用過程中方便地進行修改。在使用命名訪問控制列表時,要求路由器的IOS在11.2以上的版本,并且不能以同一名字命名多個ACL,不同類型的ACL也不能使用相同的名字。
隨著網絡的發展和用戶要求的變化,從IOS 12.0開始,思科(CISCO)路由器新增加了一種基于時間的訪問列表。通過它,可以根據一天中的不同時間,或者根據一星期中的不同日期,或二者相結合來控制網絡數據包的轉發。這種基于時間的訪問列表,就是在原來的標準訪問列表和擴展訪問列表中,加入有效的時間范圍來更合理有效地控制網絡。首先定義一個時間范圍,然后在原來的各種訪問列表的基礎上應用它。
基于時間訪問列表的設計中,用time-range 命令來指定時間范圍的名稱,然后用absolute命令,或者一個或多個periodic命令來具體定義時間范圍。ACL 常見問題
1)“ACL 的最后一條語句都是隱式拒絕語句” 是什么意思?
每個 ACL 的末尾都會自動插入一條隱含的 deny 語句,雖然ACL中看不到這條語句,它仍起作用。隱含的 deny 語句會阻止所有流量,以防不受歡迎的流量意外進入網絡。
2)配置ACL后為什么沒有生效?
在創建訪問控制列表之后,必須將其應用到某個接口才可開始生效。ACL 控制的對象是進出接口的流量。
第四篇:網絡層(IP層)知識總結
網絡層
1.網絡層提供的兩種服務
虛電路(VC):面向鏈接的,由網絡確保提供可靠的服務。借鑒與電信網絡。兩個計算機通信前先建立鏈接。
數據報服務:網絡層向上只提供簡單靈活的,無連接的,盡最大努力交付數據報服務。網絡層不提供服務質量承諾。
依據:計算機比電話機智能,有很強的差錯處理能力。由于傳輸網絡不提供端到端的可靠服務,因此路由器可以設計的簡單,價格低廉。
2.網際協議IP 網際協議IP是TCP/IP體系中最主要的協議之一。IP協議配套使用的有: ? 地址解析協議ARP(Address Resolution Protocol)? 逆地址解析協議RARP(Reverse Address Resolution Protocol)? 網際控制報文協議ICMP(Internet Control Message Protocol)? 網際組織管理協議IGMP(Internet Group Management Protocol)ICMP和IGMP使用IP協議 IP協議使用ARP和RARP協議
IP協議實現網絡互連,使參與互連的性能各異的網絡從用戶看起來好像是一個統一的網絡
3.什么是虛擬互聯網絡(邏輯互聯網絡)互連起來的物理網絡的異構性本來是客觀存在的,但利用IP協議可以使這些性能各異的網絡在網絡層看起來好像是一個統一的網絡。
網絡的異構性:由于用戶需求不同,網絡技術發展,導致網絡體系中存在不同性能,不同網絡協議的網絡。(那么如何使這種存在差別的網絡連接到一起,感覺像是一種網絡沒有障礙的通信——>使用相同的網際協議IP,構成一個虛擬互聯的網絡。比如我們通信的過程中,有段網絡使用了衛星鏈路,有的使用了無限局域網,但是IP協議可以使信息在這些網絡傳輸)。
用來連接異構網絡的設備:路由器。
4.將網絡互連起來要使用一些中間設備,根據中間設備所在層次不同分為:
(1)物理層使用的中間設備轉發器(repeater)(2)數據鏈路層使用的中間設備網橋或橋接器(bridge)(3)網絡層使用的中間設備路由器(router)(4)網絡層以上使用的中間設備網關(gateway)
轉發器和網橋只是把網路擴大(因此,由轉發器和網橋連接起來的若干個局域網仍屬于一個網路,只能有一個網路號(主機號不同))路由器實現網絡互連(路由器的每一個接口都有不同的網絡號IP地址)5.IP地址和物理地址
物理地址:數據鏈路層和物理層使用的地址
IP地址:網絡層和以上各層使用的地址,是一種邏輯地址(因為IP使用軟件實現的)1.IP地址放在IP數據報首部,硬件地址則放在MAC幀首部
2.在局域網中,只能看見MAC幀。MAC幀在不同的網絡上傳送時,其MAC幀首部的源地址和目的地址是要發生變化的。
3.在IP層抽象的互聯網上只能看到IP數據報。4.IP地址有32位,局域網的硬件地址是48位
6.物理地址與IP地址的匹配<——>ARP與RARP(由物理地址怎樣找到對應的IP地址/由IP地址怎樣找到對應的物理地址)由于DHCP已經包含RARP現在很少單獨使用RARP ARP:在主機ARP高速緩沖中存放一個由IP地址到硬件地址的映射表,并且這個表還動態更新(新增和超時刪除)。映射表中存放本局域網各主機和路由器IP地址到硬件地址的映射表。
同一局域網中,ARP解決IP地址到硬件地址映射問題:
當主機A向本局域網內某主機B發送IP報,先在自己的ARP高速緩沖中查看有無主機B的IP地址。如果有,根據IP地址找到對應的硬件地址,將硬件地址寫入MAC幀中,然后把該MAC幀發往此硬件地址。
當B剛入網,或A剛開機ARP高速緩沖中是空的,則A自動運行ARP,找出B的硬件地址。
1)ARP進程在本局域網廣播發送一個ARP請求分組,主要內容是“我的IP地址是209.0.0.5,硬件地址是00-00-C0-15-AD-18,我想知道IP地址為209.0.0.6主機的硬件地址”。
2)本局域網所有主機都收到此分組,但是只有目的IP會寫入自己的硬件地址,以普通的單播ARP響應分組響應。同時,B也會把A的IP地址與硬件地址寫入自己的ARP高速緩沖中。
3)A收到后,將B的IP和硬件地址寫入ARP高速緩沖中。
不同局域網中,ARP解決IP地址到硬件地址映射問題:
A無法直接找到遠程主機B的硬件地址。A首先將A所在局域網的路由器IP解析為硬件地址,將IP數據報傳送到路由器。路由器從轉發表中找到下一跳路由,同時用ARP解析出下一跳路由的硬件地址…直至最后。ARP是解決同一個局域網上的主機或路由器的IP地址和硬件地址的映射問題。為什么這樣說?當主機A要與另一個網絡主機B通信時,首先A是通過ARP找到路由器R1,這是一次ARP的使用,即在A和R1的局域網中使用,由R1找B或與B相連的路由器R2,是在R1和B或R1和R2的局域網中使用的ARP,這是又一次使用ARP,所以說ARP是解決同一個局域網上的IP地址和硬件地址的映射問題。
7.ARP高速緩沖每一個映射項目都設置了生存時間。超過生存時間的項目就刪除掉。B的網絡適配器(網卡)壞掉等都會造成B的硬件地址變化。8.既然在網絡鏈路上傳遞的幀最終是按照硬件地址找到目的主機的,那么為什么不直接使用硬件地址進行通信,而是使用抽象的IP地址并調用ARP來尋找相應的硬件地址?(IP地址的意義)
因為全世界存在各種各樣的網絡,使用不同的硬件地址。要使這些異構的網絡能夠相互通信需要非常復雜的硬件地址轉換工作,這由用戶主機來完成幾乎是不可能的,有了統一的IP地址,通信就像連在一個網絡上,并且ARP工作過程是由軟件自動完成的。
9.網際控制報文協議ICMP
為了更有效地轉發IP數據報和提高交付成功機會,使用ICMP(Intetnet Control Message Protocol),ICMP不是高層協議,而是IP層協議。
ICMP分為兩種:ICMP差錯報告報文和 ICMP詢問報文
ICMP詢問報文請求報文的應用ping應用層直接使用網絡層ICMP的一個例子,沒有通過TCP或UDP ICMP差錯報告報文時間超時的應用traceroute IP數據報中包含不可交付的UDP
10.路由選擇協議(核心:路由算法):使用何種方式獲得路由表中各項目
由算法能否隨網絡的通信量或拓撲自適應進行調整分為
靜態路由選擇策略:非自適應路由選擇,簡單,開銷小,不能適應網絡變化,適合簡單小網絡
動態路由選擇策略:自適應、復雜,開銷大,能適應網絡變化
因特網采用的路由選擇協議:自適應(動態的)、分布式路由選擇協議
11.自治系統(AS):單一技術管理下的一組路由器
即一個自治系統內使用的是相同的路由選擇策略。由路由選擇協議是在自治系統內使用還是系統外使用分為:內部網關協議和外部網關協議。(由歷史原因稱為網關協議其實是路由器協議)
內部網關協議(IGP):RIP和OSPF(力求最佳路由)
外部網關協議(EGP):BGP-4(力求較好路由,不兜圈)
12.路由信息協議RIP(Routing Information Protocol)RIP協議讓一個自治系統內所有路由器(交換信息時只和相鄰路由器交換)都和自己相鄰的路由器定期交換信息,并不斷更新其路由表,使得每一個路由器到每一個目的網絡的路由器都是最短的。
基于距離向量路由選擇協議最大特點簡單 缺點:限制網絡規模,最大距離為15 每次交換完整路由表,隨網絡擴大,開銷增大
“壞消息傳的慢”
跳數:即到目的網絡的距離(與路由器直接相連的網絡距離為1,RIP允許一條路徑最多包含15個路由器,因此跳數為16表示不可達)
RIP協議特點(與哪些路由器交換信息,交換什么信息,什么時候交換)
1)僅與相鄰路由器交換信息
2)交換信息為當前本路由器所知道的全部信息。包括,我到本自治系統所有網絡的距離,到每個網絡的下一跳路由(只知道下一跳路由,不知道整個網絡拓撲結構)3)按固定時間交換:30秒
距離向量算法:
首先,對每一個相鄰路由器發送RIP報文(使用了UDP,即RIP報文+UDP首部+IP首部構成IP數據報),報文包括“目的網絡N,距離d,下一跳路由是R”
然后,接受到的路由器進行分析: 1)對地址為X的路由器發來的報文,先將所有報文的下一跳路由改為X,并將所有距離+1。(對于本網絡來說,如果準備按X發來的報文項目通信目的網絡,則須經過X,即下一跳路由為X,而與目的網絡的距離為X到目的網絡的距離+1)。2)對修改后的報文,與自己原路由表對比:
a.原路由表中,沒有此目的網絡N,直接添加
b.原路由表有目的網絡N,比較下一跳路由地址,若原來下一跳路由地址也是X,直接更新(網絡狀態可能發生變化,因此以此次新信息為準)c.若下一跳地址不是X,則比較距離d,以小的為準 d.否則什么也不做
3)若3分鐘沒有收到相鄰路由器的更新路由表,則把此相鄰路由器距離標為16(不可達)4)返回
一個RIP報文最多包括25個路由,RIP報文最大長度4(首部)+25*20(一個路由器信息20字節)= 504字節
13.開放最短路徑優先OSPF(Open Shortest Path First)最主要特征:使用分布式鏈路狀態協議
OSPF協議特點(與RIP比較)1)向本自治系統所有路由器發送信息,但是使用洪泛法發送,路由器向所有相鄰的路由器發送信息,而每一個相鄰路由器也會把此信息發送給其相鄰的路由器(不發給剛剛發來信息的路由器),這樣,整個系統都能收到。(RIP只給相鄰發送)2)發送信息:相鄰所有路由器鏈路狀態。包括本路由器和哪些路由器相鄰,以及該鏈路的“度量”(費用,距離,時延,帶寬),可以知道整個網絡拓撲。(RIP只發送到所有網絡距離和下一跳路由)
3)只有鏈路狀態發生變化,才以洪泛法再次發送信息。(RIP定期)
OSPF將自治系統劃分為更小范圍,區域。OSPF只在自己區域交換信息,而不再是整個自治系統。減少整個網絡上通信量,此時只知道本區域網絡拓撲。
OSPF報文直接使用IP數據報(OSPF+IP首部)
OSPF五種分組類型
1)類型1,問候分組,確定鄰站可達性(10秒交換一次)2)類型2,數據庫描述分組,向鄰站發送自己的鏈路狀態數據庫摘要信息 3)類型3,鏈路狀態請求分組,向對方請求發送某些鏈路狀態詳細信息 4)類型4,鏈路狀態更新分組,用洪泛法全網更新鏈路狀態協議核心部分 5)類型5,鏈路狀態確認,對更新的確認
14.外部網關協議——BGP(邊界網管協議)BGP是不同AS的路由器之間交換路由信息的協議
不同的AS為什么不能使用內部網關協議:
1)英特網規模太大,使得AS之間路由選擇非常困難。主干網已超過5萬路由前綴,使用鏈路狀態數據庫(OSPF方法),用Dijkstra計算花費時間也很長。不同的AS中,度量的量度也不一樣,不能通用。
2)AS之間的路由選擇協議必須考慮相關策略。不同的網絡性能差距較大,根據最短路徑找出的路徑,可能并不是最快的(在同一個AS中,網絡相差不大,最短路徑基本實現最快速度)。并且AS間路由選擇也應考慮到政治,安全和經濟,允許使用多種路由選擇策略,如我國國內傳送數據,盡量不要經過其他國家,尤其是可能造成威脅的國家。
BGP只是力求尋找一條能夠到達目的網絡比較好的路由,而非一條最佳采用路徑向量路由選擇協議
BGP發言人:每一個AS至少選擇一個作為本AS的BGP Speaker,一般是邊界路由器,該路由器代表整個AS與其他AS交換信息。一個BGP Speaker與其他AS的BGP Speaker交換路由信息,首先建立TCP連接(端口號179),然后交換報文建立會話,使用TCP為了提供可靠的服務。相鄰的兩個Speaker成為鄰站會對等站。
每一個Speaker除了運行BGP,還要運行RIP或OSPF
BGP的路由表(與RIP相似)包含
目的網絡前綴下一跳路由到達目的網絡所要經過AS序列(RIP是跳數)BGP在路由反生變化時更新路由表有變化的部分 BGP4種報文(TCP報文)1)OPEN(打開)報文,與鄰站建立關系,通信初始化
2)UPDATE(更新)報文,通告某一路由的信息,更新路由信息核心內容
每個報文只能宣布增加1個新路由,但可以宣布撤銷多個。
3)KEEPALIVE(保活)報文,周期性保持與鄰站的連同 4)NOTIFICATION(通知)報文,發送檢測差錯
兩個鄰站屬于不同AS,交換信息前先建立鏈接(某個路由器可能因為負荷過高而不愿通信),先發送OPEN,建立連接,發送KEEPALIVE(30秒一個,防止開銷過大,只用BGP的首部19字節),保持連接,在用UPDATE更新信息。
15.路由器的結構
路由器:一種具有多個輸入端口和多個輸出端口的專用計算機,其任務就是轉發分組(轉發分組正是網絡層的主要工作)
路由器結構可劃分兩大部分:路由選擇+
分組轉發
路由選擇:控制部分,核心部件為路由選擇處理機任務是根據所選定的路由選擇協議構造出路由表,并不斷維護路由表。
分組轉發:三部分交換結構、一組輸入端口和一組輸出端口(此處為硬件端口,與運輸層端口不同)
交換結構的作用就是根據轉發表對分組進行處理,將某個輸入端進入的分組從一個合適的端口轉發出去,交換結構本身就是一種網絡。
交換的方式:通過存儲器、通過總線、通過互聯網絡
16.IP多播
單播(一對一)
多播(也稱組播,實現一對多,但是是對選擇好的多個用戶播送)
廣播(一對多,無法選擇特定用戶,對所有用戶都播送,DHCP獲取IP使用了廣播,ARP尋找目的主機硬件地址也使用了廣播)
多播可以節約網絡資源,能夠運行多播協議的路由器稱為多播路由器 多播組的標識符就是IP地址中的D類地址(與廣播的差異)。前四位1110 D類地址的范圍
224.0.0.0——239.255.255.255,共可標識228個多播組 多播數據報與一般數據報的區別使用D類地址作為目的地址,并且首部協議字段值為2,表明使用IGMP協議(多播地址只用用于目的地址,不能用于源地址,對多播不產生ICMP差錯報文,PING多播地址,不會受到響應)
17.IP多播的種類
a)只在本局域網上進行硬件多播,b)在因特網范圍內進行多播
在硬件多播中,以太網多播地址范圍01-00-5E-00-00-00到01-00-5E-7F-FF-FF只由低23位用于多播,與IPD類地址低23位對映,因此多播IP地址與以太網硬件地址的映射不是唯一的。當主機收到多播數據,還要在IP層利用軟件進行過濾,把不是本機接受的數據丟棄。
IP多播需要兩種協議:IGMP(網際組管理協議)和多播路由選擇協議
IGMP是讓連接在本地局域網上的多播路由器知道本局域網上是否有主機參加或退出可某個多播組。IGMP使用IP數據報傳送報文。
IGMP工作階段:
1)有主機新加入多播組,向多播組地址發送IGMP報文。
2)本地多播路由器周期性檢測本地局域網是否有主機處于多播組。多播數據報的發送者和接受者都不知道一個多播組有多少成員
只有IGMP協議,無法把多播數據報以最小代價傳送給組成員,此時需要多播路由選擇協議。
多播路由選擇協議的特點:
1)多播轉發必須動態適應組成員變化。只要有成員增加或退出及應更新,而普通的單播路由選擇協議只在網絡拓撲發生變化時才更新。2)多播路由轉發協議轉發數據報不僅僅要考慮目的地址。3)多播數據報的發送者可以使組成員,也可以不是。多播路由選擇協議轉發數據報使用的方法
1)洪泛法與減除(最小生成樹,最短路徑),適于較小多播組
2)隧道技術,對于多播組位置地理上分散情況使用,遠距離傳送在數據報外 再加普通數據報首部單播。
3)核心發現技術。多播組在較大的范圍內變化也適用。
18.19.VPN(虛擬專用網)與NAT(網絡地址轉換)由于IP地址短缺,一個機構能申請到的IP地址小于本機構主機數,而且也不是所有主機都需連如因特網。但是這些主機還需要內部通信,從原則上講,內部通信的主機可以由本機構自行分配IP地址(本地地址),但如果自行分配的地址與因特網上實際分配的有沖突,出現地址二義性問題。
因此,可以指明一些專用地址,這些地址只能機構內部通信,因特網上所有路由器,對目的地址是專用地址的數據報不轉發。
全世界有很多專用互聯網絡具有相同IP地址,但這些地址只在本地內部使用,不會引起麻煩,專用IP地址也叫可重用地址。
對于很大的機構相距比較遠,可以利用公用的因特網作為本機構專用網之間的通信載體,這樣的專用網成為虛擬專用網VPN(相比但購買一條通信線路作為專用簡單,節省)
VPN不同網點之間通過互聯網通信,所以對這些數據加密,需要專門軟硬件。VPN通信:每個網點至少有一個路由器有合法IP地址,這樣一個內部主機向另一個主機通信時,開始使用專用地址,到達這個路由器時轉換為合法到的IP(將原數據報加密,變為內部數據報,在外面再加一層數據報首部),到達另一個網點,由其路由器將合法IP轉換為這個網點的本地IP。
NAT:解決VPN上多個主機想同時訪問互聯網。
在專用網鏈接因特網的路由器上安裝NAT軟件,這樣的路由器叫做NAT路由器。一個NAT路由器至少有1個合法IP地址。這樣有n個合法地址的NAT路由器即可滿足n個主機同時訪問互聯網(轉換地址)。
NAPT,將IP地址與端口號一起轉換,這樣當本地地址中通信具有兩個相同端口號時,可以轉換為同一個合法的IP,但是端口號不同。這樣兩個主機可以使用同一個合法的IP
20.IP數據報格式
1)版本(4位):目前是v4,以后可能IPv6
2)首部長度(4位):可表示十進制15,但是這個字段單位是32位(4字節),即當首部長度為15時,表示此首部長度為15*4字節最常用的首部20字節(0101)。數據部分總是從4字節整數倍開始。固定首部最大值是希望用戶節省開銷,缺點,容易不夠用。
3)區分服務(8位):一般不使用
4)總長度(16位):字段單位字節,即數據報最大長度為216-1=65535字節。
由于數據鏈路層都有自己的最大傳輸單元MTU,所以IP數據報封裝鏈路層幀時,數據報最大長度不能超過MTU。一般IP數據報長度不長于1500字節,但為了效率,所有主機和路由器處理的IP報不小于576(512+60?)字節。當IP報長度超過MTU,就需要分片,這時首部總長度字段指的是分片后總長度。
5)標識(16位):每產生一個IP報,標識加1。為了分片后區分到底哪幾個片在以后組裝時成為一個。(IP報是無連接的,接收也不存在順序,所以此標識不是為了標識接受順序)
6)標志(3位):只有兩個有意義
MF: =1表示此分片后還有分片,=0表示此分片后無分片 DF:此報不能分片。DF=0允許分片
7)片偏移(13位):分片后,此片相對原片位移。此字段單位8字節,所以片偏移以8字節為單位。也就是說每個分片一定是8字節整數倍。
8)生存時間(8位):TTL,9)協議(8位):使目的主機知道此報上交給誰
10)首部檢驗和(16位):
11)源地址(32位)
12)目的地址(32位)
21.關于IP首部檢驗和
IP/ICMP/IGMP/TCP/UDP 等協議檢驗和算法一樣,但IP只檢驗首部,TCP/UDP會檢驗首部+數據。
檢驗方式:二進制反碼求和(若最高位產生進位,則進位和結果相加)此處以UDP首部檢驗和為例(考慮數據部分)
16~1列每列1的個數 2 4 1 3 5 4 4 5 0 4 2 4 7 7 7 9 1)首先是第1列9個1相加得1001(9),低位1保留,其余三位分別向上進位,即0向第二列進位,0向第3列進位,1向第4列進位。
2)然后是第2列7個1和第1列進位的0相加,為7(0111),同理低位1保留,其余三位向上進位。
3)第3列7個1和第1列進位0,第2列進位1相加得8(1000),低位0保留,高位進位 ……
4)最后第15列結果為0110,16列結果為0011,兩個進位1的和(10)會與結果相加 5)計算結果為10010110 11101011與15、16列進位和10相加結果為10010110 11101101 然后求反碼。
22.23.