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

31.网络基础概念(一)

计算机网络背景

计算机是人类的工具,人之间是要协作的,就注定了计算机之间要进行协作。(网络的产生是必然的)

具体怎么产生的? -> 局部产生的 -> 局部到整体的

互联网公司,运营商,做通信工具的公司互利共生。

初识协议

协议,本质是一种约定!(减少通信的成本,用于快速形成共识)

计算机之间,如何约定呢?

OSI,只生产标准,不写代码实现。

举例:电话接通要拨打方给钱,但只要没接通就不扣钱。因此可以约定好,用电话铃声响来传递信息,比如响一声要生活费,响两声报平安,从而减少通信的成本。

协议分层

协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计成层状结构的。

网络协议栈,就是分层的!

结论1:学网络,两种视角,普通用户视角,工程师视角

结论2:同层之间,在“直接”通信

结论3:分层之后,可以无障碍替换任意一层 --- 分层->解耦

OSI七层模型和TCP/IP五层(四层)模型

再识协议(计算机要遵守的?计算机角度,OS角度,如何理解协议呢?)

例子:假设有一台计算机,CPU在河南,显卡在浙江,内存在内蒙古,线还是连着的,只不过长度很长,它们之间还能进行数据传输吗?可以,无非就是时间久一点。

本地通信 vs 网络通信

网络通信:多台主机,通过网络通信,本质也是设备到设备!其中唯一的一个区别:单纯的距离变长了。

本地通信:所有设备是通过“线”连接起来的!-> 计算机内部,冯诺依曼,本身就是一个网络结构!!!

网络通信是新的技术->必然引发新的问题->引入新的技术在解决问题(比如多线程情况下,单互斥锁会导致释放锁的线程更容易申请锁,造成其他线程饥饿,从而引入同步)

新的问题:

如何处理数据?

数据丢了怎么办?

怎么定位目标主机?

怎么解决当下立即去哪里?

TCP/IP协议,本质:是一种网络 长 距离通信的解决方案!

重点:计算机通信的距离变长了

为什么要分层?

问题是不同性质的,不同种类的,怎么解决?协议分层

因此,协议为什么是分层的?因为问题是分层的,不同性质,不同种类的。

TCP/IP协议与操作系统的关系(宏观上,怎么实现的)

网络怎么实现和OS的体系结构有关。

网络协议栈,注定了是层状结构。

        无论什么操作系统,只要用的是TCP/IP协议,那么它们的网络部分实现一定是一样的。这也是为什么不同操作系统之间能网络通信的原因。

        传输层最著名的协议是TCP,网络层最著名的协议是IP,而传输层(TCP)和网络层(IP)两层必须实现在内核中,无论OS在这么不同,这部分大家必须遵守协议,必须一样。

        整个协议叫TCP/IP协议原因:TCP和IP是核心。

协议本质(代码实现角度)

协议本质:就是约定好的结构体(计算机式的表达)

例如:主机A在传输层有结构

struct protocol

{

        int a;

        int b;

        int c;      

};

struct protocol data = {10, 20, 30};

主机A发送结构体对象data给主机B

可以简单理解为:不同操作系统的网络代码一样。

所谓协议,就是通信双方都认识的结构化的数据类型。

因为协议是分层的,所以,每层双方都有协议,同层之间,协议相同,可以互相认识。

例子:快递单子


文章转载自:

http://UZqf8peG.tkgjL.cn
http://bwVOG3N2.tkgjL.cn
http://rFrmfbfv.tkgjL.cn
http://iFcKoGAb.tkgjL.cn
http://rCOiZ0c9.tkgjL.cn
http://8eiEJrwl.tkgjL.cn
http://ysoLPbVs.tkgjL.cn
http://JgB5y1CA.tkgjL.cn
http://N2hQOdfh.tkgjL.cn
http://xGioeap6.tkgjL.cn
http://nI00ILFp.tkgjL.cn
http://vDWTLKRx.tkgjL.cn
http://hkDp1BRm.tkgjL.cn
http://bX1409qd.tkgjL.cn
http://41azShqt.tkgjL.cn
http://CRJKBpFi.tkgjL.cn
http://veGvRsA3.tkgjL.cn
http://3IfSV6HO.tkgjL.cn
http://svhCKXNT.tkgjL.cn
http://nM4POtKz.tkgjL.cn
http://J51DD40D.tkgjL.cn
http://fPnpwZGj.tkgjL.cn
http://uIFh8sL6.tkgjL.cn
http://s3U30w2t.tkgjL.cn
http://QqUnVGRx.tkgjL.cn
http://IyrMZ5B8.tkgjL.cn
http://AkzIFtOm.tkgjL.cn
http://jfZqtugV.tkgjL.cn
http://QxzSKkdZ.tkgjL.cn
http://g3GIOu9P.tkgjL.cn
http://www.dtcms.com/a/381495.html

相关文章:

  • 贪心算法应用:信用卡还款优化问题详解
  • Linux的多线程
  • 《链式二叉树常用操作全解析》
  • ——贪心算法——
  • IDEA使用Maven和MyBatis简化数据库连接(配置篇)
  • MLLM学习~M3-Agent如何处理视频:视频clip提取、音频提取、抽帧提取和人脸提取
  • video视频标签 响应式写法 pc 手机调用不同视频 亲测
  • CMD简单用法
  • 【iOS】AFNetworking
  • 【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio)
  • 惠普打印机驱动下载安装教程?【图文详解】惠普打印机驱动下载官网?电脑连接惠普打印机?
  • 【PHP7内核剖析】-1.1 PHP概述
  • ajax
  • STM32之RTOS移植和使用
  • [VL|RIS] RSRefSeg 2
  • Hadoop伪分布式环境配置
  • Python中的深拷贝与浅拷贝
  • 冒泡排序与选择排序以及单链表与双链表
  • 垂直大模型的“手术刀”时代:从蒙牛MENGNIU.GPT看AI落地的范式革命
  • 【高并发内存池】六、三种缓存的回收内存过程
  • 缓存常见问题与解决方案
  • 【pure-admin】登录页面代码详解
  • 初学鸿蒙笔记-真机调试
  • 反序列化漏洞详解
  • 使用 vue-virtual-scroller 实现高性能传输列表功能总结
  • python 实现 transformer 的 position embeding
  • 003 cargo使用
  • 制作一个简单的vscode插件
  • 【算法详解】:从 模拟 开始打开算法密匙
  • kubeadm搭建生产环境的单master多node的k8s集群