IP包头分析

单位比特

大小:20-60字节

版本

ipv4         ipv6

0100        0110        对应10进制

首部长度

表示IP包头的大小,由于只有4比特,所以实际值为4倍(单位为32比特也就是4字节)

优先级与服务类型(使用不多)

3比特优先级 4比特服务类型 1比特保留

总长度

整个IP报文的长度,即使超过最大字节1500,仍然写总长度

如4000字节数据 20字节tcp包头 20字节ip包头

写4040字节,会被分片传输

传输层和应用层数据会被切割,每一份都会加上一个ip包头

段偏移量

决定IP分片的先后顺序

由于每个分片不一定按顺序到底,所以使用段偏移量表示顺序

第一个分片为0,第二个分片为1480,第三个段偏移量为2960

但只有段偏移量还不行,如果有两条数据六个分片,那么可能会将两个数据错误的组合在一起

理想情况:

你吃饭了吗?

你上厕所了吗?

可能情况:

你吃厕所了吗?

你上饭了吗?

所以还需要标识符

标识符

随机生成的一串id,标识同一个报文的所有分片,对分片进行分类

标识

第一个比特保留

第二个比特

为0代表该数据包进行了分片

为1代表未分片

第三个比特

为0代表本分片是最后一个分片

为1代表还有后续分片

攻击方式(泪滴攻击)

第二个分片段偏移量设为500,导致部分数据被覆盖会使计算机一直尝试重组数据,一直失败导致该计算机死机,是DDOS攻击的一种

防御方式:防火墙禁止分片进入,返回提示信息,发送端收到后将在应用层进行分片

TTL(time to live生存时间)

有一个初始值,根据不同系统初始值不同

由于只有8个比特所以最大值为255

每经过一个路由器就减一,若到0还没到达目标地址,则会被丢弃。

作用:防止一个数据包在互联网永久的循环

协议号

识别上层协议

常见:tcp(6)         udp(17)        icmp(1)

首部校验和(作用和fcs类似)

路由原理

概述

-跨越从源主机到目标主机的一个互联网络来转发数据包的过

路由:路由器为IP包选择路径的过程

路由表

路由器中维护的路由条目的集合
路由器根据路由表做路径选择

路由表不会自动完善,未配置的情况下只有直连网段的信息

C 10.1.1.0/24 F0/0

C 20.1.1.0/24 F0/1

c代表直连路由,该路由器两个口在10和20网段下

若发送一个不在该路由表的包,路由器会直接丢弃!

可以手动配置路由

静态路由

由管理员手工配置的,是单向的
缺乏灵活性

S代表手动配置的路由表项

S 70.1.1.0/24 F0/1

但一般不写出口而是写下一跳地址

S 70.1.1.0/24 20.1.1.2(下一跳地址)

如图

我们发现30-70网段配置过于类似且繁杂

0.0.0.0/0默认路由

代表所有ip地址的所有网段,有了它我们就可以对上面的路由表进行优化

表示其他所有的网段下一条都走20.1.1.2

匹配路由表的顺序

根据管理路由值匹配路由,管理路由值可以手动改变,改变后的路由成为浮动路由

C        0        S        1        S*        无穷大

值越小优先级越高,优先级低的会被隐藏

交换与路由对比

·路由工作在网络层
一根据“路由表”转发数据
一路由选择
—路由转发

·交换工作在数据链路层
—根据“MAC地址表”转发数据
—硬件转发

命令

配置静态路由

Router(config)# ip route 目标网段  子网掩码  下一跳地址(或接口)

配置浮动路由

Router(config)# ip route 目标网段  子网掩码  下一跳地址(或接口) 管理路由值

查看路由表

show ip route

