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

计算机网络-进阶

目录

  • 易混淆
  • 物理层
  • 数据链路层
  • 网络层
    • nat如何实现私有ip通信
    • IP数据报 格式解析
    • tcp 连接
    • tcp流量控制
      • 滑动窗口
      • 拥塞控制
    • 报文捕获 wireshark
    • 路由模拟器 ensp
    • cdn
      • 代理服务器 VS cdn VS web cache
    • 计算机有了物理地址,为什么还要有ip地址?
    • 单播 多播 广播
  • 传输层
  • 会话层:
  • 表示层
  • 应用层
  • 一个例子

来源:
https://blog.csdn.net/IT__learning/article/details/117827605
https://www.zhihu.com/question/19718686/answer/185348786
https://juejin.cn/post/6844904079974465544

计算机网络的目标:
一台计算机与另一台计算机可以通信
通信 = 交流 = 发数据
我的数据太大,就要分批次,一批一批的发送

煤矿的煤,一车一车的运出去

https://www.yuque.com/andanlandian/sts3a5/rczr4b#SNsow

易混淆

电信的路由器和家用的路由器 不一样

物理层

把计算机连接起来,在计算机之间传输 0 1 这样的电信号 = 将数据转化为物理信号

数据链路层

物理层的01信号是没有规律的,无法解读
数据链路层 制定一套规则来进行01的传送
例如多少个电信号为一组,每一组信号应该如何标识,才能让计算机读懂。于是,有了以太网协议

以太网协议规定,一组电信号构成一个数据包,我们把这个数据包称之为

一台计算机的的数据通过物理层、链路层发送给另一台计算机,究竟是谁发给谁的,计算机与计算机之间如何区分,你总得给他们一个唯一的标识吧?于是,MAC 地址出现

连入网络的每一个计算机都会有网卡接口,该接口有一个唯一的地址 = MAC 地址。
计算机之间的数据传送,通过 MAC 地址来唯一寻找 传送
计算机传出的数据,经过网卡,就会变为以太网的帧


ARP协议帮你找MAC地址


网络层

让我们在茫茫人海中,能够找到另一台计算机在哪里,是否属于同一个子网
实际上我们所处的网络,是由无数个子网络构成的

路由器,又叫分组交换机,就是帮我们在公网里,做IP寻址

连接两个不同的网络的设备都可以叫网关,是一个概念
网关在网段内的可用ip中选一个,不过,一般用的是第1个和最后一个

路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用

DNS 把域名解析为IP地址

当你接入局域网的时候,自动由这个dhcp服务器给你分配ip

NAT(网络地址转换)出现,于是专用网的IP不再占用公网IP,
解决私有ip地址无法跟外网交互

专用网 = 私有ip
1.局域网,比如,公用一个路由器的宿舍啊,家
2.部分广域网,比如军队、铁路、交通、电力等部门,拥有自己专用的通信网和计算机

nat如何实现私有ip通信

https://www.yuque.com/fcant/network/ygyqhoclkvt9wv6r


私有IP地址:
10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
192.168.0.0 - 192.168.255.255 (192.168.0.0/16)
ip/16的16是子网掩码的位数

IP协议并不提供可靠传输,ICMP协议解决该问题
因特网控制报文协议ICMP(Internet Control Message Protocol)

IP数据报 格式解析

https://c.biancheng.net/view/9801.html

tcp报文


IPV6
https://blog.csdn.net/qq_40893824/article/details/103850415

IP地址 = 网络号 + 主机号
中国 · 湖北

网络掩码 & IP = 网络地址

tcp 连接

https://www.yuque.com/liuyanntes/puc7d7/syhar1

建立连接,3次握手
关闭连接,4次握手

SYN洪泛攻击:
重复发送请求连接,仅完成前两次握手,服务器半挂起状态 ,浪费资源

RFC793文档:带有SYN标志的过程包 不可以携带数据,3次握手的前2次是不可以携带数据的,第3次可以携带数据

tcp流量控制

tcp 流量控制
滑动窗口
拥塞控制

滑动窗口

https://www.yuque.com/huiyizenmoqian/xfg28q/kdt1sp
解决 TCP 每发送⼀个数据,都要进行一次确认应答

发送方的滑动窗口

接收方的滑动窗口:

通常窗口的大小是由接收方的窗口大小来决定的

拥塞控制

