从 https://www.cnblogs.com/qishui/p/5428938.html 处学习。
从 慕课网 翔仔老师 处学习。
从 百度百科 处学习。
应用层,表示层,会话层,网络层,传输层,数据链路层,物理层。
我现在的理解加上大佬博客讲的例子,记一下OSI吧。
1、物理层:(网卡)
定义:
物理层不是具体的物理设备,而是定义物理设备的标准,比如网线的类型,光纤的类型,各种传输介质的传输速率这样的参数。
主要作用:
传输比特流,01011100101... 转化成电流大小强弱 再转化成比特流 0100111... (数模转换,模数转换)
2、数据链路层:(交换机)
定义:
从物理层传来的比特流可能传输有错,或者传输漏掉。所以有了数据链路层。
主要作用:
格式化数据,提供错误检测和纠正。保证数据的可靠性。将比特流组合成字节,再将字节组合成帧。交换机对帧解码,并根据帧中包含的信息发送出去。
3、网络层:(路由器,IP协议)
定义:
从数据链路层发送来的数据多个节点发送到目的地,那如何知道目的节点是哪个,最佳路径是什么?然后有了网络层。
主要作用:
将网络地址翻译成物理地址,决定了如何将数据从起始地发送到目的地。通过 发送优先权、网络拥塞程度、服务质量、可选路由花费,决定从节点A到节点B的最佳路径。此层数据——>数据包。
4、传输层:(OSI模型中最重要的一层,TCP协议,UDP协议)
定义:
随着网络通信需求的进一步扩大,通信过程需要发送大量数据比如海量文件。数据一旦多,所需时间自然很长。而网络在通信过程中会中断好多次。为了保证大量文件的准确性,需要对数据进行切分,切割为一个一个的段落进行发送。那么如果有段落漏掉了怎么办?重传?段落之间是否需要按照切割顺序到达节点?然后有了传输层。
主要作用:
解决了不同网络之间主机的数据传输,并解决了传输质量的问题。传输协议,流量控制,基于接收方可接受数据的快慢程度规定适当的发送速率。按照网络能够处理的最大尺寸将数据切割(以太网无法接收大于1500字节的数据包)。传输层将数据切割之后,对每一个数据片安排一个序列号。以便数据到达接收方的传输层时,能以正确的顺序重组。TCP:传输控制协议。UDP:用户数据包协议。
5、会话层:
定义:
封装过后的信息已经可以发送到接收方,但现在每次还需要TCP去打包,IP去找路由。这样当然不行,所以建立一个自动收发包,自动寻址的功能。这就是会话层。
主要作用:
建立和管理应用程序之间的通信。会话层使用校验点,在通信会话失效时从校验点恢复通信,这种能力对于传输大文件很重要。
6、表示层:
定义:
当解决不同系统之间通信的语法问题(比如windows和linux)。有了表示层。
主要作用:
数据将按照网络能理解的方案进行格式化,格式化因网络所使用的类型不同而不同。
7、应用层:(HTTP协议)
定义:
发送方现在已经知道自己发的是什么东西,转化成字节有多长。但是接收方不知道,所以应用层的网络协议诞生了。
主要作用:
规定发送方和接收方必须使用固定长度的消息头。消息头必须使用某种固定的组成。而且消息头里必须记录消息体的长度等一系列信息。方便接收方能够解析发送方发送的数据。