Linux高性能服务器编程——ch2笔记

news2025/1/17 0:27:51

第2章 IP 协议详解

2.1 IP服务的特点

无状态:IP通信双方不同步传输数据的状态信息。IP数据报相互独立,缺点是无法处理乱序和重复的IP数据报。上层协议如果是面向连接的协议(TCP),能够自己处理乱序和重复的报文段。IP数据报头部的标识字段是被用来处理IP分片和重组的,不是指接收顺序。优点是简单高效。UDP和HTTP也是无状态的。
无连接:IP通信双方都不长久地维持对方的任何信息。
不可靠:IP协议不能保证IP数据报准确地到达接收端。通知上层协议发送失败,但不重传,使用IP的上层协议需要自己实现数据确认、超时重传。

2.2 IPv4头部结构

image.png
同一个数据报的所有分片都具有相同的标识值。
实际偏移值:13位分片偏移*8,除最后一个分片外,每个分片数据部分长度必须是8的整数倍。
数据报转发过程中,每经过1个路由,TTL减1。

2.3 IP分片

IP数据报超过MTU时,将被分片传输。发生在发送端或中转路由器上,最终在目标机器上组装。
数据报标识、标志、片偏移。
image.png
以太网帧的MTU是1500字节。

2.4 IP路由

image.png
接收到IP数据报首先对IP头部进行CRC校验。
源站选路选项:松散源路由选择或严格源路由选择。
IP路由机制(给定目标IP地址,如何匹配路由表)按顺序:
1)完全匹配IP地址,就使用该路由项;
2)具有相同网路ID的网络IP地址(如网关地址),就使用该路由项;(网路ID:连续255部分,主机ID:连续0部分)
3)默认路由项,下一跳路由是网关。
静态路由更新方式:route命令。
动态路由更新方式:BGP协议、RIP协议、OSPF协议。

2.5 IP转发

主机和路由器都能进行IP转发。

2.6 重定向

ICMP 重定向报文也能用于更新路由表。
image.png

2.7 IPv6头部结构

解决v4地址不够用问题,并做了改进。
IPv6头部由40字节的固定头部和可变长的扩展头部组成。
零压缩法只能用一次。
IPv6协议并不是IPv4协议的简单扩展,而是完全独立的协议。用以太网帧封装IPv6数据报和IPv4数据报具有不同的类型值。第1章提到,IPv4数据报的以太网帧封装类型值是0x800, 而IPv6数据报的以太网帧封装类型值是 0x86dd。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1107823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Leetcode】 707. 设计链表

你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点…

英语——分享篇——每日200词——1201-1400

1201——wound——[wu:nd]——n.伤口,创伤——wound——wo我(拼音)un联合国(编码)d狗(编码dog)——我在联合国治好了狗的伤口——The nurse cleaned the wound .——护士清洗了伤口。 1202——from——[frɒm]——prep.来自,从,由于——from—…

正点原子嵌入式linux驱动开发——pinctrl和gpio子系统

在上一篇笔记中,学习编写了基于设备树的LED驱动,但是驱动的本质还是没变,都是配置LED灯 所使用的GPIO寄存器,驱动开发方式和裸机基本没区别。Linux是一个庞大而完善的系统,尤其是驱动框架,像GPIO这种最基本…

C++11 正则表达式详解

目录 1 正则表达式语法1.1 字符和特殊字符1.2 限定符1.3 定位符1.4 选择和反向引用 2 C正则表达式标准库常用接口3 C正则表达式模板的使用3.1 匹配(Match)3.2 搜索(Search)3.3 分词(Tokenize)3.4 替换&…

【前端学习】—ES6新增的方法有哪些(十五)

【前端学习】—ES6新增的方法有哪些(十五) 一 、ES6中新增的方法 (一)、Object.is() //用于判断两个值/数据类型是否相等/* 特点:不仅可以对值类型进行正常处理,对象类型的值也可以处理对于特殊的值NaN 也…

分享一下怎么做多门店小程序

近年来,随着互联网的普及和移动支付的兴起,越来越多的商家开始涉足线上业务,开发自己的小程序。对于拥有多家门店的连锁品牌来说,开发多门店小程序是一个非常不错的选择。本文将围绕多门店小程序的制作展开讨论,希望能…

阿里8年经验之谈 —— 如何选择合适的自动化测试工具?

自动化测试是高质量软件交付领域中最重要的实践之一。在今天的敏捷开发方法中,几乎任一软件开发过程都需要在开发阶段的某个时候进行自动化测试,以加速回归测试的工作。自动化测试工具可以帮助测试人员以及整个团队专注于自动化工具无法处理的各自任务&a…

【网络安全 --- XSS绕过】xss绕过手法及思路你了解吗?常见及常用的绕过手法了解一下吧

