计算机协议、标准以及OSI模型的简单介绍
由概念启发学习,引导学习。本篇文章中包含了一些最基本的概念和底层知识。虽然零碎,但是这是基础。
一、协议和标准
协议指的是一组控制数据通信的规则。协议有三要素:语法(syntax),语义(semantics),时序(Timing)。具体说明请参考百度百科。
标准是一致同意的规则。标准分为两种:事实的标准(de-facto,指的是实际或者习惯。例如TCP/IP);合法标准(de-jury,指的是法律或者规章)
二、RFC
对于Internet标准我们可以在网站中可以找到历年以来的各种协议标准信息,其中有经典的RFC2026(描述了在因特网中如何制定标准)、RFC791(Internet Protocol)等等信息内容,其中各种RFC status参考如下:historic(过时的)、standard(当前标准)、proposed standard(建议标准,后续有可能有变化)、draft standard(标准草稿)、experimental(实验)、informational(信息)。
三、Internet的管理机构
ISOC(Internet Society 因特网协会:提供对Internet标准化过程的支持。www.isoc.org)
|– IAB(Internet Architecture Broad 因特网体系结构研究委员会:监督TCP/IP协议族的连续发展,编辑管理RFC。www.iab.org)
|– IRTF(Internet Research Task Force 因特网研究部:负责Internet协议、应用、体系结构和技术的长期发展。www.irtf.org)
|– IETF(Internet Engineering Task Force 因特网工程部:解决并找出Internet运行问题,开发并评审Internet标准。www.ietf.org)
原IANA(Internet Assigned Numbers Authority 因特网编号管理局:管理Internet域名和地址.www.iana.org)调整为现在的ICANA(Internet Corporation of Assigned Names and Numbers 因特网名称和号码分配公司)
四、OSI参考模型
OSI(Open System InterConnection 开发系统互联)是ISO的标准,是一个网络体系结构的概念模型。目的是使得两个开放的不同系统能够互相通信,而不需要改变底层的硬件或软件逻辑。
五、OSI模式的层次功能
⑦,应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
⑥,表达层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。
⑤,会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。
④,传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。
③,网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。
②,数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。分为两个子层:逻辑链路控制(logic link control,LLC)子层和介质访问控制(media access control,MAC)子层。
①,物理层(Physical Layer)在局部局域网上传送数据帧(data frame),它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。
①~③是网络支持层(软/硬件),⑤~⑦是应用支持层(软件)。每一层可以同时存在多个实体(例如应用层的邮件、浏览器);每一层可以同时存在多个协议(例如SMTP、HTTP)。
六、PDU协议数据单元
PDU有两层含义:
①,网络的对等实体传送的信息单元,包括了控制信息,地址信息,或者数据。
②,在分层协议系统里,在指定的协议层上传送的数据单元,包含了该层的协议控制信息和用户信息。
在OSI模型中,PDU跟最底下四层相关:
在物理层,PDU指的是数据位/比特流(Bit)。
在数据链路层,PDU指的是数据帧(Frame)。
在网络层,PDU指的是数据包/分组(Packet)。
在传输层,PDU指的是数据段(Segment)。
在第五层以上都为数据。在特定的上下文的情况下,一个特定层的PDU可以代表这个层。