https://www.bilibili.com/video/av83688722


报文捕获 wireshark

路由模拟器 ensp

https://forum.huawei.com/enterprise/zh/thread/580883406487699456

下载地址
https://e.huawei.com/cn/ 直接搜“emsp”
https://forum.huawei.com/enterprise/zh/thread/580924417729511424

cdn

假如中国没有“墙”,小明要访问美国白宫的网站,并查看里面的视频
视频从美国过来,观感将无比卡顿

cdn解决这个问题
https://www.akamai.com/zh/glossary/what-is-a-cdn

CDN(内容交付网络),Content Delivery Network
CDN 在多个地理位置建立 入网点(pop)
CDN 将这个美国白宫的网站内容的缓存版本存储在世界各地的多个地理位置 (pop)


代理服务器 VS cdn VS web cache

参考:https://blog.csdn.net/wanderlustLee/article/details/84110051
https://www.zhihu.com/question/382841504/answer/2649877805

万维网高速缓存web cache 包含 cdn
https://www.cnblogs.com/jimodetiantang/p/9154716.html

CDN是内容分发网络(Content Delivery Network),解决用户请求响应过慢的问题。
比如用户在黑龙江,服务器在海南,用户请求的速度可能受距离、带宽的影响。
CDN将几台机器分发在全国各地,用户发出的请求会选择就近的CDN服务器进行处理

CDN 可以提前把数据存在离用户最近的数据节点,从而避免长途跋涉经过长途骨干网,最终减少骨干网负担、提高访问速度

cdn缓存是一种服务端缓存

cdn ≠ cdn缓存


反向代理一般指Nginx,是在主服务器之外加一层代理服务器

请求访问
用户
nginx
服务器1
服务器2
服务器3

正向代理和反向代理的关键区别在于:
前者由客户端使用,例如专用网络内的用户
而后者由互联网服务器使用

正向代理:代理端代理的是客户端。
反向代理:代理端代理的是服务端。

https://juejin.cn/post/6844903800365383687

https://juejin.cn/post/7166079111578779655

HTTP缓存机制(浏览器和CDN)
https://blog.csdn.net/Kim_Weir/article/details/88121134

没有CDN:浏览器缓存
使用了CDN:浏览器缓存+CDN缓存


计算机有了物理地址,为什么还要有ip地址?

这是一个回马枪的问题
https://mp.weixin.qq.com/s/jiPMUk6zUdOY6eKxAjNDbQ
https://www.zhihu.com/question/21546408

一个网络下的ip前缀一样,消息容易转发过来,
如果是物理地址,不同计算机的物理地址前缀差别很大,且不能修改,不易转发

单播 多播 广播

https://info.support.huawei.com/info-finder/encyclopedia/zh/组播.html
单播:一对一
单播:一对=多
广播:主机间一对所有的通讯模式


传输层

有了物理层、数据链路层、网络层,我们已经把数据成功从计算机A传送到计算机B了

计算机B里面有各种各样的应用程序,计算机该如何知道这些数据是给谁

端口(Port)出来了,我们在从计算机 A 传数据给计算表B的时候,还得指定一个端口,以供特定的应用程序来接受处理

传输层的功能:建立端口到端口的通信

端到端 vs 点到点
https://www.cnblogs.com/beyond_dxb/p/8304093.html
传输层是领导发指令,关心开始和最终的地址 - 端对端
网络层是实现指令,一步一步实现
具体就是数据链路层 - 点对点

会话层:

通讯会话的建立与拆除

表示层

信息转为一定格式
解压缩,加密解密

应用层

虽然我们收到了传输层传来的数据,可是这些传过来的数据五花八门,有 html 格式的,有 mp4 格式的,各种各样

我们需要指定这些数据的格式规则,收到后才好解读渲染

应用层常见的模型
客户端/服务器模型, C/S
电子邮件/web
P2P模型
迅雷下载

C/S:

P2P:

TCP连接有两种工作方式
短连接方式
长连接方式

TCP连接有两种工作方式:短连接方式(Short-Live Connection)和长连接方式(Long-Live Connection)

互联网包含因特网,因特网包含万维网
国际标准的互联网写法是internet,字母i一定要小写

万维网,只要应用层使用的是HTTP协议,就称为万维网(World Wide Web)

万维网使用统一资源定位符作为标识符来访问资源

一个例子

