网络通信的过程,以及中间用了什么协议

简单总结下:

客户端:

  • 1、在浏览器输入网址
  • 2、浏览器解析网址,并生成http请求消息
  • 3、浏览器调用系统解析器,发送消息到DNS服务器查询域名对应的ip
  • 4、拿到ip后,和请求消息一起交给操作系统协议栈的TCP模块
  • 5、将数据分成一个个数据包,并加上TCP报头形成TCP数据包
  • 6、TCP报头包括发送方端口号、接收方端口号、数据包的序号、ACK号
  • 7、然后将TCP消息交给IP模块。
  • 8、IP模块会添加IP头部MAC头部
  • 9、IP头部包括IP地址,为IP模块使用,MAC头部包括MAC地址,为数据链路层使用。
  • 10、IP模块会把整个消息包交给网络硬件,也就是数据链路层,比如以太网,WIFI等
  • 11、然后网卡会将这些包转换成电信号或者在光信号,通过网线或者光纤发送出去,再由路由器等转发设备送达接收方。

服务器端:

  • 1、数据包到达服务器的数据链路层,比如以太网,然后会将其转换为数据包(数字信号)交给IP模块
  • 2、IP模块会将MAC头部和IP头部后面的内容,也就是TCP数据包发送给TCP模块。
  • 3、TCP模块会解析TCP头信息,然后和客户端沟通表示收到这个数据包了。
  • 4、TCP模块在收到消息的所有数据包之后,就会封装好消息,生成相应报文发给应用层,也就是HTTP层。
  • 5、HTTP层收到消息,比如是HTML数据,就会解析这个HTML数据,最终绘制到浏览器页面上。
学而不思则罔,思而不学则殆
原文地址:https://www.cnblogs.com/linyu51/p/14371076.html