计算机网络基础--应用进程间基于网络通信过程
主机中输入网址后,从服务器中获取数据的过程:该过程实际上是主机上的浏览器应用进程与服务器中的应用进程间基于网络的通信
主机中的过程
-
主机端通过应用层按HTT协议的规定,构建一个HTTP请求报文。应用层将HTTP请求报文交付给运输层处理
-
运输层将请求报文添加一个TCP首部,使之成为一个TCP报文段(该首部的作用主要是为了区分应用进程以及实现可靠性传输),运输层将TCP报文段交付给网络层处理
-
网络层将TCP报文添加IP首部,使之成为IP数据报,该首部的主要作用是为了是IP数据报可以在互联网中传输,也就是被路由器进行转发,网络层将IP数据报交付给数据链路层层处理
-
数据链路层给IP数据报添加首部和一个尾部,使之成为一个帧(首部的作用主要为了让帧能够在一段链路上或一个网络上传输,能够被响应的目的主机接收。尾部主要是为了让目的主机检查所接受的帧是否有误码),数据链路层将帧交给物理层处理
-
物理层将帧看成比特流,由于网络N1是以太网,因此物理层将该比特流前面添加前导码(前导码的作用主要是为了目的主机做好接收帧的准备)物理层将添加有前导码的比特流,变换成响应的信号发送到传输媒介,信号通过传输媒介到路由器
路由器中的过程
-
物理层将信号变换为比特流,然后将前导码去掉后,将其交付给数据链路层(实际交付的是帧)
-
数据链路层将帧的首部和尾部去掉后交付给网络层(实际交付的是IP数据报)
-
网络层解析IP数据报的首部,从中提取出目的网络地址,查找其自身的路由表,确定转发端口
-
网络层将IP数据报交付给数据链路层添加帧,数据链路层将帧交付给物理层添加前导码后转为信号在网络中传输,直到信号传输到服务器
服务器中的过程
-
物理层将信号变换为比特流,然后将前导码去掉后,将其交付给数据链路层(实际交付的是帧)
-
数据链路层将帧的首部和尾部去掉后交付给网络层(实际交付的是IP数据报)
-
网络层将IP数据报去掉后,将其交付给运输层(实际交付的是TCP报文段)
-
运输层交TCP报文段去掉后,将其交付给应用层(实际交付的是HTTP请求报文)
-
应用层对HTTP请求报文进行解析,然后给主机返回HTTP响应报文。HTTP响应报文在服务器中通过层层封装,通过物理层变换为信号进行网络中传输,路由器转发报文给主机,主机通过物理层将信号转换为比特流,之后通过层层解封,最终取出HTTP响应报文