在浏览器中输入 www.baidu.com 后执行的全部过程:
  在客户端浏览器中输入http://www.baidu.com,baidu.com为要访问的服务器:
  1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层
  2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端
  3)客户端的网络层不关心应用层、传输层的东西,主要是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过哪个路径到达服务器
  4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议ARP 查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

相关文章:

计算机网络-进阶

目录 易混淆物理层数据链路层网络层nat如何实现私有ip通信IP数据报 格式解析tcp 连接tcp流量控制滑动窗口拥塞控制 报文捕获 wireshark路由模拟器 enspcdn代理服务器 VS cdn VS web cache 计算机有了物理地址,为什么还要有ip地址?单播 多播 广播 传输层会…...

LED恒流驱动芯片SM2188EN:满足LED灯具出口欧盟所需的ERP能效认证标准和要求

LED灯具是一种节能环保的照明产品,因其高效节能、长寿命等优点而备受消费者青睐,成为照明市场的主流产品。作为LED灯具出口欧盟市场的必备条件,ERP能效认证标准和要求对LED灯具的能效性能提出了严格的要求。 首先,ERP能效认证标准…...

RocketMQ系统性学习-RocketMQ原理分析之消费者的接收消息流程

🌈🌈🌈🌈🌈🌈🌈🌈 【11来了】文章导读地址:点击查看文章导读! 🍁🍁🍁🍁🍁🍁&#x1f3…...

butterfly蝴蝶分类

一、分类原因 由于植物分类所使用的数据集存在一定问题,修改起来比较麻烦,本次采用kaggle的ButterflyMothsImageClassification数据集,对100这种蝴蝶进行分类。 二、100中蝴蝶类别 ‘ADONIS’,‘AFRICAN GIANT SWALLOWTAIL’,‘AMERICAN S…...

计算机基础:网络基础

目录 一.网线制作 1.制作所需要工具 网线制作标准 ​编辑 2.水晶头使用 3.网线钳使用 4.视频教学 二.集线器、交换机介绍 1.OSI七层模型 2.TCP/IP四层参考模型 3.集线器、交换机。路由器介绍 集线器 交换机 路由器 区别 三.路由器的配置 1.路由器设置 说明书 设…...

[原创][R语言]股票分析实战[3]:周级别涨幅趋势的相关性

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、D…...

MSVC编译 openssl windows 库

开发需要在windows下集成 openssl 库,参考官方指导完成了编译:openssl/NOTES-WINDOWS.md at master openssl/openssl 不过,最后还是走了直接下载的捷径。 1. 安装 ActivePerl 需要在 ActiveState 注册账户,之后彼会提供具体的…...

electron兼容统信UOS系统过程中的坑

这里写目录标题 找统信支持人员咨询过,他们说不对electron提供支持,如果需要兼容统信UOS还是建议换个开发技术gbm_bo_map--no-sandboxNo protocol specified任务栏图标总结 找统信支持人员咨询过,他们说不对electron提供支持,如果…...

Flink系列之:Apache Kafka SQL 连接器

Flink系列之:Apache Kafka SQL 连接器 一、Apache Kafka SQL 连接器二、依赖三、创建Kafka 表四、可用的元数据五、连接器参数六、特性七、Topic 和 Partition 的探测八、起始消费位点九、有界结束位置十、CDC 变更日志(Changelog) Source十一…...

灰盒测试简要学习指南!

在本文中,我们将了解什么是灰盒测试、以及为什么要使用它,以及它的优缺点。 在软件测试中,灰盒测试是一种有用的技术,可以确保发布的软件是高性能的、安全的并满足预期用户的需求。这是一种从外部测试应用程序同时跟踪其内部操作…...

【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 快慢指针 移动零 class…...

springboot解决XSS存储型漏洞

springboot解决XSS存储型漏洞 XSS攻击 XSS 攻击:跨站脚本攻击(Cross Site Scripting),为不和 前端层叠样式表(Cascading Style Sheets)CSS 混淆,故将跨站脚本攻击缩写为 XSS。 XSS(跨站脚本攻击):是指恶意攻击者往 Web 页面里插…...

I.MX6ULL_Linux_驱动篇(47)linux RTC驱动

RTC 也就是实时时钟,用于记录当前系统时间,对于 Linux 系统而言时间是非常重要的,就和我们使用 Windows 电脑或手机查看时间一样,我们在使用 Linux 设备的时候也需要查看时间。本章我们就来学习一下如何编写 Linux 下的 RTC 驱动程…...

