应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
我们提到http的七层协议,但是为什么会有七层协议,这就需要知道 数据从一台机器到另外一台机器上,如何经过七层协议的,每一层又分别做 了什么事情。
一:七层网络模型每一层的作用
1 物理层:(比特) 这一层定义物理设备标准。主要作用是传输比特,由01 转化为电流传输。到达目的地之后,再把电流转化为 01.
2 数据链路层(帧): 定义了如何让格式化数据进行传输,如何控制帧在物理信道上的传输,包括数据的错误检测。保证了数据的可靠传输。
1 加入了帧结束标志,形成报尾。
2 物理链路转化为数据链路
3协调双方的传输速率,进行流量控制(目标mac--源mac)
帧:数据链路层的数据单元 大小约为46-1500 字节之间。结构(帧头 数据 帧尾)
3 网络层(数据分组--包):通过ip进行物理寻址。ip 协议进行传输,负责把数据从一台计算机传输到另外一台计算机上去。 1 选择合适的路由节 点和交换节点。
2 通信子网的运输控制,主要解决如何进行数据分组跨越通信子网实现从源 节点到目标节点的运输。
3 通过路由算法进行数据分组的传输路径选择
4 对分组数量进行控制
5 当需要跨越多个通信子网时 解决网络互连问题。
4 传输层(报文): 传输层单位为报文,分成几个组(段),为会话层提供可靠的端到端的传输。
主要:建立和管理两个进程之间的连接 实现端到端的数据传输。进行差错控制,
流量控制。
传输层分割通信子网和资源子网。资源子网(应用层、表示层、会话层)
通信子网(网络层、数据链路层、物理层)
5会话层:不参与传输,只进行控制。我们将进程间的数据通信称之为会话。其主要功能是
1:组织和同步不同主机上的各种进程,控制和管理会话进程,使之高效的进行
2:负责两个实体会话之间的建立和拆除
3:在半双工条件下,会话层控制双方 那一方有权限发送数据
4:提供数据流中的插入和同步点机制,使得断点续传的实现。断点续传 就是从最近的一
个同步点开始传输
6 表示层:为应用层提供数据的语法表示转换,不同编码的实现 和数据的加解密。数据压缩也是表
示层的功能实现
7 应用层:使得网络用户可以通过计算机访问网络资源,并在两个通信者之间进行网络匹配。也就
数说,应用层不仅不仅提供应用层所需要的信息交换和运行操作。还要为相互通信的两个
进程提供用户代理。应用
二 网络传输的数据基本单位
网络传输的数据基本单位是数据链路层的数据帧格式
帧头 ip头 tcp头 数据 帧尾
三:一次数据发送如何经过七层模型的封装和解析
七层封装:
上层数据,经过应用层,表示层,会话层 完成了编码和压缩等功能后分发到传输层。
传输层进行分段 segment 主要实现 目标端口到源端口
网络层对数据进行 打包。 主要实现 源ip和目标ip
数据链路层吧把数据转化为帧, 添加源mac到目标mac
七层解析:
数据首先进入目标机器的物理层:接收到数据的比特流
数据链路层 将数据从源Mac传输到目标mac
网络层:实现从一台机器到另外一台机器的传输,实现目标IP到源ip的传输
传输层:实现从目标端口端口到目标端口的 传输
应用层:实现数据的解码,解压缩等。
附:http请求格式
请求行:请求方法 空格 url 空格 协议版
请求头: 字段名:值 :回车 换行
字段名2:值:回车 换行
............................................
请求包体
请求头: accept-charset 浏览器可接受字体,accept-encoding 浏览器能进行的解码格式,Authorized:授权信息, connection:keep-alive:是否保持长连接, http1.1 默认保持长连接。content-length:消息正文长度,host:初始化url的主机和端口。cookie 等
http 响应格式
状态行:协议版本:状态码:状态描述
响应头:Data:消息发送时间, server:服务器名称 connetion:浏览器与服务器之间的连接类型,content-type 表示后面的文档输入什
么类型,cache-controller 控制http缓存
相应数据
http状态码:200 ok 3xx 重定向 4xx 客户段错误 5xx 服务器错误
网友评论