概述: 其实计算机网络主要聊的就是因特网五层协议栈的那几种协议,通过对各个协议的构成,了解一个数据包(报文)是如何从网络中完成传输的作用。
这是一个系列的,主要用于自己复习计网。
计算机网络应用层–龙之介计算机网络学习(1)
计算机网络应用层–龙之介计算机网络学习(2)
传输层
概述:在介绍传输层之前,我们先来介绍一下网络层,网络层有个协议叫IP,IP服务模型是尽力而为的交付服务,这意味着IP尽它最大的努力,在通信的主机之间交付报文段,但它并不做任何确保。在传输层,我们只需要机制每台主机至少有一个网络层地址,即IP地址。
有了对IP的认识,我们来聊聊传输层那些事,传输层有两个协议UDP和TCP协议,他们最基本的责任是,将两个端系统间IP的交付服务扩展为运行在端系统上的两个进程之间的交付服务。
无连接运输:UDP
UDP被设计为只做最少工作的非常简单的协议。比如DNS就是使用UDP的应用层协议的例子。
UDP的优势在于:
1 没有TCP的拥塞控制机制,只要应用将数据传递给UDP,它就会将数据打包进UDP报文段并立即传递给网络层。2 不需要任何准备不需要连接即可传输数据【无连接的运输协议】
3 没有连接状态–TCP需要维护连接状态
4 分组首部开销小–8字节
UDP报文段:
端口号: 使得目的主机将应用数据交给运行在目的端系统中的响应进程。
长度:(首部加数据)
检验和:接下来详细介绍
UDP检验和:
发送方的UDP对报文段中所有16比特字的和进行反码运算,求和是遇到任何溢出就被回卷。(此机制就能确定运输过程中比特是否发生改变–差错检测机制)
UDP检验和要计算首部和数据部分,其中首部还包括伪首部
多了12字节伪首部,目的是让UDP两次检查数据是否已经正确到达目的地。IP接受正确的目的地址,传送到正确的上层程序。