manajay

Valar Morghulis Valar Dohaeris

静下心来,用心观察 处处都透着生活的美.


网络协议与分层体系结构

它是计算机网络中不可缺少的组成部分, 协议是指 通信双方必须遵守的控制信息交换的规则的集合,是一套语义与语法规则,用来规定有关功能部件在通信过程中的操作,它定义了数据发送和接收工作中必经的过程.协议规定了网络中使用的格式、定时方式、顺序和检错。

1.协议三要素:

  1. 语法 是指数据与控制信息的结构或格式,确定通信时采用的数据格式,编码及信号电平等回答“怎么讲”
  2. 语义 协议的语义是指对构成协议的协议元素含义的解释“讲什么”
  3. 同步 规定了事件的执行顺序

2. 网络体系结构的定义

网络体系结构 是计算机网络的分层、每层的功能以及每层使用到的协议的集合。

2.1 层次模型的要求

计算机协议的层次模型 下层是为上层服务的,协议是对等层要遵守的规则的集合. 分层的原则:

  • 每层的功能应明确,并且相互独立
  • 层间接口要清晰,跨越接口的信息量要少.
  • 层数要适中.

2.2 协议层次模型

协议层次模型

2.3 分层的原则

  • 按功能分层、归类、每层功能应明确、独立。
  • 层与层的接口适合于标准化,其边界的信息流应尽可能少。
  • 每一层只与相邻层有边界。
  • 为满足各种通信服务需求,在一层内可形成若干子层。

分层:

很多管理机构大多采用分层的管理体系

又如军队体系: 军、师、旅、团、营、连、排、班…

3. 公认的分层模型

3.1 OSI/RM 体系结构

3.1.1 OSI/RM 体系结构 的标准定义

ISO 推出的标准化网络分层架构 从 上层 到下层 依次如下: OSI:R

虽然 ISO 的初衷很好,但在体系市场化上却惨遭滑铁卢,原因:

OSI 的专家们缺少实际经验,制定时缺乏商业驱动力;

OSI 的协议实现起来过分复杂,运行效率较低;

OSI 标准的制定周期太长,使得按照当时的标准生产的设备无法及时进入市场;

OSI 的层次划分不太合理,表现在有些功能在 多个层次中重复出现.

3.1.2 OSI/RM 的简化 : 五层的体系结构

IMG_1832

这里只是将 OSI/RM 的5、6、7 合并为 5: 应用层 目的是 为了 方便分析,理解.

每层的作用:

应用层: 直接为用户的应用进程提供服务 IMG_1833-w400

传输层: 为两台主机中进程之间的通信提供服务 IMG_1834

网络层: 为网路上的不同主机之间提供分组的传输服务

数据链路层: 将分组数据 封装成帧

物理层: 将帧数据 转换成比特流 通过底层的物理网络发送出去 IMG_1835

3.1.2.1 数据在 各层之间传输的情况
  • 首先是总体上的把握

IMG_1836

  • 层与层之间的信息流通

IMG_1837

  • 每层 协议数据的结构

IMG_1838

3.2 TCP/IP体系结构

目前应用最广泛的网络体系结构 体系如下: IMG_1840 IMG_1841

  • 大体认识就是 将五层中的数据链路层和物理层进行了统一

  • 各层的协议

IMG_1842

  • IP 协议的 关键性体现

IMG_1844

虽然每层使用的协议各有不同, 但是互联网络层总是不变的 , IP 协议的制定,使得全球信息流通成为可能.

3.3 OSI/RM 和 TCP/IP 体系的比较

  • 出发点不同:

OSI/RM 是作为国际标准制定的,考虑的情况更为复杂,协议的数量和复杂度都远高于 TCP/IP .

早期的 TCP/IP 协议是 为军用网 ARPNET 设计的体系结构,一开始就考虑了一些特殊要求,如可用性,安全性,网络互联性以及处理瞬间大信息量的能力等.

  • 一些问题的处理方式不同:

对层次的关系: OSI/RM 模型严格按照层次结构,而 TCP/IP可以跨层;

无连接服务问题: OSI/RM

Finally 努力就能成功!

注:

文章的生成一定要注意时间的书写格式, Jekyll 不会生成未来的文章,时间要加上时区,最好使用 rake new 的脚本自动创建文章.

rake-2016-07-25 00.59.18

最近的文章

开发中 warning 的 解决方案

过期方法的 warning 消除#pragma clang diagnostic push#pragma clang diagnostic ignored "警告标识的描述" // 例如 -Wdeprecated-declarations// 过期的方法 //#pragma clang diagnostic pop// for example #pragma clang diagnostic push#pragma clang diagnostic ignored "-...…

iOS开发技巧继续阅读
更早的文章

实现网络自由, 随意Google,看 YouTube视频

方案一: 蓝灯 Lantern 软件 Lantern官方网址 https://getlantern.org/ Lantern Github https://github.com/getlantern/lantern 哈哈 想做贡献的地方方案二: 不用软件,hosts项目按照步骤来哦 hostsGithub 项目主页 链接https://github.com/racaljk/hosts 如果打不开,请打开 Lantern 更换 host 工具 链接http...…

网络继续阅读