-IP包头分析与静态路由
IP数据包格式
基础知识
1.整张图表示上三层结构
2.最下面的“数据”指四层加五层的数据
3.从版本到可选项即为三层包头
4.括号中的值单位是比特,每行32比特(4字节)
5.图中所示的20字节是IP包头的最小长度
6.可选项最多可达到10行(40字节),轻易不会被使用
7.IP包头的长度是可变的,20~60字节,一般为20字节
数据包各部分介绍
1.版本:表明IP地址的版本(IPV4,IPV6)
0100(ipv4包头),0110(ipv6包头)
2.首部长度:表明本IP包头的长度(20~60),有没有使用可选项
四位数中的每一位都表示32比特(即4字节)
最常见的0101(十进制的5,5*32比特=20字节)
3.优先级与服务类型
前三个比特代表优先级,中间四个比特代表服务类型,最后一个未被启用
服务类型:低延迟、高通道服务类型
QOS,TOS
4.总长度:表明整个IP包(三四五层)的总长度
分开后,每一个都叫IP分片,三个IP包头中有一个量是不同的(段偏移量)
与IP分片有关的
与IP分片有关的三个层:标识符,标志,段偏移量。在总长度大于1500时开始分片
5.标识符:标识同一个报文 的所有分片
发送端随机生成
接收方据此将收到的IP分片先进行分类
6.标志:
第一个比特永远为0(未被启用)
第二个比特:若为0,则表明进行了分片;若为1,则表明未进行分片
第三个比特:表明本分片是否为最后一个分片
为1,本分片不是最后一个分片;为0,是最后一个分片
7.段偏移量:决定IP分片的先后顺序
如图,第一个IP分片的段偏移量为0,第二个为1480,第三个为2960,依次往后加1480
防火墙拦截IP分片
即防火墙只让标志位的010通过,则此时,不再在网络层分片,将分片任务交给应用层,应用层将其分成1460的分片
8.TTL(time to life):防止一个数据包在网络上永久的循环下去
TTL由8个比特组成(0~255),这个数字表示路由器个数,每经过一个路由器TTL值减一
通过TTL初始值可以大概判断对方是什么主机(Windows,Linux )
一般100以上为Windows主机,100以下为Linux主机
9.协议号
6:通向TCP协议
17:通向UDP协议
1: 通向同层的ICMP协议
10.首部校验和:校验三层的IP包头
路由原理
路由概述
1.跨越从源主机到目标主机的一个互联网来转发数据包的过程,即路由器为IP包(根据路由表)选择路径的过程
2.路由器连接不同的网段
3.路由器的转发的唯一依据叫路由表
4.路由表一般不会自动学习,需要人为配上去
5.完善路由表时,一种是自动写的(用C表示),一种是人为配的(用S表示)
直连路由条目,连接在同一路由器上的设备,只写IP和端口就好
静态条目,即没有连接在同一路由器上的设备
首先写目标IP,再写本网段的下一跳IP地址
6.当路由器工作时,首先看传过来的IP是否属于与自己连在同一路由器的设备,若属于,则向下一跳传输;若不是,则将该数据包丢弃,并向源IP发送回馈
7.优化路由表
(1)将”下一跳IP“相同的路由条目简化为0.0.0.0/0(0.0.0.0代表所有IP),/后面为子网掩码,/0的意思为子网掩码是0.0.0.0
(2)0.0.0.0/0属于静态路由,叫默认路由,代表所有网段。为了辨识默认路由,需加特殊符号* S* 0.0.0.0/0
(3)边缘路由器适合配默认路由
(4)配了默认路由表的路由器不会丢弃数据
(5)路由优先级:与管理距离值有关,也叫A值
每一种路由类型都有自己默认固定的管理距离值
C的直连路由类型的默认管理距离值为0,S的默认管理距离值为1,S*的默认管理距离值为无穷大
在一个路由表中,路由条目的优先级与管理距离值成反比,值越小路由条目的优先级越高
(6)浮动路由
8.路由器与交换机的区别
9.
静态路由:conf t
ip route 目标网段 子网掩码 下一跳IP
如ip route 70.1.1.0 255.255.255.0 20.1.1.2
默认路由:
conf t
ip route 0.0.0.0 0.0.0.0 下一跳IP
如ip route 0.0.0.0 0.0.0.0 20.1.1.2
浮动路由:在静态路由或默认路由后加空格+数字(正整数)
ARP协议
广播与广播域概述
1.广播域越小越好
2.交换机不能控制广播域,路由器能控制广播域
ARP协议概述
1.Address Resolution Protocol,地址解析协议
2.作用:将一个已知的IP地址解析成MAC地址
3.没有ARP无法通信
4.ARP是内网协议
5.工作原理
(1)发送ARP广播请求:生成ARP请求报文(写本机的IP地址和MAC地址,询问目标IP的MAC地址),送到网卡,网卡给ARP请求报文加一个帧头(源MAC写自己,目标MAC写FF-FF-FF-FF-FF-FF),交换机向所有端口进行广播,每台电脑收到帧后,去掉帧头帧尾送到网络层,ARP协议判断目标IP是否为自己,若不是,则不再进行;
(2)接收ARP单播应答:若目标IP是自己,则将自己的MAC地址填上去。再单播给原来的电脑
6.Windows系统中的ARP命令
—arp -a 查看ARP缓存表(arp缓存表只有开机时生效)
—arp -d 清除ARP缓存(本次开机学习的)
—arp -s ARP绑定
ARP攻击和欺骗
ARP协议没有验证机制
ARP攻击
1.ARP协议缓存表中,后到后得
2.当判断目标IP与自己为同一网段时,直接发送ARP请求报文去请求对方的MAC地址
;当判断目标IP与自己不在同一网段时,发送ARP报文请求网关的MAC地址
3.ARP攻击的目的:中断通信/断网
4.原理:通过发送虚假的广播或应答报文
ARP欺骗
目的:截获数据
原理:发送应答报文,将自己的MAC地址作为目标MAC,结果可以监听、窃取、篡改、控制流量,但不中断通信
ARP防御
1.电脑默认没有ARP防御能力
2.方法: (1)静态ARP绑定
手工绑定/双向绑定
Windows客户机上:
arp -s 10.1.1.254 00-01-2c-a0-e1-09
arp -a 查看ARP缓存表
(2)ARP防火墙
自动绑定静态ARP
主动防御
(3)硬件级防御
交换机支持“端口”做动态ARP绑定(配合DHCP服务器)或做静态ARP绑定
如,交换机上开启DHCP监听功能
conf t
ip dhcp snooping
路由原理
1.凡是可以配IP的接口才有MAC
2.只有交换机有MAC地址表
3.ARP缓存表只会根据ARP的应答或请求来更新
4.路由器工作原理
(1)一个帧到达路由器,路由器先检查目标MAC地址是否为自己,如果不是,则丢弃;如果是,则解封装并将IP包送到路由器内部
(2)路由器检查IP包头中的目标IP,并匹配路由表,如果匹配失败,则丢弃,并向源IP回馈错误信息;如果匹配成功,则将IP包路由到出接口。
(3)封装帧,首先将出接口的MAC地址作为源MAC地址封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,则将提取并作为目标MAC地址封装到帧中;如没有,则发送ARP广播请求下一跳的MAC,并获取到对方MAC地址,再记录缓存,并封装帧,最后将帧发送出去。