31.网络基础概念(一)

发布于:2025-09-14 ⋅ 阅读:(21) ⋅ 点赞:(0)

计算机网络背景

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

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

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

初识协议

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

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

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

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

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

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

例子:快递单子


网站公告

今日签到

点亮在社区的每一天
去签到