计算机网络-进阶

目录

  • 易混淆
  • 物理层
  • 数据链路层
  • 网络层
    • 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数据包到达服务器的地址。

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

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

相关文章

基于AWD攻防对Web漏洞的研究

写在前面 Copyright © [2023] [Myon⁶]. All rights reserved. 基于awd攻防环境和xshell远程连接,配合kali linux渗透系统、蚁剑、D盾、河马、Seay代码审计系统等,演示现实中网站可能存在的漏洞,对网站进行漏洞扫描,渗透测…

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

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

GNSS模块在海洋领域的应用

随着科技的不断进步,GNSS(全球导航卫星系统)模块在各个领域的应用逐渐成为日常生活的一部分。在海洋领域,GNSS技术为航海、渔业、海洋科学研究等提供了关键的支持。本文将深入探讨GNSS模块在海洋领域的广泛应用,以及它…

Redis介绍与使用

1、Nosql 1.1 数据存储的发展 1.1.1 只使用Mysql 以前的网站访问量不大,单个数据库是完全够用的。 但是随着互联网的发展,就出现了很多的问题: 数据量太大,服务器放不下 访问量太大,服务器也承受不了 1.1.2 缓存…

移动端自适应

1.普通html页面 一般使用px定义,不会进行适配 移动端项目:从不同的终端保持页面的一致性(自适应),使用rem相对单位,rem是相对于根节点html的font-size的值进行动态换算的值 2.普通html页面进行适配 普通页面中&…

wps三级标题不对齐

段落中设置首行缩进即可对其 效果: 使用格式刷去将其他三级标题同步

使用yarn安装electron时手动选择版本

访问1Password或者其他可以提供随机字符的网站,获取随机密码运行安装命令 操作要点,必须触发Couldnt find any versions for "electron" that matches "*"才算成功 将复制的随机密码粘贴到后面 例如:yarn add --dev elec…

Java基础知识回顾

Java基础 一、Java概述 1、Java技术体系平台 类型简介JavaSE 标准版支持面向桌面级的应用JavaEE 企业版支持为企业开发的应用JavaME 小型版运行在移动终端的平台 2、Java重要的特点 面向对象的语言(OOP) 健壮的语言,具有强类型转换、异常…

【Docker】基础篇

文章目录 Docker为什么出现容器和虚拟机关于虚拟机关于Docker二者区别: Docker的基本组成相关概念-镜像,容器,仓库安装Docker卸载docker阿里云镜像加速docker run的原理**为什么容器比虚拟机快**Docker的常用命令1.帮助命令2.镜像相关命令3.容…

SpringMVC拦截器

拦截器 1.拦截器概念2.拦截器开发2.1环境准备2.2拦截器开发流程 3 拦截器参数1. 前置处理方法2. 后置处理方法3 完成处理方法4.配置多个拦截器 1.拦截器概念 (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源…

可实现RSSD云硬盘120万IOPS的SPDK IO路径优化

一. 简介 用户对超高并发、超大规模计算等需求推动了存储硬件技术的不断发展,存储集群的性能越来越好,延时也越来越低,对整体IO路径的性能要求也越来越高。在云硬盘场景中,IO请求从生成到后端的存储集群再到返回之间的IO路径比较…

【Java】网络编程-UDP字典服务器客户端简单代码编写

上文讲了UDP回响服务器客户端简单代码编写 本文将讲述UDP字典服务器客户端简单代码编写。所谓回显,就是指客户端向服务器发送一个报文,从服务器那里得到一条一模一样的回响报文 而我们的字典功能呢,则是实现了输入中文,得到对应…

智能物联网汽车3d虚拟漫游展示增强消费者对品牌的认同感和归属感

汽车3D虚拟展示系统是一种基于web3D开发建模和VR虚拟现实技术制作的360度立体化三维汽车全景展示。它通过计算机1:1模拟真实的汽车外观、内饰和驾驶体验,让消费者在购车前就能够更加深入地了解车辆的性能、特点和设计风格。 华锐视点云展平台是一个专业的三维虚拟展…

Pytorch:backward()函数详解

.backward() .backward() 是 PyTorch 中用于自动求导的函数,它的主要作用是计算损失函数对模型参数的梯度,从而实现反向传播算法。 在深度学习中,我们通常使用梯度下降算法来更新模型参数,使得模型能够逐步逼近最优解。 在梯度下…

linux中deadline调度原理与代码注释

简介 deadline调度是比rt调度更高优先级的调度,它没有依赖于优先级的概念,而是给了每个实时任务一定的调度时间,这样的好处是:使多个实时任务场景的时间分配更合理,不让一些实时任务因为优先级低而饿死。deadline调度…

(保姆级教程)一篇文章,搞定所有Linux命令,以及tar解压缩命令,wget、rpm等下载安装命令,Linux的目录结构,以及用户和用户组

文章目录 Linux命令1. Linux目录结构2. 基本命令(了解)3. 目录(文件夹)命令列出目录切换目录创建目录删除目录复制目录移动和重命名目录 4. 文件命令创建文件编辑文件编辑文件时的其他操作 查看文件移动/重命名文件复制文件删除文…

机器学习---聚类(原型聚类、密度聚类、层次聚类)

1. 原型聚类 原型聚类也称为“基于原型的聚类” (prototype-based clustering),此类算法假设聚类结构能通过一 组原型刻画。算法过程:通常情况下,算法先对原型进行初始化,再对原型进行迭代更新求解。著 名的原型聚类算法&#…

基于Redis限流(aop切面+redis实现“令牌桶算法”)

令牌桶算法属于流量控制算法,在一定时间内保证一个键(key)的访问量不超过某个阈值。这里的关键是设置一个令牌桶,在某个时间段内生成一定数量的令牌,然后每次访问时从桶中获取令牌,如果桶中没有令牌&#x…

【机器学习】梯度下降法:从底层手写实现线性回归

【机器学习】Building-Linear-Regression-from-Scratch 线性回归 Linear Regression0. 数据的导入与相关预处理0.工具函数1. 批量梯度下降法 Batch Gradient Descent2. 小批量梯度下降法 Mini Batch Gradient Descent(在批量方面进行了改进)3. 自适应梯度…

C++相关闲碎记录(17)

1、IO操作 (1)class及其层次体系 (2)全局性stream对象 (3)用来处理stream状态的成员函数 前四个成员函数可以设置stream状态并返回一个bool值,注意fail()返回是failbit或者badbit两者中是否任一…