传输层的协议主要有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 效果同样
今天就先介绍这么多,愿咱们共同进步,共同努力!接口