网络模型
# 网络模型
一般来说,有三种网络模型,如图
一般来说,七层模型谈论得更多些。比如:
建一个七层规则,就是指应用层的
HTTP 路由规则
,把符合某种条件的 HTTP 请求,分流到某个特定的后端集群。TLS 虽然在 TCP 之上,按 TCP/IP 模型就要被归入应用层。但事实上,在 HTTPS 的场景下,HTTP 协议就是运行在 TLS 协议之上的.第五层(会话层)和第六层(表示层),可以分别代表 TLS 的会话保持功能和数据加解密这种表示层的功能。如下图
# TCP流
就是英文的 TCP Stream,有前后,有顺序的连续的事件
而跟stream相对的一个词是 datagram (数据单元),没有前后关系。比如UDP和IP都是datagram
因此,tcp和udp的socket类型如表
socket类型 | |
---|---|
tcp | SOCK_STREAM |
udp | SOCK_DGRAM |
# tcp报文
具体的网络报文层面,一个 TCP 流,对应的就是一个五元组:传输协议类型、源 IP、源端口、目的 IP、目的端口
下图说明层级和术语的对应关系
# 网络各层对应协议以及排查工具
协议 | 排查工具 | |
---|---|---|
应用层 | HTTP | chrome开发者工具 |
表示层 | TLS | 普通检查用chrome开发者工具 |
会话层 | TLS | 涉及握手,密文交换/传输:tcpdump,wireshark |
传输层 | TCP | 可达性:telnet,nc;netstat,ss |
网络层 | ip ,netstat -r,route -n ;traceroute,mtr | |
数据链路层 | ethtool | |
物理层 | ethtool |
# 应用层
# 表示层和会话层
# 传输层
# 网络层
# 数据链路层和物理层
编辑 (opens new window)