OSI: Open System Interconnection 的缩写,译为“开放式系统互联”。
1. TCP连接成功,说明物理层(网卡),数据链路层(交换机),网络层(路由器)的之间的网络环境没问题,故接下来只需关注TCP与应用层即可
2. 每个数据在网络系统中传输都要经历封装与解封装
一、TCP/IP封装过程
1)当软件进程的数据送到应用层时,应用层为数据加上本层的控制报头后,将其组织成应用层的数据服务单元,然后向下传输到传输层;
2)传输层收到数据后,加上本层的TCP头部构成数据段,传输层将数据段送到网络层;
3)网络层将收到的数据段加上IP头部,构成数据包,再将数据包送到数据链路层;
4)数据链路层收到数据包,加上MAC头部信息,构成数据链路层的数据帧,送至物理层;
5)物理层将以比特流的方式通过传输介质传输出去。
二、TCP/IP解封装过程
1) 当物理层传输的比特流到达目的节点时,从物理层依次上传,先由物理层传输到数据链路层;
2) 数据链路层收到数据服务单元后,拆掉MAC头部,就是所谓的报头,上传至网络层;
3) 网络层收到后将数据服务单元的IP头部脱掉,上传至传输层;
4) 传输层再将数据拆掉TCP头部后传输至应用层,再恢复为原有数据。
我们所说的 socket 编程,是站在传输层的基础上,所以可以使用 TCP/UDP 协议,但是不能干「访问网页」这样的事情,因为访问网页所需要的 http 协议位于应用层。
三、抓包数据分析
数据传输过程,数据内容分析
注:由上层数据的封装和解封装过程,发现数据链路层携带着完整的数据,即帧。
1)TCP三次握手,建立连接(标志位SYN);四次挥手,断开连接(标志位FIN)
2)数据传输
* 关注:请求A对应的所有响应数据B----详见上图中的注释
* 关注:应用层的上层数据分析----详见问题定位
四 、应用层的问题定位
1)
参考:
网友评论