计算机网络¶
了解过用户态 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://juejin.cn/post/7135839422360551455
UDP 会出现粘包吗?¶
HTTPS 为什么非对称加密比对称加密效率低¶
非对称加密算法涉及的数学操作(例如大数因子分解、离散对数问题等)相对复杂,这增加了计算的时间和资源消耗。
而对称加密主要的运算是位运算,速度非常快,如果使用硬件计算,速度会更快。
ping 某个地址,发生了什么?¶
使用 ping 命令来测试计算机与特定 IP 地址之间的网络连接,涉及的主要过程有以下几个步骤:
-
名称解析
如果你
ping一个域名而不是 IP 地址,首先会进行域名解析(DNS解析)来获取该域名对应的 IP 地址。DNS 解析是通过域名系统 (DNS) 将域名转换为相应的 IP 地址的过程。 -
ICMP 协议
ping命令主要依赖于 Internet 控制消息协议 (ICMP)。该协议是 Internet 协议套件的一个组成部分,用于发送错误消息和操作信息消息。ping命令发送 ICMP Echo Request 消息到目标 IP 地址,并等待 ICMP Echo Reply 消息。每个发送的消息都有一个序号和一个时间戳,以计算往返时间 (RTT)。 -
路由过程
数据包离开源计算机后,它们通过一系列的路由器和交换机,可能经过多个网络,最终到达目标 IP 地址。每个中间设备(如路由器)都会根据其路由表决定如何转发数据包,以便将其引导到目的地。
具体来说:
-
包的来源
当一个 ICMP Echo Request 数据包从源计算机发出时,计算机的操作系统将查看其路由表来决定如何发送该数据包。大多数情况下,个人计算机的路由表都相对简单,通常会有一个默认路由指向本地网络的网关。
-
包的转发
当数据包到达一个中间路由器时:
-
路由器首先检查它的路由表。
-
路由器根据数据包的目的 IP 地址在路由表中查找最佳的匹配条目。
-
一旦找到最佳匹配,路由器就会知道将数据包发送到哪个网络接口或下一个路由器。
-
数据包被发送到指定的接口或下一跳地址。
这个过程在每个路由器上都会重复,直到数据包到达其目的地。
-
在这个过程中,想要将一个 IP 数据包发送到同一个局域网内的另一个设备时,它需要知道接收设备的物理地址(MAC 地址)
- 源计算机首先检查其 ARP 缓存以查看是否已知目标 IP 地址的对应 MAC 地址。
- 如果 ARP 缓存中没有该地址,源计算机会在局域网上广播一个 ARP 请求包,询问哪个设备拥有目标 IP 地址。
- 拥有该 IP 地址的目标设备会回复 ARP 响应,告知其 MAC 地址。
- 一旦源计算机收到 ARP 响应并得知 MAC 地址,它就可以将 ICMP Echo Request 数据包发送到目的地。
-
-
回复过程
到达目的地后,目标机器将响应并返回一个 ICMP Echo Reply 消息。此消息随后会沿着网络返回到源计算机。
-
结果输出
ping命令会输出每个发送的数据包的相关信息,如是否收到回复,往返时间等。如果数据包未能成功到达目标或返回,ping将报告丢包。所有这些信息都可以用于诊断网络问题,如连接失败、高延迟或数据包丢失。
数据到达网卡,最后被用户读取中间会发生几次数据拷贝?¶
https://blog.51cto.com/u_15696592/5422188
DPDK