傳輸層的協議主要有TCP和UDP,下面咱們簡單來介紹一下TCP和UDP:
TCP
端口號:用來區分應用程序
源端口號:表明發送方使用的進程(隨機)
目標端口:表明接收方使用的進程(固定)
序號:便於接收方重組(32bits)範圍0--2的32次方減1
確認號:用於確認發送端的信息,序號+1
1.告訴發送方確認號以前的信息收到了;
2.下一次發送數據的編號;
窗口大小:表明本方能夠接受的數據量(流量控制);
校驗和:檢查整個TCP段是否正確;
TCP的鏈接過程是經過三次握手來完成的
SYN:創建鏈接的標誌位;
FIN:斷開鏈接的標誌位;
RST:從新創建鏈接(重傳);
ACK:確認有效標誌方向;
就比如A和B打電話
A:喂?
B:喂?
A:說事情。
道理同樣!
TCP斷開鏈接則須要四步才能完成
這裏涉及到一個半關閉的概念:TCP一方(一般是客戶端)能夠終止發送數據,但仍然能夠接受數據,稱爲半關閉。
經常使用的端口和協議:
TCP在網絡中的應用很是普遍,主要用在對數據傳輸可靠性要求高的環境中,好比:網頁瀏覽,它使用的HTTP就是一欄TCP提升可靠性的。在使用TCP時,通訊方對數據的可靠性要求高,所以下降一些數據傳輸率也是能夠接受的。
UDP
跟TCP比起來少了好多東西,大體包含的內容同樣,有一個例外:
校驗和:只檢查頭部,不檢查內容數據
經常使用的端口和協議
UDP協議在生活中的應用也很是普遍。因傳輸速度快備受青睞,好比:QQ、微信等社交軟件
接下來咱們主要講解訪問控制列表
它是在路由器上讀取第三層和第四層的信息,如:源地址、目的地址、協議、源端口、目的端口等。
今天咱們簡單的介紹三種簡單的ACL注意:(必須保證網絡是通的纔可使用ACL)
ACL 的匹配順序
標準ACL
只根據源IP地址來拒絕數據包,訪問控制列表號是1--99.
咱們來經過一個小型的拓補圖來介紹一下怎麼使用標準的ACL
接下來咱們建立標準ACL列表
(我的建議,若是圖中的兩個路由器均可以管理的話,建立標準ACL建立在離目標地址近的位置)微信
r2(config)#access-list 1 deny host 192.168.1.10 #建立ACL列表1拒絕主機192.168.1.10訪問 r2(config)#access-list 1 deny 192.168.1.0 0.0.0.255 #建立ACL列表1拒絕192.168.1.0網段的全部主機訪問 r2(config)#access-list 1 permit any #建立ACL列表1容許全部主機訪問 (注意ACL是從上往下檢查的,找到即停) r2(config)#int f0/1 r2(config-if)#ip access-group 1 out #應用到r2路由器f0/1的出口 r2#show access-lists #查看建立的ACL列表 Standard IP access list 1 deny host 192.168.1.10 deny 192.168.1.0 0.0.0.255 permit any
接下來咱們進行驗證
若是ACL列表建立了好多條記錄,若是想修改的話,刪除其中一條就等於把這個ACL列表都刪除了。網絡
r2(config)#no access-list 1 deny host 192.168.1.10 r2#show access-lists
擴展ACL
根據數據包的源IP地址、目的IP地址、指定協議、端口和標誌來容許或拒絕數據包,訪問控制列表號是100--199.
咱們也經過一個簡單的拓補來介紹一下擴展ACL
接下來咱們建立擴展ACL列表規則
(我的建議,若是圖中的兩個路由器均可以管理的話,建立擴展ACL建立在離源地址近的位置)tcp
r1(config)#access-list 101 permit tcp host 192.168.1.10 host 192.168.3.20 eq 80 #容許主機192.168.1.10訪問主機192.168.3.20的80端口 (eq表示等於) r1(config)#access-list 101 deny icmp host 192.168.1.10 host 192.168.3.20 echo #拒絕主機192.168.1.10拼通主機192.168.3.20 r1(config)#access-list 101 permit ip any any #容許全部主機訪問全部主機 r1(config)#int f0/0 r1(config-if)#ip access-group 101 in #應用到r1路由器的f0/0接口的進方向
咱們來驗證效果
擴展ACL和標準ACL同樣,若是ACL列表建立了好多條記錄,若是想修改的話,刪除其中一條就等於把這個ACL列表都刪除了。ide
r2(config)#no access-list 101 permit tcp host 192.168.1.10 host 192.168.3.20 eq 80 r2#show access-lists
命名ACL
命名ACL能夠用名代替表號,也能夠在指定的位置添加後刪除任意一條規則
咱們也經過一個簡單的拓補來介紹一下命名ACL
接下來咱們建立命名ACL規則測試
r1(config)#ip access-list extended benet #建立命名擴展ACL列表(建立標準的命名ACL,選項standard),名爲benet r1(config-ext-nacl)#permit tcp host 192.168.1.10 host 192.168.3.20 eq 80 #容許主機192.168.1.10訪問主機192.168.3.20的80端口 r1(config-ext-nacl)#permit tcp host 192.168.1.10 host 192.168.3.20 eq 21 #容許主機192.168.1.10訪問主機192.168.3.20的21端口 r1(config-ext-nacl)#deny icmp host 192.168.1.10 host 192.168.3.20 echo #拒絕主機192.168.1.10拼通主機192.168.3.20 r1(config-ext-nacl)#permit ip any any #容許全部主機訪問全部主機 r1(config)#int f0/0 r1(config-if)#ip access-group benet in #把命名ACL應用到r1路由器f0/0的進接口方向 r1#show access-lists #查看一下ACL列表(注意每條列表規則前面都有編號) Extended IP access list benet 10 permit tcp host 192.168.1.10 host 192.168.3.20 eq www 20 permit tcp host 192.168.1.10 host 192.168.3.20 eq ftp 30 deny icmp host 192.168.1.10 host 192.168.3.20 echo 40 permit ip any any
測試效果
接下來咱們稍微修改一下ACL列表3d
r1(config)#ip access-list extended benet #進入命名擴展ACL列表中 r1(config-ext-nacl)#no permit tcp host 192.168.1.10 host 192.168.3.20 eq 21 #刪除規則(容許主機192.168.1.10訪問主機192.168.3.20的21端口) r1(config-ext-nacl)#5 permit icmp host 192.168.1.10 host 192.168.3.20 echo #添加第5條規則容許主機192.168.1.10拼通主機192.168.3.20 r1#show access-lists #查看規則,發現多了第5條規則,第20條規則消失了 Extended IP access list benet 5 permit icmp host 192.168.1.10 host 192.168.3.20 echo 10 permit tcp host 192.168.1.10 host 192.168.3.20 eq www 30 deny icmp host 192.168.1.10 host 192.168.3.20 echo 40 permit ip any any
驗證效果
相比較而言,命名ACL比標準ACL和擴展ACL更靈活、更實用一些,現實環境中,結合實際狀況使用
這上面都是介紹如何在路由器上應用ACL,下面咱們簡單介紹一下在交換機上如何應用ACL(仍是上面的那個實驗拓補)code
Switch(config)#int vlan 1 Switch(config-if)#ip add 192.168.1.254 255.255.255.0 Switch(config-if)#no sh #給交換機設置虛擬的IP地址 Switch(config)#username cisco pass 123 #建立本地用戶名、密碼 Switch(config)#access-list 101 deny tcp host 192.168.1.10 host 192.168.1.254 eq telnet #建立號爲101的ACL列表拒絕主機遠程管理交換機 Switch(config)#access-list 101 permit ip any any #建立號爲101的ACL列表容許全部 Switch(config)#line vty 0 4 Switch(config-line)#login local #本地驗證 Switch(config-line)#access-class 101 in #應用號爲101的ACL列表(路由器是在接口模式裏應用ACL,交換機虛接口不能夠應用ACL,只能這樣應用)
編寫列表中經常使用的關鍵字blog
好比:host 192.168.1.1 和192.168.1.1 0.0.0.0 效果同樣 any 和 0.0.0.0 255.255.255.255 效果同樣
今天就先介紹這麼多,願咱們共同進步,共同努力!接口