详解IBM企业架构框架模型CBM

(一):什么是CBM IBM的CBM是组件化业务模型(Component Business Model),是IBM在2003年提出的一种业务架构方法论。 目的是通过将企业的业务活动划分为一些独立、模块化、可重用的业务组件,来识…...

宝塔面板安装MySQL数据库并通过内网穿透工具实现公网远程访问

文章目录 前言1.Mysql 服务安装2.创建数据库3.安装 cpolar3.2 创建 HTTP 隧道 4.远程连接5.固定 TCP 地址5.1 保留一个固定的公网 TCP 端口地址5.2 配置固定公网 TCP 端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了 Linux 命令行进行繁琐的配置,下面简单几步,通…...

Elasticsearch 性能调优基础知识

Elastic Stack 已成为监控任何环境或应用程序的实际解决方案。 从日志、指标和正常运行时间到性能监控甚至安全,Elastic Stack 已成为满足几乎所有监控需求的一体化解决方案。 Elasticsearch 通过提供强大的分析引擎来处理任何类型的数据,成为这方面的基…...

速盾网络:网络安全守护者

速盾网络作为一家专业的网络安全服务提供商,致力于为企业和个人提供全面、高效、可靠的网络安全解决方案。以下是速盾网络的主要业务介绍: 一、CDN加速 速盾网络拥有全球化的CDN加速网络,通过分布在全球各地的节点,为客户提供快速…...

jmeter如何参数化?Jmeter参数化设置的5种方法

jmeter如何参数化?我们使用jmeter在进行测试的时候,测试数据是一项重要的准备工作,每次迭代的数据当不一样的时候,需要进行参数化,从参数化的文件中来读取测试数据。那么,你知道jmeter如何进行参数化吗&…...

01AVue入门(持续学习中)

1.使用AVue开发简单的前端页面直接简单到起飞,他是Element PlusVueVite开发的,不需要向元素的前端代码一样一个组件要传很多参数,他可以使用Json文本来控制我们要传入的数据结构来决定显示什么 //我使用的比较新,我们也可以使用cdn直接使用script标签直接引入 2.开发中遇到的坑…...

js 深浅拷贝的区别和实现方法

一:什么浅拷贝: 浅拷贝创建一个新对象,然后将原始对象的所有属性值复制到新对象中。这意味着,如果原始对象的属性值是基本类型(例如数字、字符串),那么这些值会被直接复制到新对象中。但如果属…...

【jvm从入门到实战】(九) 垃圾回收(2)-垃圾回收器

垃圾回收器是垃圾回收算法的具体实现。 由于垃圾回收器分为年轻代和老年代,除了G1之外其他垃圾回收器必须成对组合进行使用 垃圾回收器的组合使用关系图如下。 常用的组合如下: Serial(新生代) Serial Old(老年代) Pa…...

C#基础——匿名函数和参数不固定的函数

匿名函数、参数不固定的函数 匿名函数:没有名字,又叫做lambda表达式,具有简洁,灵活,可读的特性。 具名函数:有名字的函数。 1、简洁性:使用更少的代码实现相同的功能 MyDelegate myDelegate…...

PCL 点云匹配 4 之 (非线性迭代点云匹配)lM-ICP

一、IM迭代法 PCL IterativeClosestPointNonLinear 非线性L-M迭代法-CSDN博客 Matlab 非线性迭代法(3)阻尼牛顿法 L-M-CSDN博客 MATLAB实现最小二乘法_matlab最小二乘法-CSDN博客...

MySQL_14.数据库高速缓冲区空间管理

数据库高速缓冲区空间管理 Oracle 用 LRU(Least Recently Used)算法来管理数据高速缓冲区。该算法将最近使用的 数据块按照使用时间的早晚排成队列,当缓冲区占满后,调入新的数据块时,必须清除已有的数据 块&#xff0c…...

leetcode 974. 和可被 K 整除的子数组(优质解法)

代码&#xff1a; class Solution {public int subarraysDivByK(int[] nums, int k) {HashMap<Integer,Integer> hashMapnew HashMap();hashMap.put(0,1);int count0; //记录子数组的个数int last0; //前一个下标的前缀和int now0; //当前下标的前缀和for(int i0;…...

【技术】MySQL 日期时间操作

