网络原理3

运营商路由器,也可以把它当做一个NAT设备它就会对中间经过的数据包,进行网络地址转换当内网设备经过运营商路由器访问外网的时候就会把IP数据包中的源ip,替换成它自己的ip.

 我的电脑要发送一个数据给cctalk服务器此时,我的电脑上就会构造出一个IP数据包

 在两个连接时候会出现在运营商路由器的时候创建了一个表

所以他就会根据查询的结果和这个表来转换将IP和端口都替换回来

但是假设两个端口号是一样的呢?

运营商通过在不用的源IP定义为不用的源端口号,这样就防止了,服务器只返回一个反馈的问题。

然后建立相应的映射表,

 这样的话站在服务器视角,看到两个数据包来自一个IP,但是是不用的端口,

但是站在运营商的视角,他们通过源IP和映射表就能定位到哪个是哪个发送的信息。

3)IPv6终极方案

IPv6拿16个字节来表示IP地址~~

IPv4和IPv6不兼容!,导致世界主宰还是IPv4

为啥NAT能火,NAT是纯软件的方案,不需要换设备,只要更新一下路由器上面的程序(固件).成本非常低~~

IP地址的基本规则

1)网段划分

同一个局域网的主机,要按照一定的规则分配IP地址。

把一个IP地址(IPv4)分成两个部分

前半部分,网络号=>标识局域网

后半部分,主机号=>区分同一个局域网中的不同主机。

同一个局域网内部,主机之间的IP,网络号相同,主机号要不同~~

局域网之间,网络号可以相同.但是,两个相邻的局域网(同一个路由器,wan口和lan处于两个不同局域网)路由器就是连接两个局域网的桥梁,网络号不能相同。

引入概念:子网掩码(Mask)

也是32位的整数.左半部分都是1,右半部分都是0不会0 1交替出现~

255.255.255.0

此处,前3个字节,24位是网络号后1个字节,8位,是主机号.

网段划分,分为ABCDE类

特殊的IP地址

主机号全0:这样的IP表示网段,不应该分配给具体的主机~~

主机号全1(二进制):这样的IP表示广播IP,

往广播IP上发送数据,此时,就会发送给局域网中的所有设备。

127.*这样的地址,环回ip(loopback)。

127.0.0.1往这个ip中发送数据,就是自己来接收~微信,可以自己给自己发消息~~

IP协议:

1地址管理2)路由选择

最优解不是说只有一种按照不同的角度,得到最优解~。

网络中,路由器的寻路,则无法做到“最优解”只能做到“较优解”

每一台路由器,无法知道整个网络的“全貌但是可以知道它附近的网络设备情况是咋样的(朋友)

如何达到~~只能通过“启发式”“探索式”方式,逐渐找到最终的目标~ 。

启发式过程就是问路的过程。

每个路由器,虽然无法感知到整个网络结构的全貌,但是可以认识到它周围的网络设备路由器中,会维护一个数据结构,路由表,记录了周围的朋友都是啥样的。

当路由器收到数据的时候,就会根据目的ip,查询路由表,看看在路由表中是否存在如果存在,好办,直接按照目标的位置继续转发即可,如果不存在,就会从朋友中,挑选一个最“神通广大”的朋友,把这个数据交给这个最神通广大的朋友~~。

路由表中的“下一跳表项”。牵扯到“路由表生成算法”。

以太网,横跨数据链路层和物理层~~

mac地址(物理地址)

物理地址,是在网卡出厂的时候,就设置好的~~

通过mac是可以定位到你这个人的~~

IP地址作用是支持整个传输过程转发

MAC的作用支持两个相邻节点之间的转发.

主机A就要查询路由表,发现目的ip在路由表里没有没有就需要走"下一跳"~~(默认的表项)

到了数据链路层)就要决定,具体怎么找(数据包要从路由器的哪个接口发送出去)

长期目标的起点

长期目标的终点                        四缺一不可

短期目标的起点

短期目标的终点、

 IP数据报:分用的时候发现类型是0x0800的时候此时就需要把这个数据交给网络层的IP协议了。

ARP协议是为了给每个路由器/交换机建立一个"转发表”(不是路由表)。

刚才谈到的转发数据的过程中

