开发者社区> jghybg64iaom6> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【计算机网络】网络层(二)ipv4头部分析

简介: 背景知识——网络层的设计原则(意译) 保证它能跑起来 在没有确定它一定能跑起来之前不要急着最终确定标准 简单 有明确的选择 做同一件事情只需要通过一种方式 利用模块化 模块分离,一个模块出现问题不影响
+关注继续查看
注:本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

背景知识——网络层的设计原则(意译)

  • 保证它能跑起来

在没有确定它一定能跑起来之前不要急着最终确定标准

  • 简单
  • 有明确的选择

做同一件事情只需要通过一种方式

  • 利用模块化

模块分离,一个模块出现问题不影响其他

  • 简单、通用、灵活以适应不同环境
  • 避免静态选项和参数

如果一定会用到参数,也最好是收发双方协商好一个值,而不是写死了的固定的参数

  • 设计不需要十全十美

好的设计是满足大多数人的要求,如果有人有一些奇怪的、特殊的要求,就让他们自己想办法

  • 对发送给别人的信息要高要求,对收到的信息可以容忍有瑕疵

严以律己,宽以待人

  • 要考虑规模

如果系统的规模是百万甚至亿级规模的,不要再用中心化的数据库,一定要考虑负载均衡的问题

  • 考虑性能和成本

IP地址

IPv4头部

image.png

可以这么记忆:
头部的必备部分分为五行:

  • 第一行是与包的长度相关
  • 第二行是成帧相关
  • 第三行是传输相关
  • 第四行是源地址,第五行是目标地址

下面是对各部分的详细解读:

version:版本号

是ipv4还是ipv6

IHL:ip header length

头部大小=IHL(10)x4

IHL的取值范围为5\~15
所以对应头部大小取值范围为20\~60

Differentiated service

image.png

total length:整个数据报的大小

total length=头部大小(IHL(10)X4)+数据部分

identification

来自同一个包的帧有相同的值

我的理解:便于组装

image.png

DF、MF、fragment offset作用

  • DF:don't fragment,所以为1时不分片
  • MF:more fragment,所以为1时分片未完,为0时分片结束
  • fragment offset:确定fragment在包中的位置

这个标志位有13位,表示单个packet最多可容纳2^13个fragment
(回顾:total length是16bit,其实很逼近了)

time to live

最大为255.
递减规则:

  • 按秒递减
  • 每经过一跳(指从一个路由到另一个路由)
  • 当长时间在一个路由的队列中等待,应急速递减

值为0时该包解体,并回传警告包给源主机

协议

在接收方传到上层的什么协议 TCP or UDP?

image.png

optional

注意:现在一般不怎么讲这个,因为很多路由不认,了解即可

  • security:一般会被路由忽略,还有种此地无银三百两的意味,让有心人知道它很重要
  • strict source routing:指定完全路径
  • loose source routing:类似于公交车一定得经过某几个站点一样,此处一定得经过某几个路由
  • record route:告诉路由加上它的ip地址到包里
  • timestamp:告诉路由加上它的ip地址+时间戳

参考书籍

《计算机网络 第五版》Andrew等著(小蓝书)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
计算机网络基础(网络层IP/ARP)
互联网上的每台主机都有两个地址一个是物理地址(设备的地址)另一个是逻辑地址。物理地址在主机生产时已经被设置好了,逻辑地址是在主机接入互联网时被分配的一个唯一的IP。而网络层的作用就是保证网络中计算机之间的能正确的查找到主机的逻辑地址。
0 0
计算机网络学习22:IPv4数据报首部格式
固定部分就是必须要有的。每个报文都要有的。 每个小格子称为 域 或者 字段,每个字段或者某些字段的组合用来表达IP协议的相关功能。
0 0
【计网修炼手册】五层协议-3网络层-ICMP
《计算机组成原理》、《数据结构与算法》、《操作系统》、《计算机网络》不仅是大学信息科学与工程学院的核心课程,也是计算机考研专业基础综合408的考试内容。学习这些内容可能不见得像学习Java和GO一样能让你迅速找到工作,但他们作为计算机世界的基石是需要认真掌握的,这些知识是源源不断的技术浪潮中不会被淘汰的知识。
0 0
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(一)
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(一)
0 0
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(二)
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(二)
0 0
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(三)
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(三)
0 0
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(四)
【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(四)
0 0
【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★
【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★
0 0
【计算机网络】网络层 : RIP 协议 ( 路由选择协议分类 | RIP 协议简介 | 信息交换 | 距离向量算法 | 计算示例 )★
【计算机网络】网络层 : RIP 协议 ( 路由选择协议分类 | RIP 协议简介 | 信息交换 | 距离向量算法 | 计算示例 )★
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
互联网协议第六版(IPv6)部署方案及设计
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载