Post

计算机网络

计算机网络常用基础知识点复习

计算机网络

基础篇

网络模型

  • 应用层,负责给应用程序提供统一的接口;

  • 表示层,负责把数据转换成兼容另一个系统能识别的格式;

  • 会话层,负责建立、管理和终止表示层实体之间的通信会话;

  • 传输层,负责端到端的数据传输;

  • 网络层,负责数据的路由、转发、分片;

  • 数据链路层,负责数据的封帧和差错检测,以及 MAC 寻址;

  • 物理层,负责在物理网络中传输数据帧;

TCP/IP网络模型

  • 应用层:http ftp telnet ssh

  • 传输层:tcp udp

  • 网络层:ip

  • 网络接口层:MAC地址

浏览器输入url后,发生了什么

http

封装和解析url,生成http头部信息

dns

  • 查询浏览器dns缓存、操作系统dns缓存

  • 查询本地dns服务器

  • 本地dns服务器去查询根域名服务器

  • 本地dns服务器去查询顶级域名服务器

  • 本地dns服务器去查询权威域名服务器

  • 返回ip

TCP

  • 三次握手

TCP 的连接状态查看,在 Linux 可以通过 netstat -napt 命令查看。

  • TCP进行对数据切分、分包

IP

  • 生成IP报文

最终数据包结构如下:

断开链接

  • 四次挥手

HTTP协议

  • http基本概念、状态码、字段(host,各种头部)

  • GET\&POST

    • GET安全且幂等,POST则不是

    • 浏览器一般不会缓存 POST 请求,也不能把 POST 请求保存为书签

  • 缓存

  • http版本区别

  • https

TCP

TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。

有一个 IP 的服务端监听了一个端口,它的 TCP 的最大连接数是多少?

  • 约为 2 的 48 次方。

  • 远不能达到

三次握手

四次挥手

TIME_WAIT

  • net.ipv4.tcp_tw_reuse

服务端为何会出现TIME_WAIT

  • 非长链接,服务端默认会关闭:当服务端出现大量的 TIME_WAIT 状态连接的时候,可以排查下是否客户端和服务端都开启了HTTP Keep-Alive

  • 长链接超时

  • 长链接达到上限

TCP 重传、滑动窗口、流量控制、拥塞控制

  • 重传

  • 滑动窗口: 分为4个分区

  • 流量控制:双方会同步一个流量窗口,发送时会尽量靠近

  • 拥塞控制

This post is licensed under CC BY 4.0 by the author.