计算机协议、标准以及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内存模型概念简单介绍,想深入自行百度
随机推荐
- struts2 easyui实现datagrid的crud
最近两天因为项目需要,接触了easyui,要用它的datagrid实现crud.第一次做,花了一天时间才完成所有功能,昨天做另外一个模块,同样的功能只用了两个小时. 现在把第一次做datagrid时遇 ...
- 关于synchronized
如果用synchronized修饰一个类成员方法A,那么就不会出现下面的情况: 同时多个线程访问这个类的A方法. 当然如果还有一个方法B,它没有被synchronized修饰,那么A方法与B方法是可以 ...
- LeetCode之“动态规划”:Climbing Stairs
题目链接 题目要求 You are climbing a stair case. It takes n steps to reach to the top. Each time you can eit ...
- Erlang cowboy 架构
Erlang cowboy Architecture架构 Erlang cowboy参考: http://ninenines.eu/docs/en/cowboy/1.0/guide/ 本章Archit ...
- Socket层实现系列 — accept()的实现(一)
本文主要介绍了accept()的系统调用.Socket层实现,以及TCP层实现. 内核版本:3.6 Author:zhangskd @ csdn blog 应用层 int accept(int soc ...
- Unity 实现模拟按键
一直在想,使用模拟按键,也可以实现一些AI操作,具体还没做过,这里使用user32.dll在unity里写的一个简单demo using UnityEngine; using System.Colle ...
- Paxos 算法
1 概述 Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法.[1] ...
- UNIX/Linux C 程序员需要掌握的七种武器
我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练 ...
- DPDK virtio-user
PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. virtio-user 是 DPDK 针对特定场景提出的一种解决方案, ...
- ios项目开发汇总
UI界面 iOS和Android 界面设计尺寸规范 http://www.alibuybuy.com/posts/85486.html iPhone app界面设计尺寸规范 http://www. ...