当前位置: 首页 > news >正文

计算机网络(2) 网络层:IP服务模型

一.Internet Protocol在TCP/IP四层模型中的作用

        第三层网络层负责数据包从哪里来到哪里去的问题。传输层的数据段提交给网络层后,网络层负责添加IP段,包含数据包源地址与目的地址。将添加IP段的数据包交由数据链路层添加链路头形成最终在各节点传输中所需要的数据帧。 (在网络层必须使用IP模型)

        IP服务模型的四个特点:

1.IP服务是一种数据报:它是一种独立的数据报服务,通过路由一跳一跳进行转发,各个数据报之间互相独立没有特殊联系。它蕴含了IPSA(IP Source Addr)源地址与IPDA(IP Dest Addr)目的地址。路由表中并不清除传输一个IP数据报的确定路径,只是通过不断检索IPDA去逐跳转发数据报,最终到达目的地址,可以类比如邮政服务。 

2.不可靠的服务:IP服务是不可靠的服务,因为它不负责准确无误的交付数据报。数据报可能会延迟交付甚至不交付。IP服务不会承诺将一个数据报准确无误的送达目的地址,故而数据报有丢失可能。(这样设计是为了使IP服务变得结构简单,可靠性通过传输层的TCP等协议控制)

3.如果必要可能会放弃一部分数据报,当中间节点路由器存在拥塞等情况,可能会丢弃一部分数据源报,且不会通知源地址。

4.无连接的:TCP数据报不传递网络连接状态的任何信息,故而一定是无连接的,它只是包含IP头的数据报仅此而已。

 

IP服务的一些细节:

1.IP服务会阻止包在路由中的死循环,通过在IP头中设置TTL(Time to live)段实现。经过一次转发TTL减少1,当TTL为0停止转发。

2.如果数据报文过长IP服务会对报文进行分割,例如以太网传输报文小于1500字节,大于1500字节时会进行分割。

3.IP服务使用IP头校验确保数据报的完整性。

4.目前有两种IP地址格式IPV4(32bits)与IPV6(128bits)。 

IPV4数据报抽象格式如下图所示:

1.Version(版本):表示数据报版本IPV4或IPV6

2.Header Length(头长度):进行IP头校验

3.Type of Service:告诉路由器数据报类型(重要程度)

4.Total Packet Length:数据报总长度

5.Packet ID\Flags\Fragment Offset:数据报的ID以及一些标志位,主要用于大数据报分割

6.TTL:生存时间用于避免报文路由死循环。

7.Protocol ID:确定协议格式如TCP或UDP有上百种协议ID

8.IPDA/IPSA:目的地址\源地址

9.OPTIONS:IP服务允许在头部添加一些自定义部分,但是路由器也必须有相应的解析处理功能(一般不使用)

10.DATA:数据段 

相关文章:

计算机网络(2) 网络层:IP服务模型

一.Internet Protocol在TCP/IP四层模型中的作用 第三层网络层负责数据包从哪里来到哪里去的问题。传输层的数据段提交给网络层后,网络层负责添加IP段,包含数据包源地址与目的地址。将添加IP段的数据包交由数据链路层添加链路头形成最终在各节点传输中所需…...

新人学习笔记之(初识C语言)

一、C语言的简介 1.C语言:1978年1月1日美国贝尔实验室推出的一门非常哇塞计算机语言 2.计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 二、C语言能做什么 1.操作系统 2.驱动开发 3.引擎开发 4.游戏开发 5.嵌入式开发 三、学习C语言的好处 …...

Unity EasyRoads3D插件使用

一、插件介绍 描述 Unity 中的道路基础设施和参数化建模 在 Unity 中使用内置的可自定义动态交叉预制件和基于您自己导入的模型的自定义交叉预制件,直接创建独特的道路网络。 添加额外辅助对象,让你的场景栩栩如生:桥梁、安全护栏、栅栏、墙壁…...

Redis 地理散列GeoHash

