网络安全-网络通信原理3
网络通信原理
IP数据包格式
网络层概述
位于OSI模型第三层
作用
- 定义网络设备的逻辑地址,俗称网络层地址(如IP地址)
- 在不同的网段之间选择最佳数据转发路径
协议
- IP协议
IP数据包格式
网络层的所有功能,都是通过该层的诸多协议实现的
- 目前网络中,主要的网络层协议是IP 协议
IP数据报是可变长度的,它由两部分组成:首部和数据
- 首部由两部分组成:固定部分和可变部分
- 固定部分20字节,可变部分由一些选项组成,最长40字节
字段作用解析
版本:指的IP地址的版本 (IPv4 或 IPV6)
首部长度:数据包的首部长度一共是多少
优先级与服务类型:表示数据包是否需要优选传递
总长度:表示的是整个数据包的大小,也就是首部+数据
标识符、标志、段偏移量:作用将拆开的数据包进行组合(用来数据重组的)
TTL值:数据生命周期
- 作用:防止数据无限循环转发
- 原理:数据包每经过一台路由器,TTL值会减1,当TTL为0时,数据包被丢弃
协议号:数据包在网络中传递时所用的协议
- 1 – ICMP
- 6 – TCP
- 17 – UDP
首部校验和:是用来做数据包核对用的,确定数据包是否是完整,如果是就接收,如果不是完整的数据包则丢弃
源IP地址 :表示发送这个数据包的设备的IP地址
目标IP地址:表示接收这个数据包的设备的IP地址
可选项:他是一个可变长度,取值范围:0-40个字节 一般数据包中不是加该选项的
数据:他是应用层发出的数据—–在数据包中体现,单独看不到
IP地址解析
网络与广播地址
网络地址
- 主机位全为0的IP地址
- 表示的是一个网络范围,仅仅表示一个区域,不代表任何一个主机
- 例如:192.168.1.0 255.255.25.0,是网络地址
广播地址
- 主机位全为1的IP地址
- 表示的是一个网络范围内的所有主机/设备
- 例如:192.168.1.255 255.255.255.0,是广播地址
可用IP地址
可用IP地址范围及广播地址
网络层常见协议
ICMP协议概述
概述
- ICMP(Internet Control Message Protocol),Internet控制消息协议
- 位于 OSI 模型第三层,即网络层
- 协议号:1
作用
- 在IP网络中发送控制消息,反馈可能发生在通信环境中的各种问题,从而为网络连通性测试以及网络故障定位提供有效指示信息
场景示例
- 当路由器收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个ICMP主机不可达的消息
ICMP协议应用
测试工具-Ping
- 测试两个设备之间的连通性
- 使用的是ICMP协议的数据包
测试命令
- ping 目标IP
- ping 目标IP -t //一直ping目标地址
- ping 目标IP -c X //指定ping几次
- ping 目标IP -i X //指定ping包的字节大小
- tracert 目标IP //路由追踪
Echo Request,请求报文
Echo Reply,响应报文
常见的Ping反馈结果
连接建立成功,Reply from 目标地址….
目标主机不可达,Destination host unreachable
- 同网段中没有这个IP地址,或IP地址错误
- 跨网段通信时,本主机没有填写网关地址
请求时间超时,Request timed out
- 对方主机没有填写网关地址
- 对方的防火墙阻断了
ARP协议概述
ARP(address resolution protocol):地址解析协议
- 属于OSI 模型第三层(网络层)
- 主要作用是:基于目标IP地址获得对应的目标MAC地址,从而完成数据的2层头部封装实现数据的快速转发
ARP报文类型
- ARP请求报文,源设备以广播的方式发送,向所有设备请求MAC地址
- ARP回应报文,目标设备以单播的方式回应,直接返回给“源设备
ARP核心工作表
- ARP表,包含的是IP地址与MAC地址的对应关系条目
- ARP条目分为静态和动态两种类型
- 动态ARP条目的存活时间是1200s
任何设备发送数据的原理
- 任何设备在发送数据包之前,必须检查ARP 表,查看包含去往目标IP地址时所使用的MAC地址
- 如果ARP表包含目标IP地址对应的条目,则使用目标MAC封装数据
- 如果ARP表不包含对应的ARP条目信息,则发送ARP请求,获得目标MAC
ARP常用命令
- PC>arp -a //查看arp缓存表
Internet Address Physical Address Type
192.168.1.2 54-89-98-B9-74-25 dynamic (动态) - PC>arp -d //清空arp缓存表
- PC>arp -s 192.168.1.2 54-89-98-B9-74-25 //添加静态的ARP表记录
ARP工作原理
- 设备刚开机时,ARP表是空的
- 主机10.1.1.1要与10.1.1.2通信,首先以广播方式发送ARP 请求
- 所有主机都接收到10.1.1.1的ARP请求报文,但只有10.1.1.2给它一个单播回复,并将10.1.1.1的MAC地址保存在自己的ARP表
- 主机10.1.1.1将10.1.1.2的MAC地址保存到ARP缓存中,然后就可以发送数据
路由原理和配置
什么是路由
将数据包从一个网段发送到另一个网段
- 需要依靠具备路由功能的设备来完成
- 常见的路由设备有路由器或三层交换机、防火墙
路由器如何工作
根据路由表选择最佳路径
- 每个路由器都维护着一张路由表,这是转发数据包的关键
- 每条路由表记录指明了:到达某个子网或主机应从路由器的哪个物理端口发送,通过此端口可到达该路径的下一个路由器的地址
1 | [R1]display ip routing-table |
路由表的形成
路由表是在路由器中维护的路由条目的集合,路由器根据路由表做路径选择,路由表是怎么形成的呢?
直连网段
- 配置接口IP地址
- 并且接口状态up
非直连网段
路由的类型
依据来源的不同,路由条目可以分为三种类型
- 通过链路层协议发现的路由称为直连路由,优先级为0
- 通过网络管理员手动添加的路由称为静态路由,优先级为60
- 通过动态路由协议自动发现的路由称为动态路由,ospf路由优先级为10
静态路由
静态路由:
- 由管理员手动配置添加,为单向条目
- 通信双方的路由器都需要配置路由,否则会导致数据包有去无回
静态路由配置命令
使用ip route-static 命令
- 指定到达的目的网络
- 基本格式:
1 | [Huawei]ip route-static 目标网络 子网掩码 下一跳地址 |
配置默认路由
默认路由
默认路由
- 默认的目标网络为0.0.0.0/0,可以匹配任何目标地址
- 只有路由表中找不到任何明细路由时,才会使用默认路由(缺省路由)
- 默认路由,可以手动添加,也可以让路由器动态学习
默认路由配置命令
1 | [Huawei]ip route-static 0.0.0.0 0 下一跳地址 |