【网络排查】网络分层
网络为什么分层?
- 分层可以解耦
- 分层可以复用
如果实现一个应用!早起可能有两种做法。
- 大包大揽:假设我们开发完这个程序,但我们开发第二程序的时候,还是需要开发一个网络模型,一个操作系统等。
- 应用程序,网络设备,操作系统各自分工:这样我们应用程序开发自己程序,当需要系统调用的时候就调用操作系统,当网络发包的时候通过交换机发送!
常见的网络分层
OSI七层模型和TCP/IP的四层,五层模型
什么是TCP流?
TCP流表示一个连续事件的意思!是指有前后顺序的。一个TCP流对应的是一个五元组
- 源IP
- 源端口
- 目的IP
- 目的端口
- 传输协议类型
帧
是指数据链路层的概念,代表二层报文。
- 帧头
- 载荷
- 帧尾
注意:帧是有尾部的,像IP,TCP,HTTP报文都是没有尾部的!
分组
IP层报文。也是狭义的packet
段
TCP segment,也就是TCP报文。segment是指“部分”的意思。那整体是表示什么呢?它就是在应用层交付给传输层的消息(message)。当 message 被交付给传输层时,如果这个 message 的原始尺寸,超出了传输层数据单元的限制(比如超出了 TCP 的 MSS),它就会被划分为多个 segment。这个过程就是分段(segmentation),也是 TCP 层的一个很重要的职责。
各个分层的排查工具
应用层
各大浏览器的开发者工具(Chrome,FireFox等)
表示层和会话层
- 基于浏览器做初步的检查,主要是围绕证书本身做检查
- 关于 TLS 握手、密钥交换、密文传输等方面的排查,还是需要用 tcpdump 和 Wireshark 来做
传输层
- 路径可达性测试(telnet nc)
- 查看当前连接状况(netstat ss)
- 查看当前连接的传输速率(iftop)
- 查看丢包和乱序等的统计(netstat -s)
网络层
网络层
-
查看网络路查看网络路径状况(traceroute mtr)
- 查看路由(route netstat -r)
数据链路层和物理层
- ethtool
网络为什么要分层呢
网络为什么要分层呢
碎片化时间学习和你一起终身学习