用数据库来算附近的人 地图元素的位置数据使用二维的经纬度表示,经度范围(-180,180],纬度范围 (-90,90],纬度正负以赤道为界,北正南负,经度正负已本初子午线(英国格林尼…...

vim 显示行号

在 Vim 中,你可以通过几种不同的方式来显示行号。以下是两种常用的方法: 临时显示行号: 当你打开 Vim 并想要临时查看文件的行号时,你可以使用 :set number 命令。这个命令会在当前 Vim 会话中显示行号。如果你想要关闭行号显示&a…...

C++:调整数组顺序使奇数位于偶数前面【面试】

在C&#xff0c;如果要调整数组顺序使所有奇数位于偶数前面&#xff0c;这里提供一种简单且常用的方法&#xff1a;双指针技术。这种方法不需要额外的空间&#xff0c;并且时间复杂度为O(n)。 以下是使用双指针技术实现的示例代码&#xff1a; #include <iostream> #in…...

WPF/C#:程序关闭的三种模式

ShutdownMode枚举类型介绍 ShutdownMode是一个枚举类型&#xff0c;它定义了WPF应用程序的关闭方式。这个枚举类型有三个成员&#xff1a; OnLastWindowClose&#xff1a;当最后一个窗口关闭或者调用System.Windows.Application.Shutdown方法时&#xff0c;应用程序会关闭。O…...

登录/注册- 滑动拼图验证码(IOS/Swift)

本章介绍如何使用ios开发出滑动拼图验证码&#xff0c;分别OC代码和swift代码调用 1.导入项目model文件OC代码&#xff08;下载完整Demo&#xff09; 2.放入你需要显示的图片 一&#xff1a;OC调用 #import "ViewController.h" #import "CodeView.h"…...

MyBatis进行模糊查询时SQL语句拼接引起的异常问题

项目场景&#xff1a; CRM项目&#xff0c;本文遇到的问题是在实现根据页面表单中输入条件&#xff0c;在数据库中分页模糊查询数据&#xff0c;并在页面分页显示的功能时&#xff0c;出现的“诡异”bug。 开发环境如下&#xff1a; 操作系统&#xff1a;Windows11 Java&#…...

网站调用Edge浏览器API:https://api-edge.cognitive.microsofttranslator.com/translate

Edge浏览器有自带的翻译功能&#xff0c;在运行pc项目可能会遇到疯狂调用Edge的API https://api-edge.cognitive.microsofttranslator.com/translate 这个URL&#xff08;https://api-edge.cognitive.microsofttranslator.com/translate&#xff09;指向的是微软服务中的API接…...

css实现优惠券样式

实现优惠券效果&#xff1a; 实现思路&#xff1a; 需要三个盒子元素&#xff0c;使用 css 剪裁&#xff0c;利用 ellipse 属性&#xff0c;将两个盒子分别裁剪成两个半圆&#xff0c;位置固定在另一个盒子元素左右两边适当位置上。为另一个盒子设置想要的样式&#xff0c;圆角…...

函数递归(C语言)(详细过程!)

函数递归 一. 递归是什么1.1 递归的思想1.2 递归的限制条件 二. 递归举例2.1 求n的阶乘2.2 按顺序打印一个整数的每一位 三. 递归与迭代3.1 求第n个斐波那契数 一. 递归是什么 递归是学习C语言很重要的一个知识&#xff0c;递归就是函数自己调用自己&#xff0c;是一种解决问题…...

uniapp 接口请求封装

根目录下创建 config目录 api.js request.js // request.js // 封装一个通用的网络请求函数 适当调整 function httpRequest(options) {const userToken uni.getStorageSync(access_token).token;return new Promise((resolve, reject) > {uni.request({url: ${options.ur…...

C++中的观察者模式

目录 观察者模式&#xff08;Observer Pattern&#xff09; 实际应用 股票价格监控系统 发布-订阅系统 总结 观察者模式&#xff08;Observer Pattern&#xff09; 观察者模式是一种行为型设计模式&#xff0c;它定义了对象间的一对多依赖关系。当一个对象的状态发生改变…...

conda虚拟环境,安装pytorch cuda cudnn版本一致,最简单方式

1、pytorch版本安装&#xff08;卸载也会有问题&#xff09; &#xff08;1&#xff09;版本如何选择参考和卸载 https://zhuanlan.zhihu.com/p/401931724 &#xff08;2&#xff09;对应版本如何安装命令 https://pytorch.org/get-started/previous-versions/ 最简答安装参考…...

第 5 章:面向生产的 Spring Boot

在 4.1.2 节中&#xff0c;我们介绍了 Spring Boot 的四大核心组成部分&#xff0c;第 4 章主要介绍了其中的起步依赖与自动配置&#xff0c;本章将重点介绍 Spring Boot Actuator&#xff0c;包括如何通过 Actuator 提供的各种端点&#xff08;endpoint&#xff09;了解系统的…...

在 Windows 操作系统中,可以通过命令行工具来杀死进程

1. 使用 taskkill 命令 taskkill 命令是一个用于终止进程的命令行工具&#xff0c;可以通过进程名称或进程 ID (PID) 来杀死进程。 按进程名称杀死进程 taskkill /IM processname.exe /Fprocessname.exe 是进程的名称。/F 参数表示强制终止进程。 例如&#xff0c;终止名为…...

uni-app文件下载 h5 xls 乱码 锟斤拷 Blob pdf打不开

原先下载方式&#xff0c;PC管理端和浏览器打开文件能下载&#xff0c;xls没出现乱码&#xff0c;pdf能正常显示,H5下载xls乱码锟斤拷&#xff0c;PDF显示空白内容 怀疑是前端问题&#xff0c;也尝试过修改后端代码 后端设置编码格式 response.setCharacterEncoding(characte…...

Vue25-内置指令02:v-text指令

一、v-html对比v-text v-html支持结构的解析&#xff0c;v-text不支持结构的解析。 二、v-html的安全性问题 2-1、cookie的原理&#xff08;node.js&#xff09; 7天免登录&#xff0c;cookie实现。 cookie的本质就是类似于json的字符串&#xff0c;格式是&#xff1a;key-va…...

stable diffusion中的negative prompt是如何工作的

https://stable-diffusion-art.com/how-negative-prompt-work/https://stable-diffusion-art.com/how-negative-prompt-work/https://zhuanlan.zhihu.com/p/644879268...

毫米波雷达测速的“火眼金睛”:从汽车ACC到手势识别,Doppler FFT如何分辨不同速度的目标?

毫米波雷达测速的“火眼金睛”&#xff1a;从汽车ACC到手势识别&#xff0c;Doppler FFT如何分辨不同速度的目标&#xff1f; 在自动驾驶汽车的前方&#xff0c;一辆卡车突然减速&#xff0c;而右侧车道有摩托车正在加速超车——毫米波雷达如何在这复杂的场景中&#xff0c;准确…...

3大核心能力重新定义macOS炉石传说对战体验:HSTracker全方位辅助系统解析

3大核心能力重新定义macOS炉石传说对战体验&#xff1a;HSTracker全方位辅助系统解析 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker HSTracker是一款专为macOS平台设计…...

OpenClaw技能扩展指南:为GLM-4.7-Flash添加自定义功能

OpenClaw技能扩展指南&#xff1a;为GLM-4.7-Flash添加自定义功能 1. 为什么需要自定义技能 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动整理电脑上的照片时&#xff0c;发现现有的技能库无法满足我的特殊需求——按照拍摄地点和人物自动分类。这让我意识到&#xff0…...

STM32Fx标准外设固件库下载与安装全攻略

1. STM32Fx标准外设固件库是什么&#xff1f; 对于刚接触STM32开发的工程师来说&#xff0c;标准外设固件库就像是一本"使用说明书"。它封装了芯片底层寄存器的操作&#xff0c;让我们可以用更简单的方式控制硬件。举个例子&#xff0c;如果没有固件库&#xff0c;你…...

3个核心功能:从效率瓶颈到资源整合的高效管理与智能处理指南

3个核心功能&#xff1a;从效率瓶颈到资源整合的高效管理与智能处理指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 一、核心价值解析&#xff1a;短视频下载工具的技术突破与应用价值 1.1 多平台适配能…...

JiYuTrainer:极域电子教室多任务学习解决方案 - 提升教学环境下的自主操作能力

JiYuTrainer&#xff1a;极域电子教室多任务学习解决方案 - 提升教学环境下的自主操作能力 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在现代数字化教学环境中&#xff0c;极…...

避坑指南:Virtio-PCI设备初始化失败的6个常见原因及解决方案

Virtio-PCI设备初始化故障深度排查手册 虚拟化技术在现代数据中心的应用已无处不在&#xff0c;而Virtio作为半虚拟化的事实标准协议&#xff0c;其PCI设备初始化过程却常常成为运维人员的"暗礁区"。上周处理某金融云平台故障时&#xff0c;我发现一个反复出现的现象…...

Python WASM部署避坑手册(27个真实故障现场还原)

第一章&#xff1a;Python WASM部署的演进脉络与技术边界WebAssembly&#xff08;WASM&#xff09;最初为C/C/Rust等系统语言设计&#xff0c;其确定性执行模型与接近原生的性能使其迅速成为浏览器端高性能计算的事实标准。Python作为动态、解释型、依赖运行时的高级语言&#…...

类型注解写错=线上Bug潜伏!:3个导致Pydantic崩溃、FastAPI 500、mypy静默失效的致命细节

第一章&#xff1a;类型注解写错线上Bug潜伏&#xff01;&#xff1a;3个导致Pydantic崩溃、FastAPI 500、mypy静默失效的致命细节泛型未参数化&#xff1a;List 而非 List[str] 的隐式陷阱 Pydantic v2 强制要求泛型类型必须显式参数化。若仅写 List&#xff08;而非 List[str…...

Medusa小程序:微信、支付宝等小程序平台对接的完整指南

Medusa小程序&#xff1a;微信、支付宝等小程序平台对接的完整指南 【免费下载链接】medusa 项目提供了构建数字商务所需的组件和服务&#xff0c;旨在简化和加速电子商务平台的开发工作流程。 项目地址: https://gitcode.com/GitHub_Trending/me/medusa Medusa是一个强…...