这是我参与「第三届青训营 -后端场」笔记创作活动的第3篇笔记
1. 刷抖音网络是怎么交互的
1.1 网络接入-互联网
1.2 网络接入-路由
同网段如何发包/交互呢:检查mac地址
跨网段:路由/网关
路由不是对称的
路由工作在IP层
路由是改的IP地址吗? 不是改IP地址,是改MAC地址。目标IP地址是一直不变的,改的是目标MAC地址。 路由是改MAC地址,找到发包口。
1.3 网络接入- ARP协议
ARP本质上是查找下一跳的MAC,不是请求目标地址!
无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。所以需要一种方法来完成IP 地址到MAC 地址的映射,这就是地址解析协议(Address Resolution Protocol)。每台主机都设有一个ARP 高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC 地址的映射表,称ARP 表。使用ARP 来动态维护此ARP 表。
1.4 网络接入- IP协议
- 唯一标识,互联网通用。抖音客户端一个,抖音服务端一个。
- Mac地址不能代替IP地址吗?
- MAC地址应用在OSI第二层,即数据链路层。数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址)。
- IP地址应用于OSI第三层,即网络层。网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。
- IPv4不够用,一般怎么解决的?
IPv6
NAT
1.5 网络接入- NAT
NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个ip通信,路由器负责建立一个映射关系,从而实现数据的转发