一些基础的网络知识

Q&A

两个内网设备可以怎样进行通信?

子问题,大学都白学了么…

第一个:如果两个机器在同一个内网,第一台机器地址:v01.internal, 第二台:v02.internal。但是第二台机器有个公网地址 v02.public.com。当第一台机器通过公网地址访问第二台机器,他们建立连接之后,他们之间的数据传输是走公网还是走内网 答案:公网

第二个:一个内网机器访问一个外部的网站,比如一台机器 IP 为 192.168.0.111,路由器内网 IP 地址为 192.168.0.1,路由器还有个公网地址为 111.11.11.11,内网机器可以发请求到外部的网站,那么外部网站是怎样把请求返回回来的呢? 答案:有类似 NAT 的东西。然后 NAT 有类似 connection table 的东西。

CDN 怎样工作的?

参考文章

之前对 CDN 的理解:用户访问一个域名,然后这个域名通过 DNS 解析出一个 IP 地址,这个 IP 和用户的网络距离比较近。 然后问题来了:一个域名难道可以对应多个 IP 地址?难道 CDN 服务商和每个运营商都有合作吗?

然后看了上面这篇文章,说流程应该是这样:一个域名 -(这个运营商控制)-> 一个 CNAME -(这个是 CDN 运营商控制)-> IP 这样就好理解了

traceroute 它能干什么?是怎样工作的?

  1. 怎样选最短路径的?

通过发 udp 包,然后带 ttl 字段,待看

timeout 分几种

  1. Connection Timeout: 也就是在 socket connect 的时候超时(三次握手没成功)
  2. Read Timeout: 一般是 server 超时。一般是在 connect 之后,服务端超过 timeout 所设置的时间还没有返回。

ConnetionError 的几种类型

Cannot assign requested address.

  • 待解答

Updated:

Comments