TCP / IP 网际层的 4 个重要协议
TCP / IP 网际层的 4 个重要协议
TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于互联网通信的协议。其中,网际层(Internet Layer)是TCP/IP协议栈中的一个关键层,主要负责网络间的数据路由和转发。
网际层的主要作用如下:
- IP地址分配:网际层使用IP地址来唯一标识网络中的设备。IP地址由32位(IPv4)或128位(IPv6)二进制数字组成,用于定位发送和接收数据的设备。
- 路由选择:网际层通过路由选择算法决定从源设备到目标设备的数据传输路径。路由选择是根据网络拓扑、路径开销和其他因素进行的,以确保数据能够有效地跨越多个网络节点到达目标设备。
- 分段和重组:当数据报的大小超过网络的最大传输单元(MTU)时,网际层会将数据报分割为较小的片段进行传输,并在目标设备上重新组装。这样可以适应不同网络的传输限制。
- 网络地址转换(NAT):网际层支持网络地址转换,允许多台设备共享一个公共IP地址。NAT在传输过程中转换私有IP地址和公共IP地址之间的映射,实现了对内部设备的隐藏和网络扩展。
- IP数据报的封装:网际层将上层数据(如传输层的TCP或UDP报文)封装为IP数据报,并添加源IP地址、目标IP地址和其他必要的信息。这样,数据可以在互联网上进行传输。
网际层是TCP/IP协议栈中的核心层之一,它通过提供逻辑上的全球互连性和数据路由功能,实现了互联网的构建和运行。
TCP/IP 网际层包括以下四个重要的协议:
IP(Internet Protocol,网际协议):
- 作用:IP是 TCP/IP 协议栈中最核心的协议之一,负责在网络中传送数据包,并提供寻址和路由功能。
- 基本工作原理:IP协议为每个主机和路由器分配唯一的IP地址,将数据报封装成数据包并通过网络传输。IP地址用于标识数据包的源和目的地,以便正确转发和传递数据。
ICMP(Internet Control Message Protocol,Internet控制报文协议):
- 作用:ICMP协议用于在IP网络中发送控制消息和错误报告。它可以检测网络中的问题、传达路由错误或提示主机不可达情况等。
- 基本工作原理:当在网络中发生错误或需要通信时,主机或路由器会生成ICMP消息,并将其封装在IP数据包中发送给目标设备。常见的ICMP消息包括回应Ping请求、报告网络不可达情况以及传递其他网络状态信息。
ARP(Address Resolution Protocol,地址解析协议):
- 作用:ARP协议用于将IP地址解析为对应的物理MAC地址,以便在局域网内进行通信。
- 基本工作原理:当主机知道目标IP地址但不知道目标MAC地址时,它将广播一个ARP请求消息到局域网上的所有设备。具有该IP地址的设备将回复带有其MAC地址的ARP响应消息,从而使主机获得所需的MAC地址。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):
- 作用:DHCP协议用于自动分配和管理IP地址、子网掩码、默认网关等网络配置信息,以便使用者可以轻松地连接到网络。
- 基本工作原理:DHCP协议的工作步骤包括:发现(Discover)、提供(Offer)、请求(Request)、确认(Acknowledge)。通过这样的交互过程,DHCP能够自动为设备分配可用的IP地址和其他必要的网络配置参数,并确保网络设备能够正确地加入网络、通信和访问互联网。DHCP协议的优势在于简化了网络管理员的工作,减少了手动配置设备的工作量,并实现了IP地址资源的灵活管理和重用。它提供了高效的动态分配机制,同时还支持安全性控制和认证,确保网络连接的可靠性和安全性。
RARP反向地址解析协议(Reverse Address Resolution Protocol):
- 它是一种网络协议,其作用是根据物理地址(MAC地址)获取对应的IP地址。RARP主要用于早期的局域网中,在无磁盘启动的情况下,让计算机通过发送自己的物理地址来获取配置好的IP地址。这在某些特定的环境下非常有用,例如从无盘工作站(diskless workstation)引导并获取所需的网络配置信息。
- 基本工作原理如下:
当一个没有配置IP地址的设备启动时,它会向本地网络广播一个RARP请求包,该包包含设备的物理地址。
在广播网络上,有一个专门的RARP服务器,通常称为RARP守护程序。这个服务器维护了一个RARP映射表,将物理地址和对应的IP地址关联起来。
RARP服务器收到请求后,会查询映射表并找到相应的IP地址。然后,服务器将响应包发送给请求的设备,并附带正确的IP地址。
设备接收到响应包后,获得了配置的IP地址,并将其分配给自己。 - 需要注意的是,由于RARP是基于广播的,因此要求设备和RARP服务器在同一个广播网络中才能正常工作。随着时间的推移,RARP已经被更现代化的协议(如DHCP)所替代,因为DHCP提供了更灵活和高效的IP地址分配方式。
简要总结:
TCP / IP 网际层的 4 个重要协议,陈旧的说法是:IP,ICMP,ARP,RARP
较新的说法:IP,ICMP,ARP,DHCP
相关文章:
TCP / IP 网际层的 4 个重要协议
TCP / IP 网际层的 4 个重要协议 TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于互联网通信的协议。其中,网际层(Internet Layer)是TCP/IP协议栈中的一个关键层,主要负责网络间的数据…...
MySQL阶段DAY20(附笔记)
【注意】:工厂模式学习知识结构如下: (一)、单例模式 1.Single类: 使用懒汉式:对象的延迟加载,安全的,高效的应用 双重判断提升效率和安全性 package singleton;/** 单例设计模式之…...
考场作弊行为自动抓拍告警算法 yolov7
考场作弊行为自动抓拍告警系统通过yolov7python网络模型算法,考场作弊行为自动抓拍告警算法实时监测考场内所有考生的行为,对考生的行为进行自动抓拍,并分析判断是否存在作弊行为。YOLOv7 的发展方向与当前主流的实时目标检测器不同ÿ…...
在Linux中安装RabbitMQ
RabbitMQ下载网址 Socat下载网址 erlang下载网址 RabbitMQ安装包依赖于Erlang语言包的支持,所以需要先安装Erlang语言包,再安装RabbitMQ安装包 通过Xftp软件将这三个压缩包上传到linux中的opt目录下 ,双击即可 在安装之前先查询…...
electron 单个实例控制以及日志输出
electron 单个实例控制 在使用electron打包的应用程序的时候,点击应用图标会打开多个实例,要想控制单个实例,需要通过 app.requestSingleInstanceLock() 判断当前程序的实例是否为当前取得锁, 或者说, 当前实例是否为…...
基于matlab使用AprilTag标记进行相机校准(附源码)
一、前言 AprilTags被广泛用作物体检测、定位应用的视觉标记,并作为相机校准的目标。AprilTags类似于QR码,但旨在编码更少的数据,因此可以更快地解码,这对于实时机器人应用程序非常有用。使用 AprilTags 作为校准模式的优点包括更…...
计算机网络————运输层
文章目录 概述UDPTCP首部格式 连接管理连接建立连接释放 概述 从IP层看,通信双方是两个主机。 但真正进行通信的实体是在主机中的进程,是这个主机中的一个进程和另一个主机中的一个进程在交换数据。 所以严格的讲,两个主机进行通信就是两个…...
【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…...
【RPC】—Protobuf入门
Protobuf入门 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ Spring专栏👉https://blog.csdn.net/weixin_53580595/category_12279588.html SpringMVC专栏&a…...
【⑩MySQL】:表管理,让数据管理不再困难
前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言1. 基础知识2. 创建和管理数据库3.创建表4. 修改表5. 删除表6.总结 1. 基础知识 ✨1.1 表的基本概念 在MySQL数据库中,表是一种很重要的数据库对象…...
Springboot项目使用原生Websocket
目录 1.启用Websocket功能2.封装操作websocket session的工具3.保存websocket session的接口4.保存websocket session的类5.定义websocket 端点6.创建定时任务 ping websocket 客户端 1.启用Websocket功能 package com.xxx.robot.config;import org.springframework.context.a…...
在Vue 3中如何实现服务端渲染(SSR)
今天我要给你们介绍一个很酷的功能——在Vue 3中实现服务端渲染(SSR) 首先,我们来聊聊SSR是什么。它就像是一个魔术师,能让你的网页在服务器上就预先渲染好,然后发送到客户端。想象一下,你在浏览一个网页&…...
【计算机组成原理期末课设作业】16位微型计算机实现——MOVS串传送扩展指令设计
16位微型计算机实现——MOVS串传送扩展指令设计😎 前言🙌教学目的:1、数据**加粗样式**通路分析2、微程序控制器分析3、指令系统分析4、微程序控制器指令周期流程图5、微指令编码6、测试程序和运行结果(1)首先先在内存…...
CodeMirror 对 XML 文档熟悉及元素控制自定义
CodeMirror 是一个网络代码编辑器组件。它可以在网站中用于实现支持多种编辑功能的文本输入字段,并具有丰富的编程接口以允许进一步扩展。 本文为 xml 格式的代码提示约束格式规范的自定义示例内容。 先看效果,如下: 官方 Demo 的完整代码如…...
Jetpack - ViewModel
一、概念 二、使用 2.1 创建ViewModel //无参 class MainViewModel : ViewModel() {} //有参 class MainViewModel(mainRepository: MainRepository) : ViewModel() {} class MainViewModelFactory(private val mainRepository: MainRepository) : ViewModelProvider.Factor…...
【新版系统架构】第十三章-层次式架构设计理论与实践
软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论第二章-计算机系统基础知识(一)第二章-计算机系统基础知识(二)第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…...
剖析Linux文件系统
Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子。通过使用一组通用的 API 函数,Linux 可以在许多种存储设备上支持许多种文件系统。例如,read 函数调用可以从指定的文件描述符读取一定数量的字节。read 函数不了解文件系统的类型ÿ…...
简介Maven结构与配置方法
一、Maven是什么 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 它有什么用呢? 比如我以前要IOUtils这个包,那要到网站下去下载下来,再导入。 当jar包多的时候,一个一个导出,…...
好用的网址6
PPT课件网:http://www.pptkj.net/ ImgUpscaler:AI Image Upscaler - Upscale Photo, Cartoons in Batch Free 加强图片 AI Draw:AI Draw | Convert Images to One-Line Drawings with AI ZToDoList:https://www.ztodolis…...
MySQL数据库---笔记5
MySQL数据库---笔记5 一、锁1.1、介绍1.2、全局锁1.2.1、全局锁介绍1.2.2、一致性数据备份 1.3、表级锁1.3.1、表锁1.3.2、元数据锁(meta data lock , MDL)1.3.3、意向锁 1.4、行级锁1.4.1、介绍1.4.2、行锁1.4.3、间隙锁/临建锁 二、InnoDB引擎2.1、逻辑…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
