初始网络

初始网络


这里可以先自行在网上了解一下网络的发展史 也就是互联网是怎么来的.

局域网 / 广域网


关于网络的发展史 , 会涉及到两个非常重要的术语 ,也就是 局域网,和广域网


局域网 :把一些设备,通过交换机或路由器连接到一起


局域网要求这些设备不能离太远 , (比如 同一个网吧内 , 同一个学校, 同一个公司 等)


广域网 :范围更大的局域网


比如 : 将一个城市里的电脑都连接起来,再把城市和城市之间的网络也连接起来,越连越多,此时就成了广域网了。


另外 :广域网没有明确的说,需要达到多大,才能算是一个广域网。但一般我们就认为广域网就是一个比较大的网络。就是很多个局域网组合在一起,构成了一个很大的网络。


了解完 局域网 和 广域网, 下面再来谈谈, 几个组建网络的重要设备。


1. 路由器 : wifi 本质上就是格无线路由器 , 路由器 本质上就是将两个局域网连起来。


2. 交换机 : 组件局域网 (不能跨局域网)

在这里插入图片描述


另外 : 在现在,带有路由功能(三层转发) 交换机也是很多很常见的, 这就导致交换机和路由器之间的界限越来越模糊.


3. 集线器 ( 比较古老的东西,现很少见到): 将一根网线 给 分叉了

关于这些设备就简单的了解一下即可 , 下面来学习一下关于网络的基础知识 。

IP地址 和 端口号


IP 地址 : 标识了网络上设备所在的位置


端口号 : 标识了一个具体的应用程序


举个例子 : 假设我在淘宝上买一件衣服,这里我们需要填写收货地址 和收件人电话 ,我们快递小哥就可以根据收获地址送往指定的区域,但是在这一片区域内不止我一个人,快递小哥肯定不可能随便找个人把快递给了把, 此时就可以通过收件人电话联系到我 ,将快递交给我。


此时 收货地址就好比 IP 地址, 收件人电话 就好比端口号。

认识协议


协议是网络通信中最最核心的概念 .


协议 简单来说就是约定,商量好数据是啥样的格式来进行传输的, 有了这个约定,才能让双发互相理解对方的含义.


举个例子 : 相亲


到了一定年龄, 如果你还单身,且没有对象的话,八九不离十 会被父母拉去相亲, 假设 有一个 阿姨给你介绍了一个相亲对象, 此时你们加上了微信 ,打算见面聊一下, 此时选好了餐厅 , 此时就需要面临一个问题,如果区分出相亲的对象呢?


这里千万不要说相信照片,按照现在这个时代,那个女生不会p点图 ,男生还好 照片应该差不多 。

这里就需要与相亲对象约定好,要不然,等你到了座错了桌与别的相亲对象聊上了不就尴尬了吗。


**所以说约定是非常重要的 , 放到我们网络中, 协议就是通信双方进行的一种约定, 发送方约定好了发送的数据是啥样的,接收方就可以按照这个固定的格式来进行解析. **


这里举个典型的约定暗号 。

妹子 穿个红色的裙子, 我们胸口别一个玫瑰花 。

为啥不直接打电话呢? 这不是浪漫一点吗 , 万一真因为你的这一点 ,妹子看上了你呢?

协议分层


下面继续 , 关于我们的协议 ,可能简单,也可能很复杂 。


像我们的 网络通信 ,是一个比较复杂的事情 ,需求场景复杂了 ,实现功能也会比较复杂.

此时 为了满足网络通信这样的场景,就需要设计一个特别复杂的协议来满足需求 .


正因这个协议非常复杂,我们的学习成本 ,理解成本就会变得非常高。


此时就可以采用拆分的方法,将这个比较复杂的大协议拆分成诺干个相对简单的小协议.

但是协议拆分后 也会有一些小问题。

比如 : 我们将协议拆分成一些小的协议(每个负责一部分功能) , 此时 就发现 某些协议之间,起到的功能和作用是类似。

那么针对这些起到的功能和作用的协议就可以在进行 分类(分层) ,这就好比 代码拆分出很多类,有些类,功能差不多,就可以放到同一个 里.


此时是不是感觉就是将协议进行了分层操作 , 其实我们要学习的网络协议 , 就是在分层 的大背景下展开的


这里协议分层有是有 很多的好处的。

比如 : 1.降低了学习和维护的成本 (知道某些协议 , 不知道其他协议也是可以正常使用的)


2.可以灵活的针对这里的某一层协议进行替换。


举例 :

在这里插入图片描述


了解完 协议分成的好处 ,下面来看看当前互联网世界 两种风格的协议分层 (其实就是一种)


1.OSI 七层 网络模型


OSI 七层网络模型 ,只存在教科书中,实际上是没有的 (实现起来太复杂) .


简单看看 :

在这里插入图片描述


2.TCP/IP 五层网络模型


TCP/IP 其实就是 OSI 简化的实现方式, 另外角度不同,这里也可以称为 TCP / IP 四层 网络模型 。


图示 :

在这里插入图片描述


简单说一下为啥可以称 TCP/IP四层协议 :这里 物理层是属于纯硬件 ,和我们这些程序猿 关系不大 ,所以 我们也就可认为是 四层


图二 :

在这里插入图片描述


了解了协议分层,下面就站在协议分层的背景下来理解网络数据传输的基本流程.


图示 :

在这里插入图片描述


图二 :

在这里插入图片描述


此时发送方就看完了,下面了解一下,接收方的的工作 (此处省略中间的转发过程 , 只考虑 B 的接收)


图示 :

在这里插入图片描述


看完了 接收方,稍微稍微总结一下 : 可以看到在整个网络协议中 ,协议分层了很多层 , 上层协议要调用下层协议 (上层协议把数据交给下层 , 继续封装) , 下层协议要给上层提供支持 (下层协议解析好数据,交给上层) 。

注意 : 这里的几层协议之间是有明确的层级关系的,只有相邻的两层之间才能进行交互 .(不能跨层交互)

正是因为上述这些约束,让通信过程变的简单,清晰起来了。

猜你喜欢

转载自blog.csdn.net/mu_tong_/article/details/128760945