先根据目的ip,确定接下来往哪走,知道下一跳的IP(查路由表)根据下一跳的IP,查转发表,知道IP对应的mac/端口是哪个然后再发.......

DNS

域名解析系统

域名就是一串单词,就可以使用这一串单词,来表示某个/某组IP地址了

以前人们都用hosts

 但是文件很大,而且不方便更新,网站频繁更新。

所以引用了DNS服务器

1)客户端缓存.

你的电脑尝试访问某个域名,得到ip.(记住了)

放入了缓存之中。

下次再访问同一个域名的时候,就不会重新查询DNS服务器你每天上的就这么廖廖几个网站,但是这些网站访问此时都是很多的~~

2)分布式的方式.

全世界各个地方,建设了很多DNS镜像服务器.

所有镜像服务器都是一样的,只有一个根域名服务器(其他镜像服务器的源头)。

pic.scgou,com

com: 一级域名。

scgou:二级域名。

pic:三级域名。

查询过程,先查询一级域名 =〉二级 =〉三级

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树求解大小操作详解

目录 一、求所有结点个数 1.1 递归思路 1.2 递归分支图 1.3 递归栈帧图 1.4 C语言实现 二、求叶子结点个数 2.1 递归思路 2.2 递归分支图 2.3 递归栈帧图 2.4 C语言实现 三、求第K层的结点个数 3.1 递归思路 3.2 递归分支图 3.3 递归栈帧图 3.4 C语言实现 四、求…

高性能负载均衡的分类及架构分析

如何选择与部署适合的高性能负载均衡方案? 当单服务器性能无法满足需求,高性能集群便成为提升系统处理能力的关键。其核心在于通过增加服务器数量,强化整体计算能力。而集群设计的挑战在于任务分配,因为无论在哪台服务器上执行&am…

新火种AI|净利润上升628%,英伟达财报说明AI热潮还将持续

作者:一号 编辑:美美 AI大潮仍未放缓,英伟达再次超越预期。 今天凌晨,全球AI算力芯片龙头,被称为“AI时代卖铲人”的英伟达,正式公布了截至2024年4月28日的2025财年第一财季财报,其中第一财季…

java8总结

java8总结 java8新特性总结1. 行为参数化2. lambda表达式2.1 函数式接口2.2 函数描述符 3. Stream API3.1 付诸实践 java8新特性总结 行为参数化lambda表达式Stream Api 1. 行为参数化 定义:行为参数化,就是一个方法接受多个不同的行为作为参数&#x…

C++第三方库【JSON】— jsoncpp

目录 认识JSON jsoncpp库 安装&使用 认识jsoncpp Json::Value jsoncpp序列化 jsoncpp反序列化 认识JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,常用于在客户端和服…

钉钉网页应用使用JSAPI报错,dd.alert提示errorCode:3.errorMessage:No value for message

问题分析: 起因是我用下图这个页面(配置JSAPI鉴权)的链接下载了JSAPI(客户端API)的SDK,但其实如图所示这个版本是2.10.3: 通过查看dingtalk-jsapi的npm版本,可以知道钉钉的JSAPI已…

c++设计模式-->访问者模式

#include <iostream> #include <string> #include <memory> using namespace std;class AbstractMember; // 前向声明// 行为基类 class AbstractAction { public:virtual void maleDoing(AbstractMember* member) 0;virtual void femaleDoing(AbstractMemb…

荣耀MagicBook X 14 Pro锐龙版 2023 集显(FRI-H76)笔记本电脑原装出厂Windows11系统工厂模式安装包下载,带F10智能还原

恢复开箱状态预装OEM系统&#xff0c;适用型号&#xff1a;HONOR荣耀FRI-H76、FRI-H56 链接&#xff1a;https://pan.baidu.com/s/1Lcg45byotu5kDDSBs3FStA?pwdl30r 提取码&#xff1a;l30r 华为荣耀原装WIN11系统工厂安装包&#xff0c;含F10一键恢复功能、系统自带所有驱…

H800基础能力测试

H800基础能力测试 参考链接A100、A800、H100、H800差异H100详细规格H100 TensorCore FP16 理论算力计算公式锁频安装依赖pytorch FP16算力测试cublas FP16算力测试运行cuda-samples 本文记录了H800基础测试步骤及测试结果 参考链接 NVIDIA H100 Tensor Core GPU Architecture…

