Skip to content

计算机网络

了解过用户态 TCP ,用户态网络协议吗?

https://www.51cto.com/article/679964.html

https://toutiao.io/posts/8ijjct/preview

https://zhuanlan.zhihu.com/p/376144528

TCP 粘包怎么解决?

https://www.zhihu.com/question/20210025

https://www.v2ex.com/t/747735

https://juejin.cn/post/7135839422360551455

UDP 会出现粘包吗?

https://juejin.cn/s/udp粘包吗

HTTPS 为什么非对称加密比对称加密效率低

非对称加密算法涉及的数学操作(例如大数因子分解、离散对数问题等)相对复杂,这增加了计算的时间和资源消耗。

而对称加密主要的运算是位运算,速度非常快,如果使用硬件计算,速度会更快。

ping 某个地址,发生了什么?

使用 ping 命令来测试计算机与特定 IP 地址之间的网络连接,涉及的主要过程有以下几个步骤:

  1. 名称解析

    如果你 ping 一个域名而不是 IP 地址,首先会进行域名解析(DNS解析)来获取该域名对应的 IP 地址。DNS 解析是通过域名系统 (DNS) 将域名转换为相应的 IP 地址的过程。

  2. ICMP 协议

    ping 命令主要依赖于 Internet 控制消息协议 (ICMP)。该协议是 Internet 协议套件的一个组成部分,用于发送错误消息和操作信息消息。

    ping 命令发送 ICMP Echo Request 消息到目标 IP 地址,并等待 ICMP Echo Reply 消息。每个发送的消息都有一个序号和一个时间戳,以计算往返时间 (RTT)。

  3. 路由过程

    数据包离开源计算机后,它们通过一系列的路由器和交换机,可能经过多个网络,最终到达目标 IP 地址。每个中间设备(如路由器)都会根据其路由表决定如何转发数据包,以便将其引导到目的地。

    具体来说:

    1. 包的来源

      当一个 ICMP Echo Request 数据包从源计算机发出时,计算机的操作系统将查看其路由表来决定如何发送该数据包。大多数情况下,个人计算机的路由表都相对简单,通常会有一个默认路由指向本地网络的网关。

    2. 包的转发

      当数据包到达一个中间路由器时:

      • 路由器首先检查它的路由表。

      • 路由器根据数据包的目的 IP 地址在路由表中查找最佳的匹配条目。

      • 一旦找到最佳匹配,路由器就会知道将数据包发送到哪个网络接口或下一个路由器。

      • 数据包被发送到指定的接口或下一跳地址。

      这个过程在每个路由器上都会重复,直到数据包到达其目的地。

    在这个过程中,想要将一个 IP 数据包发送到同一个局域网内的另一个设备时,它需要知道接收设备的物理地址(MAC 地址)

    • 源计算机首先检查其 ARP 缓存以查看是否已知目标 IP 地址的对应 MAC 地址。
    • 如果 ARP 缓存中没有该地址,源计算机会在局域网上广播一个 ARP 请求包,询问哪个设备拥有目标 IP 地址。
    • 拥有该 IP 地址的目标设备会回复 ARP 响应,告知其 MAC 地址。
    • 一旦源计算机收到 ARP 响应并得知 MAC 地址,它就可以将 ICMP Echo Request 数据包发送到目的地。
  4. 回复过程

    到达目的地后,目标机器将响应并返回一个 ICMP Echo Reply 消息。此消息随后会沿着网络返回到源计算机。

  5. 结果输出

    ping 命令会输出每个发送的数据包的相关信息,如是否收到回复,往返时间等。如果数据包未能成功到达目标或返回,ping 将报告丢包。所有这些信息都可以用于诊断网络问题,如连接失败、高延迟或数据包丢失。

数据到达网卡,最后被用户读取中间会发生几次数据拷贝?

https://blog.51cto.com/u_15696592/5422188

DPDK