个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【计算机网络】
本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌
目录
本文通过一个具体的网络通信实例,来看看计算机网络体系结构分层处理方法。
网络拓扑如下所示:
简化过程如下:上图中主机属于网络N1,Web服务器属于网络N2。N1和N2通过路由器进行互连。使用主机中的浏览器来访问Web服务器,当输入网址后,主机会向Web服务器发送请求,Web服务器收到请求后会发回相应的响应。主机的浏览器收到Web返回的响应后将其解析为具体的网页内容显示出来。
主机和Web服务器之间基于网络进行通信,实际上是主机中的浏览器应用进程和Web服务器应用进程之间基于网络的的通信。
下面我们具体来看体系结构的各层在整个网络通信过程中起到了哪些作用。
从主机端体系结构自顶向下的顺序来看。
一、主机端
- 第一步:应用层按照HTTP协议的规定构建一个HTTP请求报文。
应用层将这个HTTP请求报文交付给运输层进行处理。
- 第二步 :运输层给HTTP请求报文添加一个TCP首部,是之称为
TCP报文段
。
下面是TCP报文段的首部格式。该首部的作用主要是区分应用进程和实现可靠传输
- 第三步 :运输层将TCP报文段交付给网络层进行处理。网络层给TCP报文段添加一个
IP首部
使之称为IP数据报
。
下面是IP数据报的首部格式。该首部的作用是使IP数据报可以在互联网上传输,即被路由器进行转发。
- 第四步 :网络层将IP数据报交付给数据链路层处理。数据链路层给IP数据报添加一个首部和一个尾部使之成为
帧
。
我们假设网络N1是以太网,下图是以太网帧首部和尾部的格式
。
该首部的作用:主要是为了让帧能够在一段链路上(或一个网络上)传输,能够被相应的主机进行接收。
该尾部的作用:为了让目的主机检查所接受到的帧是否有误码。
- 第四步:数据链路层将帧交付给物理层。物理层将帧看作是比特流。
比特流:
由于网络N1是以太网,所以物理层还会给该比特流前面加上前导码。
前导码作用:为了让目的主机做好接收帧的准备。
第五步:物理层将添加有前导码的比特流变化成相应的信号发送到传输媒体。然后信号通过传输媒体就到达路由器了。
下面我们来看看路由器接收到信号后的处理过程是怎样的:
二、路由器端
-
第一步 :物理层将信号去掉前导码后将其交付给数据链路层。这里实际上交付的是帧。
-
第二步:数据链路层将帧的首部和尾部去掉后将其交付给网络层,这实际上交付的是IP数据报。
- 第三步:网络层解析IP数据报的首部从中提取出目的网络地址,然后查找自身的路由表,确定转发端口以便进行转发。然后网路层将IP数据报交付给数据链路层。
第四步
:数据链路层将IP数据报添加一个首部和一个尾部使之称为帧。然后将帧交付给物理层。
第五步
:物理层将帧看作是比特流,由于网络N2是以太网,因此物理层还会给该帧添加前导码。物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体。信号通过传输媒体到达Web服务器。
下面来看Web服务器端的处理过程。
三、Web服务器端
第一步:物理层将信号变换为比特流并去掉前导码后,交付给数据链路层,这里交付的其实就是帧。
第二步:数据链路层间帧的首部和尾部去掉后将其交付给网络层,这实际上交付的是IP数据报。
第三步:网络层将IP数据报的首部去掉后将其交付给运输层,这实际交付的是TCP报文段。
第四步:运输层将TCP报文段的首部去掉后将其交付给应用层,这里实际交付的就是HTTP请求报文。
应用层将HTTP报文进行解析,然后给主机发回HTTP响应报文。
四、最后
HTTP响应报文需要在Web服务器进行层层封装,然后由物理层变换为响应的信号;再通过传输媒体传输到相应的路由器,路由器转发该响应报文给主机。主机通过物理层将收到的信号转换为比特流,之后通过层层封装最终取出HTTP响应报文。
以上就是通过一个具体的网络通信实例来说明计算机网络体系结构分层处理方法的思想。
本文到这里就结束了,希望友友们可以支持一下一键三连哈。嗯,就到这里吧,再见啦!!!