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

Linux网络:总结协议拓展

1. TCP/IP四层模型总结

2. 网络协议拓展

DNS协议(地址解析协议)

TCP/IP使用IP地址和端口号来确定网络中一台主机的一个程序。

但是这样标定不方便记忆,于是开始引出主机名(字符串),使用hosts文件来描述主机名与IP之间的关系。

最初互联网通过信息中心来(SRI-NIC)管理这个hosts文件

  • 如果计算机要申请入网,或者计算机IP变动,都需要向信息中心申请变更hosts文件。
  • 其他计算机也要定期下载hosts文件才可以正确上网。

域名

主域名是用来识别主机名和和主机所属的机构的一种分层结构的名称。

域名的范围要比主机名大。

一个域名下可以有多个主机名,域名下还可以有子域名。例如,域名abc.com下,有主机server1和server2,其主机全名就是server1.abc.com和server2.abc.com。

  • com:一级域名,代表企业、.net(网络运营商)、.org(非盈利组织)
  • baidu:二级域名,公司名
  • www:习惯性的用法,与之前的命名有关。表示支持的协议(ftp.xxxx.xxx、www.xxxx.xxx)

随着时间发展,产生了DNS系统

  • 一个系统的管理机构,维护每台主机的主机名和IP之间的映射。
  • 新计算机入网时,将这台计算机名和IP地址信息注册到数据库中。
  • 当用户输入域名时,会自动查询DNS服务器,DNS服务器索引数据库,找到对应IP地址。
  • 现在的计算机,仍然存在hosts文件,域名解析时会优先查找

eg:www.baidu.com - > 110.242.68.3

(不考虑缓存)浏览器首先要进行的就是域名解析,DNS底层使用的是UDP协议。通过向DNS服务器发起UDP请求,来解析域名。


ICMP(网络状态控制和管理)

ICMP:基于IP协议达到网络状态控制和管理

一个新建好的网络进行测试时。因为IP协议不保证数据可靠性,丢包时不会通知传输层是否丢包,以及丢包原因。

针对上述情况引出ICMP协议功能:

  • 确认IP协议是否到达目的地址
  • 通知正在发送过程中IP包被丢弃的原因。
  • ICMP基于IP协议进行工作,但其属于网络层协议。
  • ICMP只能基于IPV4使用,如果时IPV6需要使用ICMPV6

ICMP报文分为两类

  1. 通知出错原因报文
  2. 诊断查询报文

ICMP错误内容
在这里插入图片描述

 

当通信成功时不会发送ICMP响应。

ping命令就是向对端主机发送ICMP请求

回复指的就是ICMP响应。
TTL:IP包的生命周期。

ping命令在用户区的命令,绕过了传输层(原生套接字),直接获取网络层ICMP响应报文的数据。与TCP/UDP无关。所以不关心端口号,端口号存在于TCP/UDP(传输层),用来保证报文分用的。


3. NAT技术

NAT技术:解决IPV4的IP地址数量不足问题。(路由器的主要功能)

路由器的功能:

  1. 路由转发。
  2. DHCP,IP地址管理——组件局域网。
  3. NAT技术

NAT技术:将IP对外通信时私有IP转化为全局IP

NAT工作流程

局域网的主机A在经过路由器时,会替换源IP地址为路由器的WAN口地址(因为私网IP不能出现在公网上)

 

而在这个过程中,路由器所做的不仅仅是替换源IP地址,还要替换源端口号,路由器还保存了内网请求和外网请求(IP地址+端口号)之间的一组映射表(NAPT表/转化表)。 

内网主机向公网服务器发送数据如下图(替换源端口和源端口号)

服务器向内网主机发送数据时:根据上图的转化表(从右向左转化)根据请求的端口号确认要给那台内网主机响应数据。

eg:服务器先将响应发送给路由器,根据路由器NATP表映射查表可知,如果发送时源IP是202.244.174.37:1004,则路由器需要将响应发送给内网的10.0.0.11:1025。

综上,每一台路由器都要为其局域网维护NATP表。NATP表是由路由器自动生成的。
eg:在TCP下,建立连接时会生成一组映射,断开连接时这组映射就会被删除。

NAT缺陷

  1. 无法从外部向内部建立连接。
  2. 转化表的生成与销毁需要额外开销。
  3. 通信过程中NAT损坏,NATP表中所有的TCP连接都会断开

