网络模型
网络分层
2种模型:OSI 的标准七层模型和业界标准的TCP/IP 模型
-
应用层协议:负责数据的封装和解封装,如HTTP、FTP等协议。
-
传输层协议:负责数据的可靠传输,如TCP、UDP等协议。
-
网络层协议:负责数据的路由和寻址,如IP协议。
-
数据链路层协议:负责数据的传输和封装,如Ethernet、PPP等协议。
-
物理层协议:负责数据的传输和电气特性,如光纤、电缆等物理传输介质。

数据传输流程
客户端发数据到服务器
客户端向服务器发送数据时,数据会从上层协议开始逐层封装,直到最后到达物理层进行发送。具体过程如下:
-
应用层协议:应用层协议是网络协议栈中最高层的协议,负责对数据进行封装和解封装,如HTTP协议、FTP协议等。在A客户端向服务器发送数据时,应用层协议会将数据封装成相应的应用层协议,如HTTP请求报文。
-
传输层协议:传输层协议负责数据的可靠传输,如TCP协议和UDP协议。在A客户端向服务器发送数据时,TCP协议会将应用层数据封装成TCP数据段,并加上TCP头部和尾部信息。TCP协议提供了可靠的数据传输、流量控制、拥塞控制等功能。
-
网络层协议:网络层协议负责数据的路由和寻址,如IP协议。在A客户端向服务器发送数据时,IP协议会将TCP数据段封装成IP数据报文,并加上IP头部和尾部信息。IP协议提供了寻址和路由选择的功能,可以将数据包从源主机传输到目标主机。
-
数据链路层协议:数据链路层协议负责数据的传输和封装,如Ethernet协议、PPP协议等。在A客户端向服务器发送数据时,Ethernet协议会将IP数据报文封装成数据帧,并加上MAC头部和尾部信息。Ethernet协议提供了物理地址寻址、以太网帧的传输等功能。
-
物理层协议:物理层协议负责数据的传输和电气特性,如光纤、电缆等物理传输介质。在A客户端向服务器发送数据时,数据会被转换成电信号并通过物理介质进行传输。
因此,整个协议栈中的每个层级都承担着不同的功能,逐层封装和解封装数据,最终实现了客户端向服务器发送数据的功能。
传输层协议(如TCP、UDP等)都在操作系统内核态实现,应用程序需要使用系统调用(如Socket API)来告知内核要发送或接收的数据,将数据从用户态传输到内核态,通过内核协议栈来完成数据的传输、路由等功能。因此,应用程序需要通过系统调用将数据下沉到内核的socket线程中,由操作系统内核来完成实际的数据传输。

浙公网安备 33010602011771号