应用的实现-数据
- 数据的产生
- 在计算机领域,数据是各种信息的载体。
- 数据传输
- 大部分应用程序所产生的的数据需要在不同的设备之间传递。
- 人产生的是信息,应用产生的是数据。
- 计算机只能识别0和1的组成的电子数据(digital data)。它不具备读取各种信息的能力,所以信息需要通过一定的规则翻译成数据。
- 而对人来说,我们不具备读取电子数据的能力,所以在读取信息的时候,需要将数据转成人能理解的信息。
- 对于一名网络工程师来说,需要更关注数据的端到端传递的过程。
OSI参考模型
- 由ISO(国际化标准组织)提出的。
- 华为或者思科等设备都遵循这一个协议,它们之间才可以进行通信。
- 类似于所有电池接口都遵循万能充的方式,那么每个手机都需要这一个充电器就可以。
- 分层的作用是后期需要的时候可以只更改部分,而不需要更改所有。
- 比如现在普遍使用IPv6,那么就可以只更改网络层的ipv4就不需要更改所有层,这样几遍改成v6也可以正常与相邻层进行交互。
- 上三层(应用层,表示层,会话层)属于高层,用于产生和管理数据。
- 下四层(传输层,网络层,数据链路层,物理层)属于低层,用来传递数据。
- OSI 模型(Open Systems Interconnection Model),由国际化标准组织ISO (The International Organization for Standardization ) 收录在ISO 7489标准中并于1984年发布。
- OSI参考模型又被称为七层模型,由下至上依次为:
▫物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性。
▫数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址) 来访问介质,并进行差错检测。
▫网络层:定义逻辑地址,供路由器确定路径,负责将数据从源网络传输到目的网络。
▫传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
▫会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程 序之间的服务请求和响应组成。
▫表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
▫应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。
1. 应用层
- 为人类提供交互的接口,信息是人产生的,数据就是应用层产生的
- QQ,微信,支付宝等属于应用层
2. 表示层
- 一般同种格式二进制编码中,他们都有相同的标志前缀等。
- 比如画图软件,ps都能打开一个图片,是因为这个图片编码是按照它们都能识别的语言进行编码的。
- 例如中国老板与日本老板,韩国老板谈合同,然后他们都把合同语言写成英文的,这样他们就都可以看的懂。
3. 会话层
- 会话层在聊天应用程序中的作用是建立、管理和终止与服务器之间的会话连接。它确保可靠的消息传递、处理错误和异常,并提供会话的控制和管理功能。
- 老板的秘书去寄合同,先自己复印了一份,对方收到之后,则把自己的备用合同撕掉,对方若没有收到,则把合同再复印一份寄过去。
- 主要更关注的是会话的管理和控制。
- 会话的建立要依靠传输层
- 建立会话
4. 传输层
- 建立端到端,就是控制端口到端口的。在此层往上的协议才有端口号。
- 可以控制传输的快慢,传输数据的排序。
- 传输层完成的就是端口到端口的通道建立
- 建立端到端的会话
- 端口
5. 网络层
- 标识电脑的逻辑地址,标识广播域的名字等。
- 负责网络寻址
- IP地址
6. 数据链路层
- MAC地址
- 链路中实现点到点,或者点到多点的传输
- 封装一个链路层的头部
- 有差错检查功能(进行计算,如果校验值相同,则开始解封装,不同则丢弃。)
7. 物理层
- 定义物理层的电气规范,比如哪几条线进行发,进行收等。
TCP/IP参考模型
- 因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型。
- 通常都是指的是TCP/IP对等模型。
- 相邻的两个层可以进行数据交互。不可以跨层交互。
TCP/IP常见协议
常见协议标准化组织
•IETF(Internet Engineering Task Force)
▫负责开发和推广互联网协议(特别是构成TCP/IP协议族的协议)的志愿组织,通过RFC发布新的或者取代老的协议标准。
•IEEE(Institute of Electrical and Electronics Engineers)
▫IEEE制定了全世界电子、电气和计算机科学领域30%左右的标准,比较知名的有IEEE802.3(Ethernet)、IEEE802.11(WiFi)等。
•ISO(International Organization for Standardization)
▫在制定计算机网络标准方面,ISO是起着重大作用的国际组织,如OSI模型,定义于ISO/IEC 7498-1。
应用层
- 应用层为应用软件提供接口,使应用程序使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。
- 应用层的PDU被称为Data(数据)
- PDU(Protocol Data Unit)协议数据单元
- TCP/IP每一层都让数据得以通过网络进行传输,这些层之间使用PDU(Packet Data Unit,协议数据单元)彼此交换信息,确保网络设备之间能够通信。
- 不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。
常见应用层协议
FTP(File Transfer Protocol)是一个用于从一台主机传送文件到另一台主机的协议,用于文件的“下载”和“上传”,它采用C/S(Client/Server)结构。
Telnet是数据网络中提供远程登录服务的标准协议。 Telnet为用户提供了在本地计算机上完成远程设备工作的能力。
HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
传输层
- 传输层协议接受来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”(Port to port)的连接
- 传输层的PDU被称为Segment(段)。