【计算机网络】网络层(二)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等著(小蓝书)

相关文章
|
12天前
|
数据采集 搜索推荐 算法
基于B站视频评论的文本分析,采用包括文本聚类分析、LDA主题分析、网络语义分析
本文通过Python爬虫技术采集B站视频评论数据,利用LDA主题分析、聚类分析和语义网络分析等方法,对评论进行深入的文本分析,挖掘用户评论的主题、情感倾向和语义结构,旨在为商业决策提供支持,优化内容创作和用户满意度。
基于B站视频评论的文本分析,采用包括文本聚类分析、LDA主题分析、网络语义分析
|
12天前
|
数据采集 自然语言处理 监控
【优秀python毕设案例】基于python django的新媒体网络舆情数据爬取与分析
本文介绍了一个基于Python Django框架开发的新媒体网络舆情数据爬取与分析系统,该系统利用Scrapy框架抓取微博热搜数据,通过SnowNLP进行情感分析,jieba库进行中文分词处理,并以图表和词云图等形式进行数据可视化展示,以实现对微博热点话题的舆情监控和分析。
【优秀python毕设案例】基于python django的新媒体网络舆情数据爬取与分析
|
1天前
|
存储 网络协议 安全
计算机网络-网络层
计算机网络-网络层
|
3天前
|
网络协议 网络架构
【网络工程师配置篇】BGP联盟配置案例及分析(超级干货)
【网络工程师配置篇】BGP联盟配置案例及分析(超级干货)
|
11天前
|
网络协议 Java 关系型数据库
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
41 2
|
12天前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
24 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
13天前
|
数据采集 存储 自然语言处理
基于网络爬虫的微博热点分析,包括文本分析和主题分析
本文介绍了一个基于Python网络爬虫的微博热点分析系统,使用requests和pandas等库收集和处理数据,结合jieba分词、LDA主题分析和snownlp情感分析技术,对微博文本进行深入分析,并利用matplotlib进行数据可视化,以洞察微博用户的关注点和情感倾向。
基于网络爬虫的微博热点分析,包括文本分析和主题分析
|
5天前
|
算法
蜂窝网络下行链路的覆盖率和速率性能matlab仿真分析
此程序在MATLAB2022a环境下运行,基于随机几何模型评估蜂窝网络的下行链路覆盖率和速率性能。通过模拟不同场景下的基站(BS)配置与噪声情况,计算并绘制了各种条件下的信号干扰加噪声比(SINR)阈值与覆盖率概率的关系图。结果显示,在考虑噪声和不同基站分布模型时,覆盖率有显著差异,提出的随机模型相较于传统网格模型更为保守但也更加贴合实际基站的分布情况。
|
8天前
|
Kubernetes 网络协议 Linux
容器跨主机通信:Flannel网络实现机制分析(二)
容器跨主机通信:Flannel网络实现机制分析(二)
19 0
|
8天前
|
存储 Linux 数据中心
容器跨主机通信:Flannel网络实现机制分析(一)
容器跨主机通信:Flannel网络实现机制分析(一)
15 0

热门文章

最新文章