目录
四.ACL access control list 访问控制列表
传输层两个重要协议TCP和UDP,本章将详细介绍其首部格式,TCP连接建立与终止的过程。
① TCP 传输控制协议
② UDP 用户数据包协议
tcp 是面向连接的, 可靠的进程到进程通信的协议
提供双向服务,数据可以在统一时间双向传输
每个tcp 都有发送缓存和接收缓存 用来临时存储数据
tcp 将若干个字节构成一个分组 成为报文段 segment
tcp 报文段封装在ip 数据报中
源端口 :16位 发送方进程对口 电脑随机
目标端口号 : 16位 对应接收端的进程
序号 :对接受到数据字节的编号 编号不一定从零开始 每个方向上编号互相独立
确认号 : 对发送端确认信息,发送端编号+1
首部长度 : 确定首部数据结构的字节长度
保留 未使用
URG 紧急指针有效位
ACK 接受确认位, 当ACK=1 确认序号字段才有效
PSH 推送标志位 为 1 时 接受方需尽快将数据送达应用层
RST 重置位 为 1 时 表示 重新建立TCP 连接
SYN 请求同步位 为 1 时 表示请求和目标建立tcp 连接
FIN 完成位 为 1时 表示提出和目标方断开TCP连接
窗口大小 说明可接受数据段的数目
校验和 校验整个tcp 数据段,包括 tcp 头部 数据和 其他填充字节
紧急指针位 当URG=1 时 有效
tcp 面向连接的协议,源和目标端 建立 一条虚连接
tcp 通双方需先建立连接,数据发送结束后 双方再断开连接
建立连接需要三次握手 断开连接 分四步 需四次握手
第一次握手 源端发送方 tcp 数据段中 控制位 只有 SYN=1 其他全部为 0
第二次握手 目标端收到后,确收收到 确认号 是源端发来序号+1 控制位中 ACK=1 其他 全部为 0
另发送目标端向源端的数据连接请求 控制位 其中 SYN=1
为了节省时间上面两步 和为一步完成
第三次握手 源端收到后,确认目标端的syn 请求 发送tcp 字段 确认号 是目标端序号+1 控 制位中 ACK=1
服务器向客户端发送 FIN 和 ACK 位置 1 的 TCP报文段
客户端向服务端返回 ACK 位置 1 的 TCP报文段
客户端向服务端发送 FIN 和 ACK 位置 1 的 TCP报文段
服务器向客户端返回 ACK 位置 1 的 TCP报文段
一方可以终止发送数据, 另一个任然可以接受数据 称为半关闭
客户都安发送 FIN 报文 半关闭 了这个连接, 服务器发送ACK 报文端接受半关闭
服务器继续发送数据 而客户端只发送ack 确认 不再发送任何数据
当服务器 已经把所有数据发送完毕后,就发送FIN 报文 客户端再 ACK 报文确认
常见的 TCP 端口 : ftp 21 telnet 23 smtp 25 http 80
UDP 是一个无连接,不保证可靠性的传输协议
发送端不关心 发送数据是否到达目标主机,数据是否出错 数据可靠性由上层数据来保障
优点 报文结构简单, 传输开销小 时间快
TFTP 简单文件传输协议 69端口
RPC 远程过程调用 端口 111
NTP 网络时间协议 端口 123
①应用再路由器接口的指令列表 用来告诉路由器哪些数据包可以接受 哪些数据包需要拒绝
② 基本原理: 使用包过滤技术, 路由器读取 osi 七层中的第三层及 第四层 如源地址, 目的地址,源端口, 目标端口等 根据预先设置的规则 对包进行过滤。
① 标准ACL 根据数据包的源ip 地址来允许或拒绝 数据包
标准ACL的访问控制列表号是 1—99
②扩展ACL 根据数据包的源ip 地址 目的ip 地址 指定协议 端口和标志来允许或者拒绝数据包
扩展ACL 访问控制列表号 100—199
③命名ACL 允许再标准ACL和扩展ACL 中使用名称代替表号
五个元素 源ip 地址 目标 ip 地址 协议 源端口 目标端口
只有两个方向 出, 已经过路由器处理,正离开路由器接口的数据包
入,已到达路由器接口的数据包, 将被路由器处理
router(config)# access-list 1 permit/deny 源地址 源地址子网掩码反码
默认路由器隐含的拒绝语句
access-list 1 deny 0.0.0.0 255.255.255.255
关键字 host any
允许某台主机通信
router(config)# access-list 1 permit host 主机IP地址
拒绝任何主机通信
router(config)#access-list 1 deny any
将ACL 应用到接口
router(config-if) ip access-group acl 号 in/out
路由器一个接口可以由两个方向, 每个方向只能应用一个acl