本次博客以pikachu靶场为例,需要安装靶场可以参考以下博客(都包含工具,镜像下载地址) 一,工具资源下载 1-1 VMware虚拟机的安装 请参考以下博客,包含资源下载地址(若已安装请忽略)…

2023年知名国产数据库厂家汇总

随着信创国产化的崛起,大家纷纷在寻找可替代的国产数据库厂家。这里小编就给大家汇总了一些国内知名数据库厂家,仅供参考哦! 2023年知名国产数据库厂家汇总 1、人大金仓 2、瀚高 3、高斯 4、阿里云 5、华为云 6、浪潮 7、达梦 8、南大…

基于java网上书城系统的设计与实现

1 绪 论 网上书城系统采用了一种ssm的开发框架。讨论该系统的需求分析,将系统分为两大模块。前台模块由五部分功能组成,而后台模块则由八部分功能组成。作为网上书城系统,它的设计目的是改变传统的图书销售模式,迎合当代主流需…

acwing算法基础之数据结构--KMP算法

目录 1 知识点2 模板 1 知识点 KMP算法已经集成到string类型的find()方法了, 但这里我们不用这个,我们自己来实现这个方法。 KMP算法的关键步骤: p[N]表示输入模式串,求取该模式串的ne[]数组。ne[i]表示前缀等于后缀的长度&…

电压放大器在电子实验中有哪些作用

电压放大器在电子实验中扮演着重要的角色,它可以实现对电压信号的放大,为实验提供所需的电压级别。下面是电压放大器在电子实验中的几个常见作用: 信号放大:电压放大器的主要作用是将输入信号的幅度放大,以便进行更准确…

AXI总线协议

总线:总线是传输数据的通道,由各种逻辑器件构成,一般由数据线、地址线、控制线等构成 接口:连接标准,又称之为物理接口i 协议:传输数据的规则 什么是AXI AXI(Advanced Extensible Interfece)是高级可扩展…

ModelCenter—多学科设计优化软件

产品概述 Ansys ModelCenter是美国Ansys公司旗下的一款产品,用于赋能工程师创建和自动化多工具工作流,优化产品设计。ModelCenter是一个创新的软件框架,可以灵活地满足基于模型的需求工程。在ModelCenter框架内工作,工程师能够将…

GDPU 数据结构 天码行空5

一、实验目的 1.掌握队列的顺序存储结构 2.掌握队列先进先出运算原则在解决实际问题中的应用 二、实验内容 仿照教材顺序循环队列的例子,设计一个只使用队头指针和计数器的顺序循环队列抽象数据类型。其中操作包括:初始化、入队…

安全典型配置(四)使用自反ACL实现单向访问控制案例

【微|信|公|众|号:厦门微思网络】 安全典型配置(一)使用ACL限制FTP访问权限案例_厦门微思网络的博客-CSDN博客 安全典型配置(二)使用ACL限制用户在特定时间访问特定服务器的权限-CSDN博客 安全典型配置&#xff0…

【Note】CNN与现代卷积神经网络part2(附Pytorch代码)

文章目录 1.4 多输入多输出通道1.4.1 多输入通道1.4.2 多输出通道1.4.3 11卷积层1.4.4 Summary 1.5 汇聚层1.5.1 最大汇聚层和平均汇聚层1.5.2 填充和步幅1.5.3 多个通道1.5.4 Summary 1.6 卷积神经网络(LeNet)1.6.1 LeNet1.6.2 模型训练1.6.3 Summary 本…

一篇文章让你两种方式调用星火大模型,搭建属于自己的“chatgpt”

申请 网址&#xff1a;星火大模型api注册链接 选择零元购 获取你专属的key、密钥、appid 方法1&#xff1a;使用jquery直接调用 html: //应用插件-此插件用于对url编码加密&#xff0c;资源包已经上传&#xff0c;审核通过后&#xff0c;会在顶部显示<script src"…

三级分类部分三级目录无法加载,后端接口能在前端返回所有数据

项目场景&#xff1a; 实现ElementUI中三级分类的功能&#xff0c;发现没有前端三级目录的二级目录可以新建三级目录&#xff0c;数据库中也有数据&#xff0c;但是无法在前端显示&#xff01;后端的接口没有返回数据库的数据。 问题描述 提示&#xff1a;这里描述项目中遇到…

MySQL数据库varchar字段求和出现精度丢失

问题描述 在MySQL数据库中&#xff0c;将varchar字段用于数值运算时&#xff0c;会将其转换为数值类型进行计算。然而&#xff0c;由于varchar字段的可变长度特性&#xff0c;可能存在数值精度丢失的问题。 我用varchar类型存储学生的分数&#xff0c;分数有两位小数&#xff…