网络交互 | 青训营

187 阅读2分钟

刷抖音网络是如何交互的

网络接入

我们的个人手机通过连接WiFi与中国电信网或者联通网等等进行接通,这些电信网或联通网都会与抖音的服务器也就是机房相连接,从而我们就可以与服务器连接从服务器中获取内容。

路由

如果一个设备是1.0.0.1/24,另一个是1.0.1.1/25,他们不是同一个路由,就无法直接连接起来,所以这时候就会需要一个交换设备。

路由一定是对称的吗?

image.png

我们看这个图片,用户A到达用户H不是只有AH这一条路径,他还有很多,所以路由不一定是对称的。

路由是工作在哪一层协议?

路由工作在IP层。

IP协议

IP是唯一标识,互联网通用的。抖音客户端一个,抖音服务端一个。一般IPv4不够用了,我们使用了IPv6进行补充。

网络传输

数据包

OSI模型

一共有七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP四层模型

我们把物理层和数据链路层都归为了数据链路层,仍然保留着网络层和传输层,将会话层,表示层和应用层合并为了应用层。这是在OSI模型上进行了简化。

DNS的传输协议UDP

UDP本身相对简单,有16位源端口号,16位目的端口号,16位UDP长度,16位UDP检验,最后还有数据。就是想发一个什么包,就分配一个UDP的头,把Payload里面塞上数据发出去就行。

TCP协议-三次握手

TCP其实本质上就是一个状态,假如一个小姐姐给另一个小姐姐发起请求,要求我们一起跳舞,另一个小姐姐说我同意,此时他们就跳起了舞,此时就是TCP状态。当我们拔了网线,和TCP是没有什么太大的关系的,还会保留TCP状态。

TCP传输

sequence number:表示我方这一边,packet的数据部分的第一位应该在整个data stream中所在的位置。

acknowledge number:表示的是期望的对方的下一次sequence number是多少。注意,SYN或者FIN传输虽然没有data,但是会让下一次传输的packet seq增加一,但是ACK的传输不会让下一次packet加一。

HTTP/HTTP1.1

其实HTTP只是多加了一层规矩,HTTP依然是TCP,只是这个规矩会让用户更加清楚明了,清晰明白。

HTTPS

本质上仍然是HTTP,解密之后就是HTTP,但是为了更加安全,他在传输过程中进行了加密,这使得HTTPS比HTTP更加安全了,不容被坏人监听到利用。