简单了解一个数据包在网络的一生

在主题之前,我想先谈谈目前计算机的网络模型,主要谈谈 TCP/IP 模型:

  • 应用层:产生最原始的数据,常见协议如 http、ftp、websocket、DNS、QUIC

  • 传输层:传递应用层的数据给网络层,必要时进行切割,常见协议如 TCP、UDP

  • 网络层:目标寻址,常见协议如 IP、ARP、ICMP

  • 网络接入层:通过物理链路传输比特流到目标主机

接下来就正式进入主题了

1.查看浏览器缓存

没有缓存的话才会继续往下走,否则直接使用缓存的资源

2.解析URL和DNS解析

解析URL,如果应用层协议使用http,默认端口号是80

DNS解析:

  • 第一步,先查询本地DNS缓存,如果没有这个域名对应的IP,再进行下一步

  • 第二步,先询问本地的DNS服务器,交给本地的DNS服务器去解析这个域名,他会逐级找比较厉害的DNS服务器,最后找到域名对应的IP,比如对于www.baidu.com,他会先找.com,再找baidu.com,最后找到www.baidu.com

image-20240228231336482

3.考虑TCP和TLS握手

对于一些重要的数据(不允许丢失),我们需要先建立TCP连接,他能保证我们的数据安全到达对方,否则可以考虑UDP传输

4.数据包装

网络模型每次往下一层,都会给数据包增加一个头部

  • 应用层:HTTP头

  • 传输层:TCP头,以及明文数据加密

  • 网络层:IP头

  • 数据接口层:MAC头

5.数据传输

数据包在网络里被多次转发,最终要到达目的地

相关推荐

  1. 制作一个简单HTML个人网站

    2024-03-11 10:34:01       32 阅读
  2. 使用GPT实现一个简单网站

    2024-03-11 10:34:01       34 阅读
  3. 一个简单HTML 个人网页

    2024-03-11 10:34:01       21 阅读
  4. 制作一个简单HTML个人网页

    2024-03-11 10:34:01       22 阅读
  5. 制作一个简单HTML个人网页

    2024-03-11 10:34:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 10:34:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 10:34:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 10:34:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 10:34:01       20 阅读

热门阅读

  1. c语言:倒序4位数

    2024-03-11 10:34:01       22 阅读
  2. 【Docker】Neo4j 容器化部署

    2024-03-11 10:34:01       21 阅读
  3. 机器学习的要素及步骤

    2024-03-11 10:34:01       22 阅读
  4. 【Linux的网络编程】

    2024-03-11 10:34:01       21 阅读
  5. leetcode 第388场周赛第二题

    2024-03-11 10:34:01       23 阅读
  6. 【二分算法】借教室

    2024-03-11 10:34:01       20 阅读
  7. 【C/C++ 学习笔记】指针

    2024-03-11 10:34:01       24 阅读
  8. 为什么传奇服务器经常被攻击?

    2024-03-11 10:34:01       20 阅读
  9. AcWing 1227. 分巧克力

    2024-03-11 10:34:01       17 阅读
  10. C++ 栈OJ

    C++ 栈OJ

    2024-03-11 10:34:01      18 阅读
  11. 卷积神经网络

    2024-03-11 10:34:01       24 阅读
  12. git pull 跟 git pull origin master的区别

    2024-03-11 10:34:01       21 阅读