计算机网络词汇解释(一)——网络协议体系
本篇文章试图以:是什么?为什么?怎么样?三个层次来解释词汇,并尽量实现通信的哲学“你传达的复杂信息,到底有没有人愿意听、能够懂、记得住、还给点赞。”由于本人也是初学者,解释的难免会有片面,错误的情况,希望如果有大佬发现可以帮忙指正,提前表示感谢。
本文未提到的一些网络协议体系名词可以在本组其他小伙伴的链接找到:
目录
一、OSI
1.Open Systems Interconnection
OSI(Open Systems Interconnection)开放系统互连,由国际标准化组织ISO提出作为各层协议迈向国际标准化的第一步,OSI模型从下自上分为七个层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
扩展:OSI模型的七个层
- 物理层(关注在一条通信信道上传输原始比特)
- 数据链路层(在共同媒体的装置之间,将原始的传输设施转变成一条没有漏检传输错误的线路)
漏检:漏检就是有的不合格品没有被检查出来,当成了合格品。——百度百科 - 网络层(控制子网的运行)
- 传输层(接受来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并且确保这些数据单元正确地到达另一端)
- 会话层(允许不同机器上的用户建立会话)
- 表示层(关注所传递信息的语法和语意)
- 应用层(包含用户需要的各种各样的协议)
2.产生背景
为了解决网络之间的兼容性问题,实现与开放的通信系统间的相互通讯。
3.OSI模型怎么样
与OSI模型相关的协议没有被任何人所用,但该模型本身具有相当普遍意义。
扩展:OSI模型及其协议并没有统领整个网络世界的原因
- 糟糕的时机:预计竞争的TCP/IP协议已经被广泛应用于大学和科研机构,许多厂商开始谨慎地提供TCP/IP产品,并不想支持第二个协议栈
- 糟糕的技术:难以理解、重复低效
- 糟糕的实现:庞大笨拙效率慢
- 糟糕的政策:政府官僚视图把技术上不足的标准强加给实际开发计算机网络的研究院和程序员
二、封装
1.是什么
封装:对一个完整的协议栈,数据从上往下传输时,每一层为数据添加自己的控制头部,直到形成一个完整的信息。
2.为什么
见本文六、3.为什么需要封装与解封
3.对数据进行封装的意义及实现
- 意义:使用封装实现了对等实体间的通信,只有对等实体才能对封装后的数据进行解封,同时只保留接口屏蔽了具体的技术细节,便于其他层处理。
- 实现:因为头部需要第一时间处理,所以应该加到数据前边,为了使用数组实现,需要预留好足够的数组空间,将数据放在末尾,再向前增加头部。
三、协议
1.Protocol
协议(protocol)指通信双方,具体指通信中的对等实体,就如何通信的一种约束。
2.为什么要规定协议
通信的双方必须要听得懂对方的“语言”和“想要表达的意思”,这就需要提前规定一个协议,大家都按照这个规定讲话,这样双方之间才能听得懂。否则,就会出现你讲英语我讲汉语,双方无法进行正常沟通的情况。
3.协议的实现
一个协议需要具备三要素,即:语法、语意和同步(时序)。协议一定是在对等层之间规定的。
扩展:
- 语法:数据的表达方法,通常由PDU(协议数据单元)的格式来规定。
- 语意:一个句子有了格式,接下来就要往里面添加内容,语意指的就是这些内容的含义,通常是PDU中各个符号的含义。
- 同步(时序):完成一件事件,一定要有一定的顺序流程,同步(时序)就是为了确保每个流程按相应的顺序依次执行。
四、实体
1.Entity
实体指层中的活跃元素。负责执行协议、完成本层功能。每层可以同时存在多个实体。
扩展:对等实体
不同机器上构成相应层次的实体。
2.为什么要规定实体
将层中活跃的元素具象化,便于用其来描述、解释其他术语。同时引出对等视听的概念
3.实体之间怎样交流
实体间的交流需要协议来约束,来实现:“有头有尾的交流“或“不受限制,自由的交流”。
五、时序图
1.前置知识:时序
时序:完成一件事情所要经历过程的先后顺序。
2.什么是时序图
用图的方式以时间先后的关系将时序所画出来。
3.时序图有什么用
时序图以时间为坐标轴,能够直观的展示出过程的先后发生顺序,便于大家理清思路,同时规划事件的流程。
六、解封
1.前置知识:数据封装
数据封装:对一个完整的协议栈,数据从上往下传输时,每一层为数据添加自己的控制头部,直到形成一个完整的信息。
2.什么是解封
解封就是封装的逆过程,经过数据封装后得到的完整数据,再从下往上各层把头部数据处理掉,还原成原本的信息,传送给高层用户。
3.为什么需要封装与解封
每一层添加的头部用于标识该消息,便于传送给接下来的那一层能够不考虑这些服务实现的细节而直接处理。
4.对封装与解封的补充说明
底层没必要也不能从高层的数据载荷中提取控制信息,防止了信息的泄露。
七、PDU
1.协议数据单元(Protocol Data Unit)
对等实体间交换的数据信息,由头部(header)+数据形成(data)。
拓展:
- 头部:本层实体的控制信息
- 数据:需要传递的数据载荷
数据载荷:发送者传递的原本消息
2.为什么定义PDU
PDU将原数据与头部合在一起称呼,使得经过每一层加工后的数据有了统一的称呼,同时引出SDU的概念。
扩展:PDU与SDU
PDU与SDU(Service Data Unit)只是同样信息在不同情况下的不同叫法,当数据封装完成后,它叫做PDU,之后被送往下一层,送往下一层的数据还未经过该层封装,在封装前它叫做SDU,经该层封装完成后叫做PDU.
3.PDU的实现
结构体实现协议头,将每一层协议头所要的元素用结构体一一列举出来。
八、局域网
1.LAN,Local Area Network
局域网是一种私有网络,一般在一座建筑物内或建筑物附近,比如家庭、办公室或工厂。
2.为什么要定义局域网
从传输距离的角度,计算机网络被分成了个域网、局域网、城域网、广域网、互联网。便于人们称呼一片特定的网络。
3.局域网在我们的生活中有什么用
低成本、高效率的局域网络被广泛用来连接个人计算机和消费类电子设备,使它们能够共享资源和交换信息。其中近来大受欢迎的无线局域网中的一个标准称为IEEE 802.11,俗称WiFi.
九、RFC
1.征求意见文档(Request For Comments)
用于开发新协议和更新现有协议的的流程和文档,成为征求意见文档。
2.为什么需要RFC
尽管有许多不同的网络组件制造商,但他们都必须使用相同的标准。这样使你无论使用什么设备,什么操作系统,都能良好的运行按照相同标准所建立的网络所提供的服务。
3.RFC效果怎么样
开放标准鼓励互操作性、竞争和创新。它们还能确保没有任何一家公司的产品能够垄断市场或占有不公平竞争优势。
参考资料
- 中国大学MOOC电子科技大学计算机网络(暂未上线)
- 思科网课
- OSI参考模型产生背景
- 数据的封装与解封装
- PDU(协议数据单元)
- 计算机网络(第五版) 清华大学出版社 严伟、潘爱民 译