Linux网络:总结协议拓展

news2024/12/23 1:26:17

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申请了,直接向代理服务器申请即可,访问速度提高。

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

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

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

 

 

 

 

 

 

 

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

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

相关文章

Monte Carlo方法解决强化学习问题

本文继续深入探讨蒙特卡罗 (MC)方法。这些方法的特点是能够仅从经验中学习,不需要任何环境模型,这与动态规划(DP)方法形成对比。 这一特性极具吸引力 - 因为在实际应用中,环境模型往往是未知的,或者难以精确建模转移概率。以21点游戏为例:尽管我们完全理解游戏规则,但通过DP方…

智慧教室无纸化同屏方案是否适用RTMP?

智慧教室无纸化方案技术背景 智慧教室无纸化方案是一种基于现代信息技术,旨在通过数字化手段实现教学过程的无纸化、智能化和高效化的解决方案。该方案以学生为中心,强调互动化的数字教学服务,旨在提升教学质量和学习效率,同时减…

SprinBoot+Vue宠物店管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

Comsol 双层薄板夹芯结构声辐射响应

阻尼双层板的声辐射特性可以通过以下原理进行解释: 1. 双层板的振动模态:当双层板受到外力作用时,会发生振动,其振动模态会影响其声辐射特性。在双层板内部,振动模态分为两种类型:弯曲模态和剪切模态。而在…

ADG切换异常

一、问题现象 备库切换主库的过程中: alter database commit to switchover to primary with session shutdown; 有一个进程始终是active状态,导致无法完成切换。 主库已切换成:RECOVERY NEEDED --备用数据库还没有接收到切换请求 SWITC…

(Lane Detection-3)PVALane————OpenLane数据集的SOTA模型

PVALane作为最新的SOTA模型,横空出世,让我们来一起仔细阅读这篇文章 提出问题 上图展示了当前Lane Detection中的主要问题: 受益于3D物体检测的成功,当前的3D车道线检测模型(通常通过使用逆透视映射(IPM&…

Leetcode 最大子数组和

使用“Kadane’s Algorithm”来解决。 Kadane’s Algorithm 在每个步骤中都保持着一个局部最优解,即以当前元素为结尾的最大子数组和(也就是局部最优解),并通过比较这些局部最优解和当前的全局最优解来找到最终的全局最优解。 Kadane’s Algorithm的核…

git使用手册

其余内容可以参考洪的学习笔记 一 安装 Linux sudo apt-get install gitWIndows “Git”->“Git Bash” 1.1 配置 分布式版本控制,所有机器自报家门 git config --global user.name "Your Name" git config --global user.email "emailexa…

HashTable哈希表;对象流

HashTable HashMap&HashTable 编号比较HashMapHashTable1线程安全✕✓2keynull✓✕3valuenull✓✕4效率高低 package com.ffyc.map;import javax.print.DocFlavor; import java.util.HashMap; import java.util.Hashtable; import java.util.Map;public class HashTableD…

LLMs技术 | 整合Ollama实现本地LLMs调用

前言 近两年AIGC发展的非常迅速,从刚开始的只有ChatGPT到现在的很百家争鸣。从开始的大参数模型,再到后来的小参数模型,从一开始单一的文本模型到现在的多模态模型等等。随着一起进步的不仅仅是模型的多样化,还有模型的使用方式。…

如何修改tomcat服务器的端口号?

四、如何修改tomcat服务器的端口号? 有3种方式修改tomcat服务器的端口号: (1)修改 conf/server.xml (2)集成的本地Tomcat中通过HTTP port修改 (3)pom.xml文件中通过tomcat插件的co…

EG边缘计算网关连接中移ONENET物联网平台(MQTT协议)

上文:EG边缘计算网关连接阿里云物联网平台(MQTT协议) 需求概述 本章节主要实现一个流程:EG8200mini采集Modbus RTU数据,通过MQTT协议连接中移ONENET物联网平台 Modbus RTU采集此处不做过多赘述,可参考其…

什么是迟滞?

在描述两个量之间的关系时,我们通常可以说特定的输入值对应于特定的输出值。例如,放大器具有输入电压和输出电压,这些电压与增益相关(在现实生活中增益是频率的函数而不是常数)。如果我们忽略饱和等非理想因素&#xf…

【实战篇】为什么我的MySQL会“抖”一下?

背景 不知道你有没有遇到过这样的场景,一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。看上去&…

Conda安装R环境并在Jupyter Lab中运行

说明: Conda 安装 R 环境,并在 Jupyter Lab 中运行 R 脚本。 1. 创建环境并安装r-base 创建环境:conda create -n [环境名] 激活环境:conda activate [环境名] 安装 Jupyter Lab:conda install -c conda-forge jupy…

【北京迅为】《STM32MP157开发板使用手册》-第十七章 制作Ubuntu文件系统

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

SpringBoot2:请求处理原理分析-接口方法的返回值处理(returnValueHandlers)

一、知识回顾 前面,我们学习了,一个请求过来,先经过filter组件,判断restful风格接口的请求类型。 然后,通过HandlerMapping找到处理该请求的接口。 接着,进入接口方法的参数解析环节,这里主要学…

低代码开发:业务与技术的完美融合

正文: 随着数字化转型的加速,企业对应用软件的需求日益增长。然而,传统的开发方式往往费时费力,难以满足市场的快速变化。在此背景下,低代码开发平台应运而生,它们正逐步改变我们的工作方式,让…

AI辅助设计的底层逻辑与革命性应用

在数字化浪潮席卷各行各业的今天,人工智能(AI)以其强大的数据处理能力和智能决策支持,正逐步渗透到设计领域的每一个角落。AI辅助设计,作为这一趋势的先锋,正以其独特的底层逻辑和创新方法,引领…

基于vue框架的城市环卫车辆管理系统971x5(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:环卫工,车辆信息,车辆借用,车辆报修,通知公告,车辆归还,报修处理,车辆分类,员工打卡,员工请假,加班申请,员工任务 开题报告内容 基于Vue框架的城市环卫车辆管理系统开题报告 一、研究背景与意义 1.1 研究背景 随着城市化进程的加速&…