计算机协议、标准以及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可以代表这个层。
本文参考了维基百科,百度百科以及经典书籍《TCP/IP 详解》部分内容。
计算机协议、标准以及OSI模型的简单介绍的更多相关文章
- 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍
**************************************************************************************************** ...
- 服务器端IO模型的简单介绍及实现
https://mp.weixin.qq.com/s?src=3×tamp=1541726441&ver=1&signature=xPSye3v7miF7aVeLHb ...
- 服务器端IO模型的简单介绍及实现 阻塞 / 非阻塞 VS 同步 / 异步 内核实现的拷贝效率
小结: 1.在多线程的基础上,可以考虑使用"线程池"或"连接池","线程池"旨在减少创建和销毁线程的频率,其维持一定合理数量的线程,并让空闲 ...
- UML动态模型图简单介绍
UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...
- 计算机网络系统--TCP/IP OSI模型
- 几种服务器端IO模型的简单介绍及实现
一些概念: 同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发I/O操作并等待或者轮询的去查看I/O操作是否就绪,而异步是指用户进程触发I/O操作以后便开始做自己的事情,而 ...
- 微软BI 之SSAS 系列 - 在 SQL Server 2012 下查看 SSAS 分析服务的模型以及几个模型的简单介绍
在SSDT中部署一个 SSAS 项目到本地服务器上出现错误. You cannot deploy the model because the localhost deployment server i ...
- Python的自定义属性访问跟描述器以及ORM模型的简单介绍
一 . 自定义属性访问 1.__getattr__ 作用:当我们访问属性的时候,如果属性不存在(出现AttrError),该方法会被触发. 2.__getattribute__ 作用:访问属性的时候, ...
- Java内存模型概念简单介绍,想深入自行百度
随机推荐
- Android ViewManager解读之requestLayout() 详解
尊重原创: http://blog.csdn.net/sk719887916/article/details/48464035 上篇<Android View 中invalidate() 你所不 ...
- Rust语言
Rust语言 https://doc.rust-lang.org/stable/book/ http://www.phperz.com/article/15/0717/141560.html Rust ...
- 菜鸟玩云计算之廿二: saltstack 配置
菜鸟玩云计算之廿二: saltstack 配置 要求环境: RHEL6.4+ >=Python2.6.6, < Python 3.0 关闭salt-master/minion服务: # ...
- 非阻塞IO模式原理
与阻塞模式对应的另一种模式叫非阻塞IO模式,在整个通信过程中读和写操作不会阻塞,当前处理线程不存在阻塞情况.从A机器到B机器它的通信过程是:A机器一条线程将通道设置为写事件后往下执行,而另外一条线程遍 ...
- SpriteBuilder中的CCB Node尺寸
当你创建一个类型为Layer的CCB文件时,你将注意到它的默认尺寸大小为568x384. 568个点是4英寸iphone的宽度,同时iPad屏幕只有512个点宽,更准确的说--SpriteBuilde ...
- HOW TO LINK THE TRANSACTION_SOURCE_ID TO TRANSACTION_SOURCE_TYPE_ID
In this Document Goal Solution References APPLIES TO: Oracle Inventory Management - Version 11 ...
- Linux文件系统的简单操作 - df, du, ln
现在我们知道磁盘的整体数据是在 superblock 区块中,但是每个各别文件的容量则在 inode 当中记载的. 那在文字接口底下该如何叫出这几个数据呢?底下就让我们来谈一谈这两个命令: df:列出 ...
- Mina源码阅读笔记(五)—Mina对连接的操作IoSession
IoSession是Mina管理两端的一个重要部分,也是Mina的核心,Session具有了生命周期的概念,它的生命周期和连接时紧密相关的,这点在后面的介绍中会涉及.另外,好像hibernate中也有 ...
- 线程ava.lang.OutOfMemoryError: unable to create new native thread
近日开发遇到多线程的问题: java.lang.OutOfMemoryError: unable to create new native thread Exception in thread &qu ...
- rails将类常量重构到数据库对应的表之后记
怎么还有啊!别急,有强迫症的人伤不起!有点小事没说完感觉痒痒的:就是如果表payment_types经常变动该怎么办?每次都要关闭rails网页服务器,然后重启吗?那也太麻烦鸟,最终的解决方案是,在O ...