计算机网络基础
TCP/IP 网络模型
OSI七层协议和TCP/IP协议对应关系
- 物理层
- 无没有对应关系,
- 但是是必须的,如光纤
- 数据链路层
- 链路层
- 在IP数据包前加上MAC头部封装成数据帧发送到网络上。
- MAC用于区分同一个设备上不同的网卡等信息
- 网络层
- 网络层
- 实际的传输功能实现,IP用网络号和主机号区分设备
- IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径。
- IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片
- 常见协议:
- IP:
- ARP:
- ICMP:
- NAT:
- 传输层
- 传输层
- 应用层的数据包会传给传输层,传输层(Transport Layer)是为应用层提供网络支持的。TCP和UDP,用端口区分不同应用的数据
- 会话层
- 没有对应层(由传输和应用层来共同实现)
- 管理主机间的会话
- 表示层
- 没有对应层(由应用层解决)
- 数据的格式化和编码转换
- 应用层
- 应用层
- 应用软件实现层,专注于给用户提供应用功能,如HTTP、FTP、DNS、SMTP,POP3
- 基于 TCP:
- HTTP、WebSocket
- SMTP(Simple Mail Transfer Protocol,简单邮件传输(发送)协议),只负责邮件发送,可以用来判定邮箱是否存在。
- POP3/IMAP:负责邮件的接收,IMAP更新,现在最常用的。
- FTP(File Transfer Protocol,邮件传输协议):客户端和服务器建立两个连接,一个控制连接,一个控制数据。注意:这个协议传输数据不会进行加密。
- SFTP:基于 SSH 协议,对数据加密
- SCP
- SSH(Secure Shell):远程登录、隧道、端口映射等
- 端口 22
- Telnet:终端登录协议,相较于 SSH,是明文传输,现在很少用。
- 基于 UDP
- DNS(Domain Name System,域名管理系统):
- 基于 TCP:
- 应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。
输入网址到网页显示流程
- 在浏览器中输入指定网页的 URL。
- 浏览器通过 DNS 协议,获取域名对应的 IP 地址。
- 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求。
- 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容。
- 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器。
- 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示。
- 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求。
推荐几个在线邮箱是否有效检测工具:

网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。