网络安全学习(十四)IP协议相关推荐

  1. javaweb学习总结(四)——Http协议

    javaweb学习总结(四)--Http协议 一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用 ...

  2. OpenCV与图像处理学习十四——SIFT特征(含代码)

    OpenCV与图像处理学习十四--SIFT特征(含代码) 一.SIFT算法 二.SIFT实现过程 三.代码实现 一.SIFT算法 SIFT, 即尺度不变特征变换算法(Scale-invariant f ...

  3. PyTorch框架学习十四——学习率调整策略

    PyTorch框架学习十四--学习率调整策略 一._LRScheduler类 二.六种常见的学习率调整策略 1.StepLR 2.MultiStepLR 3.ExponentialLR 4.Cosin ...

  4. C1认证学习十四、十五(算法常识、HTML Head 头)

    C1认证学习十四.十五(算法常识.HTML Head 头) 文章目录 C1认证学习十四.十五(算法常识.HTML Head 头) 十四(算法常识) 任务背景 任务目标 查找算法 1.顺序查找 2.二分 ...

  5. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...

  6. TCP/IP学习笔记:TCP/IP协议介绍

    TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础.TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.2 ...

  7. TCP/IP协议学习笔记(一)IP协议

    IP相当与OSI模型中的第三层,网路层. 网络层的主要作用是"实现终端节点之间的通信". IP大致分为三大作用模块,它们是IP寻址.路由(最终节点为止的转发)以及IP分包与组包. ...

  8. TCP/IP详解--学习笔记(3)-IP协议,ARP协议,RARP协议

    ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息. 1.IP协议 IP协议是TCP/IP协议的 ...

  9. 《lwip学习7》-- IP协议

    IP 协议负责将数据报从源主机发送到目标主机,通过 IP 地址作为唯一识别码,简单来说,不同主机之间的 IP地址是不一样的,在发送数据报的过程中, IP 协议还可能对数据报进行分片处理,同时在接收数据 ...

  10. Node学习十四 —— 使用node创建HTTP请求

    创建HTTP连接 Node擅长处理I/O操作,所以它不仅合适提供HTTP服务,也适合使用这些服务.接下来你将学习使用http模块和第三方模块执行和控制http请求. 在HTTP协议中,有两个重要的属性 ...

最新文章

  1. linux中man 1 2 3
  2. vscode函数跳转插件_人生苦短,我们为 Cocos Creator 开发的插件和工具
  3. 数据结构与算法--解决问题的方法- 二叉树的的镜像
  4. 值得关注的开源软件推荐
  5. adb工具的下载及配置
  6. JAVA 异或校验byte数组
  7. linux下配置内网ip
  8. Adobe Audition 2020 for Mac安装不了怎么办?Au下载安装教程来啦 内附系统要求
  9. [概率论]艾波寧捎信(poisson分布)
  10. 潇洒郎:批量压缩大师——python实现文件批量命名+批量加密码——GUI软件——打包exe文件
  11. Android4.4之后SD卡存储方案
  12. 中科院计算所培训中心 ---2014年三季度课程安排
  13. 产品从无到有的完整工作流程
  14. python web什么意思_理解Python的Web开发
  15. Laplacian matrix
  16. 存储器管理之分段存储管理
  17. initWithNib init initWithCoder initWithFrame
  18. pr导出html,你好,PR导出视频的时候怎样设置最清楚?
  19. t40服务器连接显示器的接口,如何选择显示器连接线?VGA、DVI、HDMI、DP四种主流接口知识...
  20. CVPR 2022 | 从人体网格预测骨架,是真正的生理学骨架!

热门文章

  1. java实现马赛克,java如何用Processing生成马赛克风格的图像
  2. JAVA基础(完结版)
  3. 树莓派上串口TTL转RS485模块
  4. 费雪MOGAFX方程式是什么?(三)
  5. SparkSql 控制输出文件数量且大小均匀(distribute by rand())
  6. vue加elementui开发的分页显示
  7. 2015年中国数据库技术大会(DTCC)PPT合集
  8. 发布一个JINI服务
  9. 包含C/C++开发文档的Docset文档库
  10. ORACLE中分钟用mm和mi 标示区别