当前位置 博文首页 > liuguangshibei的博客:计算机网络9-传输层

    liuguangshibei的博客:计算机网络9-传输层

    作者:[db:作者] 时间:2021-08-13 12:53

    计算机网络9-传输层

    传输层为应用层提供服务,并使用网络层的服务。

    传输层的功能:

    1.传输层提供进程和进程之间的逻辑通信。(网络层提供主机之间的逻辑通信)。

    2.复用和分用。

    3.传输层对收到的报文进行差错检测。

    传输层的两种协议

    UDP协议

    无连接的用户数据报协议UDP
    传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。
    不可靠,无连接,时延小,适用于小文件。
    例:QQ传输中的消息发送。
    

    TCP协议

    面向连接的传输控制协议TCP
    传输数据之前必须先建立连接,数据传送结束后要释放连接。
    不提供广播与多播服务。
    由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:
    确认、流量控制、计时器及连接管理等。
    可靠,面向连接,时延大,适用于大文件。
    例:QQ中传输大文件。
    

    传输层的寻址与端口

    复用:应用层所有的应用进程都可以通过传输层再到网络层。

    分用:传输层从网络层收到数据后交付指明的应用进程。

    端口

    端口分为软件端口与硬件端口,软件端口是抽象的,也被称为逻辑端口,是传输层中的SAP,标识主机中的应用进程。

    端口号只有本地意义,在因特网中不同的计算机的相同端口是没有联系的,意思及端口号只用来区分本地主机中的进程。

    端口号长度为16bit,能表示65536个不同的端口。

    端口号的划分

    服务端使用的端口号:

    熟知端口号(0-1023):给TCP/IP最重要的一些应用程序,让所有用户都知道。

    登记端口号(1024-49151):为没有熟知端口号的应用进程使用。

    客户端使用的端口号(49152-65535):仅在客户进程运行时才动态选择。

    熟知端口号举例:

    在这里插入图片描述

    UDP协议特点

    UDP在IP数据报服务上增加了复用分用和差错检测功能。

    UDP主要特点:

    UDP是无连接的,减少开销和发送数据之前的时延。
    UDP使用最大努力交付,既不保证正可靠交付(最终的可靠传输由应用层保证)。
    UDP是面向报文的,适合一次性传输少量数据的网络应用。
    UDP无拥赛控制,适合很多实时应用(如:网络通话,视频电话等)。
    应用层给UDP多长的报文,UDP就照样发送,即一次发送一个完整的报文(从而也体现了UDP协议适合传输较小的报文)。
    

    UDP校验

    在发送端:

    填上伪首部
    全0填充检验和字段
    全0填充数据部分(UDP数据报要看成许多4B的子串连接起来)
    伪首部+首部+数据部分采用二进制反码求和
    把和求反码填入检验和字段
    去掉伪首部,发送
    

    在接受端:

    填上伪首部
    伪首部+首部+数据部分采用二进制反码求和
    结果全为1则无差错,否则丢弃数据报/交给应用层附上差错报告。
    

    TCP协议特点

    1.TCP是面向连接(虚连接)的传输层协议。

    2.每一条TCP连接只能有两个端点。每一条TCP连接只能是点对点的。(端对端,点对点都发生在传输层)。

    3.TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。(可靠有序,不丢不重)。

    4.TCP提供全双工通信。

    <1>发送缓存:准备发送的数据与已发送但尚未接受到确认的数据。

    <2>接受缓存:按序到达但尚未被应用层接受读取的数据与不按序到达的数据

    5.面向字节流:TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。

    TCP报文首部格式

    控制位详情:

    在这里插入图片描述

    TCP连接管理

    建立连接(三次握手)

    第一次握手:客户机向服务器发送连接请求报文段,无应用层数据。

    控制位:SYN=1;序号位:seq=x(随机);

    第二次握手:服务器端收到请求报文段,并为该连接分配缓存与变量,同时向客户端返回确认报文段,表示允许连接,同时无应用层数据。

    控制位:SYN=1,ACK=1;序号位:seq=y(随机),ack=x+1(根据客户机的seq来确定);

    第三次握手:客户端收到确认报文,并为连接分配缓存与变量,同时向服务器返回确认报文的确认报文段,同时可以携带应用层数据,开始正式的数据传输。

    SYN=0;ACK=1(属于确认报文),seq=x+1,ack=y+1;

    释放连接

    在这里插入图片描述

    TCP流量控制

    ? 接收方会在建立连接之后向发送方发出一个接收窗口大小的值来告诉发送方要将发送窗口设置为多大,之后发送方会设置为相应大的窗口,并发送数据,之后接收方会不断的在确认报文中发送接收窗口的大小,当rwnd(窗口大小)为0时,表示发送方可以停止发送。此时发送方会开始计时模式,在计时模式内若收到了窗口不为零的报文时,则开始再次传输,若计时结束时仍未收到报文,则发送试探请求报文,则接收方会发送此时的接收窗口大小。

    TCP拥塞控制

    慢重传与拥塞控制;

    快重传与快恢复;

    rwnd(窗口大小)为0时,表示发送方可以停止发送。此时发送方会开始计时模式,在计时模式内若收到了窗口不为零的报文时,则开始再次传输,若计时结束时仍未收到报文,则发送试探请求报文,则接收方会发送此时的接收窗口大小。

    TCP拥塞控制

    慢重传与拥塞控制;

    快重传与快恢复;

    cs
    下一篇:没有了