就是给用户提供一个操作界面,对于window来说,打开windows操作界面就是应用层,对Linux 来说就是命令行,它是用户跟机器直接沟通桥梁。比如用户在一个谷歌浏览器的输入百度,通过http的协议递给机器。
第六层:表示层1、转换成数据提供标识:计算机只能识别0跟1的二级制,比如命令行中输入的是abcd、或者鼠标点点,jpeg格式图片等等,计算机不能识别,表示层帮你进行翻译成二级制给计算机。
2、加密:对称加密跟非对称加密,比如ssh远程加密连接
3、压缩:进行数据的压缩,大数据打包,成一个文件夹,体积小便于保存
做分流处理,比如写一份word,如果这份word是以要邮件形式,通过网络发送给别的终端,会话层会把包传递给传输层。如果这份word只是保存到本地,会话层会把包传递本机
第四层:传输层1、发送时,对报文进行分组、接受时,对报文进行组装
不是所有的数据都叫数据包,数据包有严格的大小规定,IPV4协议规定数据包最大不超过2^16,从应用层的发过来的数据,如果超过2^16,就要进行拆开分组,每一个都要小于2^16,收的时候,按照顺序进行组装
2、提供传输协议的选择:在传送的时候,必须要选择一个发送的方法,可以理解为在到达传输层的数据,传输层会给数据包打上一个报头(传输控制协议TCP/UDP),必须的选择
TCP(传输控制协议):可靠、面向连接的传输协议,进行三次握手。优点:(可靠,准确) 缺点:慢。 UDP(用户数据报协议):不可靠、面向无连接的传输协议,直接发出,接不接到跟我无关。优点:快 缺点:不可靠。 所以针对TCP/UDP,各有利弊,TCP场景:网页视频。UDP:视频聊天工具,对一些无所为
3、端口封装:
传输过程中,不单单要确定IP,还需要确定源端口跟目标端口,也是在传输层的包头决定的。
为什么要用端口:
这里的端口对应的应用层使用的协议。协议跟端口一一对应。比如A电脑浏览器要访问B服务器的网页,A在茫茫人 海中如何找到B,这个时候需要通过路由IP寻址,直到找到B服务器。这个时候又有问题了,数据包给B服务器,B 服务器有N多个服务,如何正确的把A访问网页的请求发送给B服务器的http服务。通过端口解决,B服务器的http 端口为80,A访问的时候,需要带上B的端口进行访问。例如192.168.11.5:80。B服务器的http接受到请求后,进 行处理后,如何在发给A,通过IP寻址找打A,但是如何给到A的浏览器,所以A发送的时候,要随机开放一个口, 保证在A跟B的通讯时候,接受无问题。所以从一开始,就定义你要使用什么协议,走什么端口
4、差错校验
发过来的包有可能是错的,错的怎么办,如果是tcp协议,三次握手是有联系的,B发现是错误的,会告诉A发的是错误的,从新在发一遍,如果是udp,B发现是错误的,由于没有联系,不会给A告诉,B会把包丢弃。无论哪种,B都会差错校验
5、连接控制、流量控制等
第三层:网络层1、IP地址编制
提供端到端的寻址,需要(源IP、目标IP),IP相当于门牌号,全球唯一
2、路由选择
● 静态路由
● 动态路由
3、为网络设别提供逻辑地址
4、打包:在第四层传输层分好段的包进行打包处理,丢给下层
第二层:数据链路层作用:在不可靠的物理链路上,提供可靠的数据传输服务,把帧从一跳(结点)移动到另一跳(结点)。
● MAC地址编址
● MAC地址寻址
提供和节点到节点之间的传输。数据包通过IP寻址,从A通过路由转发到B的网段中,这时候就不能用IP进行寻址B到底在哪,需要用到mac,也就是在同网段、同一个广播域中是通过mac来判断对方在哪。假如局域网中的IP为192.168.6.5自动获取,由于某一段时间,你的突然变成了192.168.6.6,那接受不到数据内容,所以在使用了mac寻址
● 差错校验
● 将分组数据封装成帧
● 组帧、流量控制、接入控制等
● 数据实际传输,在没替上传输比特
● 提供机械跟电气特性定义规约
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。每一层都运行不同的协议。协议是干什么的,协议就是标准。
实际上还有人把它划成五层、四层。
OSI七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
TCP/IP五层模型:应用层(表示层、会话层)、传输层、网络层、数据链路层、物理层。
TCP/IP四层模型:应用层(表示层、会话层)、传输层、网络层、网络接口层(数据链路层、物理层)。