4.代理服务器

正向代理服务器(加速资源访问)

主机A向服务器A发送请求报文时,先将请求发送到正向代理服务器中,由正向代理向目标服务器发送请求。

同理服务器A响应时先到代理服务器上,在由代理服务器响应回主机A

在响应时,正向代理将服务器响应的资源先缓存下来,其他主机再次进行申请同样的资源就不需要再向服务器A申请了,直接向代理服务器申请即可,访问速度提高。

反向代理服务器(负载均衡,保护后端服务器)

不同主机部署相同的服务时,反向代理服务器通过算法(轮询算法)调整每一台主机的处理任务来达到负载均衡的目的。

同时,通过反向代理服务器,将主机的请求和服务器隔离开,可以在反向代理服务器上部署防火墙等来保护服务器不被恶意请求破坏。 

 

 

 

 

 

 

 

相关文章:

Linux网络:总结协议拓展

1. TCP/IP四层模型总结 2. 网络协议拓展 DNS协议(地址解析协议) TCP/IP使用IP地址和端口号来确定网络中一台主机的一个程序。 但是这样标定不方便记忆,于是开始引出主机名(字符串),使用hosts文件来描述…...

去除恢复出厂设置中UI文字显示

文章目录 需求场景 一、代码跟踪与分析在线文字搜索RK平台本地源码搜索实际测试验证代码推理 二、实现方案三、延伸知识四、知识总结 需求 需求:去除恢复出厂设置中UI文字显示 场景 Android 相关产品各种方向旋转、强制横竖屏等需求,导致在恢复出厂设…...

《高校教育管理》

《高校教育管理》为中文社会科学引文索引(CSSCI)来源期刊、北大中文核心期刊、RCCSE中国核心学术期刊、人大“复印报刊资料”重要转载来源期刊,是江苏大学主办,中国高等教育管理研究会协办的全国性高等教育管理专业期刊。 ISSN 1…...

全国计算机二级考试C语言篇4——选择题

运算符与表达式 1.赋值的正确写法 赋值操作是一个很常见的操作,但是赋值操作也有一些需要注意的地方。赋值操作是将一个表达式的值赋给一个变量的过程。在C语言中,赋值操作符是""。结合性从右到左,不控制求值顺序。 下面是几种C语言…...

数据结构————哈希表

哈希表(Hash table),也被称为散列表,是一种根据关键值(Key value)而直接进行访问的数据结构。它通过把关键值映射到表中的一个位置来访问记录,从而加快查找的速度。这个映射函数被称为散列函数或…...

element select + tree

element select tree的使用 <template slot"action1" slot-scope"text, record, index"><el-select v-model"record.tagValue" multiple placeholder"请选择":filter-method"(e) > filterTree(e, index)" filt…...

LeetCode之矩阵

