
ip地址一共有32位,由两部分组成,网络号和主机号,为了区分,设计了子网掩码

DNS是域名解析 域名具有层级结构,比如blog.yxjxxr.site 就是yxjxxr.site的子域名
域名解析的流程
先去找根域名服务器,在顺藤摸瓜,一步步找到到存放目标域名的服务器,从而获取IP地址
知道了IP地址之后,就可以委托操作系统的协议栈向目标web服务器发送消息了
大概流程如下:

实际负责收发消息的是协议栈,网卡驱动和网卡。
协议栈是根据套接字中记录的控制信息来工作的。


连接的目的是将客户端的请求发送给协议栈,同时客户端向服务端传递连接的请求

当知道服务端的IP地址和端口号之后,这些信息会传递给协议栈中的 TCP 模块。然后,TCP 模块会与服务器的 TCP 模块交换控制信息。TCP模块将信息传递给IP模块并委托其发送,信息发送到服务端的IP模块再传到服务端的TCP模块。然后服务器的 TCP 模块会返回响应,向上面一样传回到客户端的TCP模块,然后客户端也需要将 ACK 比特设置为 1 并发回服务器,告诉服务器刚才的响应包已经收到,至此,连接完成(3次握手)
数据收发操作是从应用程序调用 write 将要发送的数据交给协议栈开始的,协议栈收到数据后执行发送操作 (其中涉及很多很复杂的操作,这里先不写,看看视频教程再进行补充)



IP 头部中包含 IP 协议规定的、根据 IP 地址将包发往目的地所需的控制信息;MAC 头部包含通过以太网的局域网将包传输至最近的路由器所需的控制信息
本文作者:Deshill
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!