快速搭建SpringMvc项目

一、什么是springMvc 1、介绍 Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#xff0c;但它通常被称为“Spring MVC”。 在控制…

NFT开发框架和工具

NFT&#xff08;非同质化代币&#xff09;开发涉及多个框架和工具&#xff0c;帮助开发者创建、管理和交易NFT。以下是一些常用的NFT开发框架和工具&#xff0c;这些框架和工具覆盖了NFT开发的各个方面&#xff0c;从智能合约编写到前端集成&#xff0c;再到区块链平台和市场&a…

syncthing文件夹同步与版本管理

1 前言 syncthing可以用来同步文件夹里的所有文件&#xff0c;并且有不错的版本管理&#xff0c;基本每次更改文件&#xff0c;20-40秒就被扫描到了&#xff0c;非常丝滑&#xff1b;这次以此来同步obsidian的插件和文件&#xff0c;达到多端同步&#xff1b; 我家里有一台台…

ubuntu设置root开机登录,允许root用户ssh远程登录

ubuntu与centos系统不同&#xff0c;默认root开机不能登录。 1、输入一下命令创建root密码&#xff0c;根据提示输入新密码 sudo passwd root 2、打开gdm-autologin文件&#xff0c;将auth required pam_succeed_if.so user ! root quiet_success这行注释掉&#xff0c;这行就…

leetCode-hot100-数组专题之区间问题

数组专题之区间问题 知识点&#xff1a;解决思路&#xff1a;例题56.合并区间57.插入区间253.会议室 Ⅱ485.无重叠区间 数组区间问题是算法中常见的一类问题&#xff0c;它们通常涉及对数组中的区间进行排序、合并、插入或删除操作。无论是合并区间、插入区间还是删除重复空间&…

使用ScriptGraphicHelper综合图色助手进行找色

使用ScriptGraphicHelper综合图色助手进行找色&#xff0c;然后使用autojs进行点击具体位置。 打开ScriptGraphicHelper软件&#xff0c;载入截图后如上图&#xff0c;比如要点击微信 按住鼠标左键&#xff0c;拖动&#xff0c;选择上图箭头位置,然后点击裁图 可以点击容差范围…

微服务如何做好监控

大家好&#xff0c;我是苍何。 在脉脉上看到这条帖子&#xff0c;说阿里 P8 因为上面 P9 斗争失败走人&#xff0c;以超龄 35 被裁&#xff0c;Boss 上找工作半年&#xff0c;到现在还处于失业中。 看了下沟通记录&#xff0c; 沟通了 1000 多次&#xff0c;但没有一个邀请投递…

基于深度学习的表情识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着人工智能技术的快速发展&#xff0c;表情识别成为了人机交互领域的一个研究热点。表情识别技术旨…

【四、性能测试】Linux stress 压力模拟测试工具

在做 CPU 问题解析之前&#xff0c;需要先了解一下压力模拟工具&#xff0c;可以将 CPU、MEM、IO 等进行压力模拟&#xff0c;可以在模拟压力的过程中进行问题解析 一、STRESS 模拟对CPU、Memory、IO、磁盘进行压力测试。可以使用 stress 工具&#xff0c;它是专门针对 linux…

如何将Docker容器打包并在其他服务器上运行

如何将Docker容器打包并在其他服务器上运行 我会幻想很多次我们的相遇&#xff0c;你穿着合身的T恤&#xff0c;一个素色的外套&#xff0c;搭配一条蓝色的牛仔裤&#xff0c;干净的像那天空中的云朵&#xff0c;而我&#xff0c;还是一个的傻傻的少年&#xff0c;我们相识而笑…

【无标题】(网络原理(中)TCP机制)

网络原理&#xff08;中&#xff09;TCP机制 拥塞控制延迟应答&#xff08;效率机制&#xff09;TCP协议段格式&#xff1a;滑动窗口&#xff08;效率机制&#xff09;流量控制 拥塞控制 TCP拥塞控制这样的过程&#xff0c;就好像 热恋的感觉&#xff0c;指数增长的过程就是热恋…