36. 有效的数独 class Solution {// 方法 isValidSudoku 接收一个字符二维数组 board&#xff0c;表示数独棋盘&#xff0c;返回是否有效public boolean isValidSudoku(char[][] board) {// 创建三个二维数组来记录每一行、列和子框中数字的出现次数int[][] rows new int[9][…...

Windows文件系统介绍与基本概念解析

1. 引言 1.1 什么是文件系统 文件系统是一种管理和组织计算机存储设备上文件和文件夹的方法。它提供了文件的创建、读取、写入、删除等操作,并负责文件在存储设备上的存储和访问。 在操作系统中,文件系统是一个重要的组成部分,它使得用户可以方便地使用计算机存储设备来存…...

使用 Apache POI 实现 Java Word 模板占位符替换功能

使用 Apache POI 实现 Java Word 模板占位符替换功能 在日常开发中&#xff0c;我们经常会遇到生成 Word 文档的需求&#xff0c;特别是在需要从模板导出 Word 文件时&#xff0c;比如生成合同、报告等。通过使用模板&#xff0c;开发者可以减少重复的工作&#xff0c;将预定义…...

第三届人工智能与智能信息处理国际学术会议(AIIIP 2024)

目录 大会介绍 基本信息 合作单位 主讲嘉宾 会议组委 征文主题 ​ 参会方式 会议日程 中国-天津 | 2024年10月25-27日 | 会议官网&#xff1a;www.iiip.net 大会介绍 第三届人工智能与智能信息处理国际学术会议&#xff08;AIIIP 2024&#xff09;将于202…...

【动手学深度学习】04 数据操作 + 数据预处理(个人向笔记)

数据操作 N维数组是机器学习和神经网络的主要数据结构其中 2-d 矩阵中每一行表示每一行表示一个样本 当维度来到三维的时候则可以表示成一张图片&#xff0c;再加一维就可以变成多张图片&#xff0c;再加一维则可以变成一个视频 访问元素 冒号表示从冒号左边的元素到冒号右…...

本地搭建 Whisper 语音识别模型

Whisper 是由 OpenAI 开发的一款强大的语音识别模型&#xff0c;具有出色的多语言处理能力。搭建和使用 Whisper 模型可以帮助您将音频内容转换为文本&#xff0c;这在语音转写、语音助手、字幕生成等应用中都具有广泛的用途。本指南将对如何在本地环境中搭建 Whisper 语音识别…...

数据集成-缝合一套数据仓库Infra的臆想

一、数据集成当前困境 目前数据集成基础设施建设仅一个单一数据库&#xff0c;无法很好支持上层应用的建设步骤&#xff0c;继续采用当前设施跟随产品的策略&#xff0c;数据产品开发受限巨大&#xff0c;从目前实施的几个产品看&#xff0c;存在以下主要问题&#xff1a; 功能…...

运营有哪几种?

运营又有很多类&#xff0c;分为&#xff1a;内容运营、用户运营、活动运营、产品运营、新媒体运营、社群运营、电商运营、短视频运营 1.内容运营&#xff1a; 做内容提升各类数据&#xff0c;比如内容的数量/浏览数量/互动数传播数等。 适合人群&#xff1a;适合喜欢看文章热…...

Android视频编辑:利用FFmpeg实现高级功能

在移动设备上进行视频编辑的需求日益增长&#xff0c;用户期望能够在智能手机或平板电脑上轻松地编辑视频&#xff0c;以满足社交媒体分享或个人存档的需求。Android平台因其广泛的用户基础和开放的生态系统&#xff0c;成为视频编辑应用的理想选择。FFmpeg&#xff0c;作为一个…...

图片无损缩放PhotoZoom Pro 9.0.2绿色版 +免费赠送PhotoZoom激活优惠代码

PhotoZoom Pro 9.0.2 是一款专业的图片无损缩放软件&#xff0c;该软件采用了 benvista s-spline 独特技术&#xff0c;增强了对图像格式的支持&#xff0c;多处理器支持&#xff0c;GPU 加速&#xff0c;win10和 Photoshop CC 支持。带来一流的数字图形扩展与缩减技术。该软件…...

tekton pipelineresources

PipelineResource 代表着一系列的资源&#xff0c;主要承担作为 Task 的输入或者输出的作用。它有以下几种类型&#xff1a; git&#xff1a;代表一个 git 仓库&#xff0c;包含了需要被构建的源代码。将 git 资源作为 Task 的 Input&#xff0c;会自动 clone 此 git 仓库。pu…...

OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、选择映射&#xff08;SLM&#xff09; 4.2 相位截断星座图&#xff08;PTS&#xff09; 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 mat…...

常见概念 -- 光回波损耗

什么是回波损耗 回波损耗&#xff0c;又称为反射损耗&#xff0c;当高速信号进入或退出光纤的某个部分&#xff08;例如光纤连接器&#xff09;&#xff0c;不连续和阻抗不匹配会引起反射&#xff0c;这就是光纤回波损耗。器件的回波损耗Return Loss(RL)是光信号的输入端口的反…...

uni-app环境搭建

目录 一、下载HBuilder X: 二、创建项目 1、通过HBuliderX创建 2、通过vue-cli命令行创建 三、app真机运行 1、真机运行: 2、打包发行 四、微信小程序调试 1、下载微信小程序开发者工具 2、运行项目&#xff1a;运行---> 运行到小程序模拟器----> 微信开发者工…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...

rm视觉学习1-自瞄部分

首先先感谢中南大学的开源&#xff0c;提供了很全面的思路&#xff0c;减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接&#xff1a;https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架&#xff1a; 代码框架结构&#xff1a;readme有…...