计算机协议、标准以及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内存模型概念简单介绍,想深入自行百度
随机推荐
- SpriteBuilder中不能编辑自定义类或不能给节点添加属性的解决
不能编辑自定义类 你选中一个Sub File(CCBFile)节点,在这个例子中,该节点的Custom class区域灰化禁用且不能修改.这是因为你需要在该Sub File引用的CCB文件中修改Cus ...
- 【linux学习笔记】在ubuntu下使用QT Cmake支持C++11
今天在ubuntu下使用QT来进行C++编程,选择了Cmake,当用到initializer_list的时候提示不支持C++11,现提供一下解决方案: 错误提示: error: This file r ...
- 安全退出app,activoty栈管理
前言 由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文.(之前看小强也写过一篇,这里通过自身的分析完整的总结一下以下6种方案 ...
- Java-HttpSession监听
//HttpSession监听 public interface HttpSessionActivationListener extends EventListener { /** Notificat ...
- Java-HttpServlet
/** * * Provides an abstract class to be subclassed to create * an HTTP servlet suitable for a Web s ...
- 使用swift语言进行IOS应用开发
在Swift中能够直接使用Objective-C语言提供的api (包括系统框架与自己的定制代码),也能够在Objective-C中使用Swift提供的类和api ,还能够在一个工程中同时混合使用Sw ...
- cocoa编程第4版 8.6 挑战2 解答
该版本的RaiseMan不用Array Controller,全部手写代码. 要注意的有以下几点: 1.TableView每列的sort设置和AC版的相同,但要手写排序代理方法 2.TableView ...
- HashMap是无序的
一. 说明 HashMap是基于哈希表Map的实现.设计初衷主要是为了解决键值(key-value)对应关联的,HashMap的优势是可以很快的根据键(key)找到该键对应的值(value),但是我们 ...
- 如何用Python网络爬虫爬取网易云音乐歌曲
今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...
- 排序算法入门之插入排序(java实现)
插入排序思想:相当于插入元素,对于第i个元素,i之前的元素已经是有序的了,这时候将第i个元素依次与前面元素比较,插入合适的位置.