美文网首页
2019-06-09 计算机网络 自顶向下方法 第三章

2019-06-09 计算机网络 自顶向下方法 第三章

作者: ShawnPanCn | 来源:发表于2019-06-09 22:58 被阅读0次

    运输层解决的问题是,数据传输的问题。数据传输分为不可靠传输和可靠数据传输,分别对应的是UDP协议和TCP协议。

    运输层和网络层的关系

    在发送端,运输层将从发送应用程序接收到的报文(应用层报文)转换成报文段,随后将这些报文段传递给网络层,网络层将其封装为网络层分组(即数据报),并向目的地发送;

    在接收端,网络层从数据报中提取运输层报文段,并将该报文段上交给运输层,运输层则处理接收到的报文段,使该报文段中的数据为接收应用程序使用;

    运输层协议只工作在端系统中

    网络层IP协议为不可靠服务,其服务模型是尽力而为交付服务(best-effort delivery service),这意味着它不确保报文段的交付、不保证报文段的按序交付、不保证报文段中数据的完整性。

    因特网运输层概述

    Internet运输层上提供TCP(传输控制协议) 和 UDP(用户数据报协议)两种。

    多路复用和多路分解

    无连接的多路复用和多路分解

    在运输层,无连接的网络传输是通过UDP来实现的,一个UDP套接字是由一个含有目的IP地址和目的端口号的一个二元组来全面标识的。

    主机收到UDP段后检查段中的目的端口号,并将UDP段导向绑定在该端口号的Socket,因此如果两个UDP报文段有不同的源IP地址/端口号,却有相同的目的端口号,那么两个报文段将通过相同的目的套接字被定向到相同的目的进程。

    面向连接的多路复用与多路分解

    在运输层中面向连接的网络传输多使用TCP,而TCP套接字和UDP套接字之间有一个细微的差别,TCP套接字是由一个四元组(源IP地址、源端口号,目的IP地址,目的端口号)来标识的。当一个TCP报文段从网络到达一台主机时,主机会使用全部4个值来将报文段定向,即多路分解到相应的套接字。

    与UDP不同的是,两个具有不同源IP或源端口号的到达的TCP报文段将被重定向到两个不同的套接字。

    Web服务器与TCP

    当今的高性能Web服务器通常只使用一个进程,但是为每个新的客户连接创建一个具有新连接套接字的新线程。

    无连接运输:UDP

    UDP报文段结构

    UDP检验和

    作用

    提供了差错检查功能

    用于确定当UDP报文段从源到达目的地移动时,其中的比特是否发生了变化(例如,可能由于链路中的噪声干扰或者存储在路由器中时引入问题)

    原理

    反码(complement):发送方的UDP对报文段中的所有16bit字的和进行反码运算,就是将所有的0换成1,所有的1换成0;接收端计算校验和但不做反码,将结果与发送方校验码相加,如果得到的结果为16个1,那么说明该分组中没有引入差错。

    回卷(wrap around):遇到最高位进位的时候,就将溢出的那一位与低16位相加。

    UDP 的几个优点

    对于发送什么数据和何时发送数据有更为精细的控制。TCP 因为有拥塞控制使得 TCP 发送速率不能得到保证,而 UDP 没有这种限制

    无须事先建立连接。TCP 在发送数据前必须经过 3 次握手,这就引入了非常大的时延

    无连接状态。UDP 不需要额外的内存以保存缓存、拥塞控制参数等数据,因此服务器可以有更多的 UDP 连接

    分组的首部开销更小。UDP 的首部只有 8 个字节,而 TCP 有 20 个字节。

    可靠数据传输原理

    构造可靠数据传输协议

    经完全可靠信道的可靠数据传输:rdt1.0

    经具有比特差错信道的可靠数据传输:rdt2.0

    经具有比特差错的丢包信道的可靠数据传输:rdt3.0

    流水线可靠数据传输协议

    回退N步

    选择重传

    相关文章

      网友评论

          本文标题:2019-06-09 计算机网络 自顶向下方法 第三章

          本文链接:https://www.haomeiwen.com/subject/souoxctx.html