注:本文是 计算机网络体系结构(3)—分层思想举例的笔记(视频制作不错)
计算机网络体系结构分层处理方法案例
背景: 通过一个具体网络通信案例来看看计算机网络体系结构分层处理方法
案例如下:在如下的网络拓扑结构中,主机属于网络N1; Web服务其属于网络N2, N1和N2通过路由器互连,我们使用主机和服务器之间进行通信,在pc的浏览器上输入网址,主机会向Web服务器发送请求;Web服务器收到请求后,会发回响应,主机收到响应后,将其解析为具体的网页内容显示出来;在这个过程中实际上是浏览器进程和web服务器进程基于网络的通信
上述只是一个简单的过程,主要用于说明计算机网络分分层处理方法;那么体系机构的各层在整个过程中起到怎么样的作用呢?
体系结构中各层在通信过程中起到什么样的作用
从主机端按体系结构自顶向下的顺序来看,分别从应用层,网络层,传输层,链路层和物理层来看
应用层
应用层按HTTP协议的规定,构建一个HTTP报文,让后交付给下层的网络层;
运输层
应用层将HTTP请求报文交付给运输层处理,运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段。
该首部的作用主要是为了区分应用进程,以及实现可靠传输
网络层
运输层将TCP报文段交付给网络层处理,网络层给TCP报文段添加一个IP首部,使之成为IP数据包
该首部的作用主要是为了使IP数据报可以在互联网上传输,也就是被路由器转发
数据链路层
网络层将IP数据报交付给数据链路层处理,数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧
假设网络N1是以太网,这是以太网帧首部的格式,该首部的作用主要是为了让帧能够在一段链路上或一个网路上传输,能够被相应的主机接受,以太网帧尾部的格式,其作用是为了让目的主机检查所接受到的帧是否有误码
物理层
数据链路层将帧交付给物理层,物理层将帧看作是比特流,由于网络N1是以太网,因此物理层还会给该比特流前面添加前导码,其作用是为了让目的主机做好接受帧的准备
物理层将加有前导码的比特流,变换成相应的信号发送到传输媒体,信号通过传输媒体到达路由器
看一下路由器的处理过程
当比特流到达路由器的时候,
- 物理层将信号变换为比特流,然后去掉前导码后,将其交付给数据链路层,这实际上交付的是帧
- 数据链路层将帧的首部和尾部去掉后,将其交付给网路层,这实际上交付的是IP数据报
- 网络层解析IP数据报的首部,从中提出出目的网络地址,然后查找自身的路由表,确定转发端口
- 网络层将IP数据报交付给数据链路层,数据链路层给IP数据报添加一个首部和一个尾部使之成为帧
- 数据链路层将帧交付给物理层,物理层将帧看作是比特流,由于网络N2是以太网,因此物理层还会给该比特流添加前导码
- 物理层将添加有前导码的比特流发送到传输媒体
经历过程:物理层->网络链路层->网络层->链路层->物理层
信号通过传输媒体到达web服务器,我们来看Web服务器的处理过程。
Web服务器的处理过程的过曾就是PC端处理的逆过程;当服务器的应用层解析请求后,给主机发回HTTP响应报文,和之前的过程类似:
- HTTP响应报文需要在Web服务器层层封装,
- 然后通过物理层变换成相应的信号,
- 再通过传输媒体传输到路由器,
- 路由器转发该响应报文给主机,
- 主机通过物理层将收到的信号转换成比特流,之后通过逐层解封,
- 最终取出HTTP响应报文
补充
下面知识可以暂且做了解
习题部分
网络层:IP层
练习题5: 600B/(600B+6*20B) = 0.8333