数据通信——网络体系结构

网络体系结构与基本知识

    之前的文章说了因特网和计算机网络分类。这篇文章来介绍下体系结构。

    生活中做任何事情要有一套逻辑顺序,体系结构就是体现这种顺序的,我想要跟别人通信,中途会经历什么?网络通信自然繁琐,毕竟涉及到的设备较多。

    至于体系结构的历史在此就不多说了,感兴趣的话可以自己去看看。而这节课的目的,是为了让你在后期学习中能深刻体会网络“天罗地网”的设计。

OSI体系结构

    我们使用网络很简单,怎么上网啊!玩游戏啊!下载东西啊!等等,这些小孩子都会!但是网络可是依靠着大量的硬件软件运作的。每一个部分都在相互配合,一起为我们服务。因此最早的网络分为7层。

这个就是OSI的7层模型

    上图可见,OSI的结构非常清楚;理论也很完整但是也有缺点,有些功能的定义重复了;而且上图的7层结构实现起来也复杂。

    说白了,我就是觉得有人认为7层太多了,懒得记!OSI结构就是理论上非常清晰,单独拿出每一层的解释也很详细,但是网络毕竟是各层设备配合完成的,因此把他们放在一起分析的时候,就会很混乱。

    后来就出现了TCP/IP并成功代替了OSI的地位(但是TCP/IP源于OSI的)

TCP/IP协议

    毕竟是长江后浪推前浪,TCP/IP的优点:考虑到了各层设备网络互联的问题在网络管理上也很好管理划分了连接的方式

    不过TCP/IP可没有继承它老爹OSI的优点。因为从各层配合的角度考虑而不分你我,使得TCP/IP各层概念不清晰概念的不清晰导致通用性也很差网络接口层也没有实质性内容。

如下图

注:TCP/IP是一个协议簇,里面包含着众多的协议

    OSI结构清晰但是复杂不实用,TCP/IP结构不完整但各层联系紧密。为此,我们折中一下,用TCP/IP五层来完成我们研究学习。

网络基本知识

    上述的体系结构只是一部分!对于网络,我们还有几个重要的知识去理解。

实体,协议,服务和数据单元

实体:表示任何可发送以及接收信息的硬件或软件进程

    说白了就是路由器,交换机,手机的APP或者电脑软件这一类的统称。不过我们在网络通信里用这个名称来定义。

协议:是控制两个对等实体进行通信的规则的集合

    我们做事情总要统一,去实习有三方协议,买保险有保险的协议,网络通信自然也要协议。两个实体通信也要符合某种规范或者约定吧!那么一个网络协议有什么组成呢?语法,语义和同步

语法数据和控制信息的结构或格式

    假如你和我来签合同,首先你要保证这个合同是中文的,且它符合一个合同的格式,不然我不认识外文或者发现你的合同漏洞百出,那么我就会扔了它并拒绝你(这就是语法)

语义对接收或发出的消息应该做出什么样的响应

    当你的合同语法没问题了,我就开始看内容,如果发现有的合同内容我办不到或者和我想象的出入很大,那么我可能就会在履行这个合同条例时出现重大问题(这个就是语义)

同步事件实现的顺序

    假设上述全部符合,那么我会从头审视,这个合同我该从哪一步做起,是先复印身份证,还是先交钱等等(这个就是同步)

    这三个词很好理解,但是它贯穿了整个网络通信,因为每一层设备的交互都需要协议完成,我们在描述一个通信协议时,可以从这三点出发概括该协议的特点。

服务这个很好理解,就是实体之间,下层要为上层提供服务,上层需要下层提供支持。这个时候上下层进行交互的地方就是服务访问点 

    但是,协议和服务是不一样的!协议的制定让我可以为上层实体服务。但是本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。

    协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用下层的服务需要通过指令完成。

    上述一段可能不太好理解。我举个例子,上面不是说了吗?你(乙方)和我(求职者)签了合同,我按照合同上的内容工作。比如公司有项目,(乙方)把我派到了(甲方)提供专业服务。我为(甲方)提供服务后按照协议你(乙方)会发给我应有的待遇。但是,(甲方)不知道我和(乙方)签了什么协议,他只知道在这个领域,找我能帮他解决问题,而我能为(甲方)提供服务,全都是因为我和(乙方)的协议。

    再举一个例子,服务的“垂直”和协议“水平”其实就好比:一个外交官要向它国外交官讲话,但是它国外交官不懂中文,因此我们要向翻译人员讲话并由翻译官来完成翻译。我向翻译员讲话,翻译员起到了一个“服务”的作用,但是我真正的通信的对象是它国外交官,最终的协议是我们之间的“水平”交流达成的

数据单元

    数据单元就是指为了完成网络通信所定义的最小基本单位。网络通信都是由这些组合起来的数据单元进行传输而完成的。

协议数据单元(PDU)指的是不同端点中的各层对等实体间,为完成该协议交换的信息单元

服务数据单元(SDU)指实体为完成请求功能所需要的数据单元

    注:这里数据单元提到的“协议”和“服务”请参考上段的解释

    也就是说,在我进行网络通信的时候,每一层都会有相应的数据,有些数据是我要向对端“水平”发送的内容;而有些内容是为了“垂直”向各个层请求服务的。

 上图就是数据所在各层时的称呼,以及额外添加的报头

(这个很重要,后续对各层会展开分析!数据单元简直就是网络通信的“血液”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咕噜跳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值