MySQL 日期时间操作 MySQL 系统时间MySQL 时间格式化MySQL 年月日时分秒周MySQL 日期计算时分秒时差日期差日期加减 MySQL 系统时间 now()&#xff1a;系统时间&#xff0c;年月日时分秒current_date&#xff1a;系统时间&#xff0c;年月日current_time&#xff1a;系统时间&…...

测试理论知识三:测试用例、测试策略

1.测试用例 完全的测试是不可能的&#xff0c;对任何程序的测试必定是不完全的&#xff0c;那么&#xff0c;最显然的测试策略就是努力使测试尽可能完全。 进行测试前&#xff0c;推荐先使用黑盒测试的方法设计测试用例&#xff0c;然后使用白盒测试方法来补充的测试用例。 2…...

【clickhouse】在CentOS中离线安装clickhouse

https://packages.clickhouse.com/rpm/stable/ 通过如下命令检查是否安装过clickhouse [root172 ~]# rpm -qa | grep clickhouse 把rpm安装包放到opt/lzh目录 按照如下命令顺序安装 [root172 /]# rpm -ivh /opt/lzh/clickhouse-common-static-22.1.2.2-2.x86_64.rpm [root…...

微信商户号申请0.2费率

我们都知道&#xff0c;目前市场上的支付宝或者微信商户收款&#xff0c;无论是线上收款还是实体店收款&#xff0c;一般都采用0.6%的收款费率&#xff0c;1万元就是60元。 其实这不低的。 大多数线下实体店商家可能使用的聚合支付码可能是0.38%&#xff0c;1万元是38。 虽然不…...

基于单片机设计的电子指南针(LSM303DLH模块(三轴磁场 + 三轴加速度)

一、前言 本项目是基于单片机设计的电子指南针&#xff0c;主要利用STC89C52作为主控芯片和LSM303DLH模块作为指南针模块。通过LCD1602液晶显示屏来展示检测到的指南针信息。 在日常生活中&#xff0c;指南针是一种非常实用的工具&#xff0c;可以帮助我们确定方向&#xff0…...

wordpress怎么自动生成内链/360站长工具seo

LinkedList实现队列简单描述&#xff1a;使用java.util.Queue接口,其底层关联到一个LinkedList&#xff08;双端队列&#xff09;实例。由于只暴露部分基于队列实现的接口&#xff0c;所以可以提供安全的队列实现。 LinkedList实现队列代码&#xff1a; package junit;import j…...

公司做外地网站/开鲁seo网站

vector<:vector>> allcontourpoint&#xff1b;//二层容器 std::vector<:point> Pointpoly; //一层容器 allcontourpoint.pop_back(); //弹出上一个&#xff0c; allcontourpoint.push_back(Pointpoly); //存储一个 vector>contours&#xff1b;//轮廓 allco…...

南宁培训网站建设/看网站时的关键词

数据库是应用及计算机的核心元素&#xff0c;负责存储运行软件应用所需的一切重要数据。为了保障应用正常运行&#xff0c;总有一个甚至多个数据库在默默运作。我们可以把数据库视为信息仓库&#xff0c;以结构化的方式存储了大量的相关信息&#xff0c;并合理分类&#xff0c;…...

迎访问中国建设银行网站_/深圳seo

vi /etc/sysconfig/network 内容&#xff1a; NETWORKINGyes HOSTNAMEhadoop000 vi /etc/hosts 内容&#xff1a;ip 主机名转载于:https://www.cnblogs.com/liweizai/p/7807800.html...

网站流量10g/app开发平台开发

一、拼多多做直播的目的&#xff1f;1、拼多多直播毋庸置疑是为了服务商家&#xff0c;帮助商家快速变现&#xff1b;2、丰富商家的营销玩法&#xff0c;目前5g时代&#xff0c;直播势在必行&#xff1b;3、为了加大促进私域流量的一个转换&#xff1b;4、无论是中小型还是头部…...

如何做一名优秀的网站管理者/品牌宣传推广方案

继上次开完“世界输送机大会之后”之后&#xff0c;这次再组织一次“世界托盘立体库大会”。这里我们只盘点一下自动化的托盘立体仓库。 照例&#xff0c;先百度百科一下什么是自动化立体仓库&#xff1a; 由百科上可以看到&#xff0c;立体仓库与普通仓库相比&#xff0c;一方…...