计算机网络知识点总结(第五章 运输层)

基于计算机网络(第7版)谢希仁编著。

第五章 运输层

  • 运输层为相互通信的应用进程提供逻辑通信
  • IP协议:点到点(主机到主机)
    运输层协议:端到端(进程到进程)
  • 端口的作用:进程间的通信
  • 运输层很重要的功能:分用和复用
  • 运输层对收到的报文进行差错检测
  • 两种不同的运输协议:面向连接的TCP和无连接的UDP

用户数据报协议UDP

  • UDP时无连接的、不保证可靠交付,面向报文、没有拥塞控制
  • 面向协议
  • UDP使用尽最大努力交付,即不保证可靠交付
  • 支持一对一、一对多、多对一和多对多的交互通信
  • 首部开销小,只有8个字节
  • 在计算校验和时,在UDP用户数据报之前增加12个字节的伪首部。伪首部仅仅是为了计算校验和。

传输控制协议TCP

  • TCP是面向连接的提供可靠交付、连接只能是点对点(一对一)、面向字节流,以字节整数倍发送
  • 应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。
  • TCP提供全双工通信
  • TCP连接是一条虚连接(逻辑连接),而不是一条真正的物理连接。
  • 长度可变。化整为零,化零为整
  • TCP把连接作为最基本的抽象
  • TCP把连接的端点叫做套接字(socket)。端口号拼接到IP地址即构成了套接字。
    套 接 字 s o c k e t = ( I P 地 址 : 端 口 号 ) 套接字 socket = (IP地址:端口号) socket=(IP)

  • 端口的作用:对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信

  • 应用层所有的应用进程都可以通过运输层再传送到IP层(网络层),这就是复用。运输层从IP层收到发送给各应用进程的数据后,必须分别交付指明的各应用进程,这就是分用

  • 熟知端口号,数值为0~1023

  • 登记端口号,数值为1024~49151。标志没有熟知端口号的非常规的服务进程。

  • 客户端使用的端口号(短暂端口号)。留给客户进程选择暂时使用

  • 常用熟知端口号:
    在这里插入图片描述

  • 停止等待协议:
    计算机网络知识点总结(第五章 运输层)_第1张图片
    计算机网络知识点总结(第五章 运输层)_第2张图片
    使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。
    这种可靠传输协议常称为自动重传请求ARQ

  • 停止等待协议的优点是简单,缺点是信道利用率太低。

  • 流水线传输可提高信道利用率

  • 连续ARQ协议:发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。接收方一般采用累积确认的方式,接收方不必对收到的分组逐个发送确认,而是在收到几个分组后,对按序到达的最后一个分组发送确认

  • TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。

  • TCP首部前20个字节是固定的,TCP首部最小长度20字节。

  • TCP首部长度是4字节的整数倍

以字节为单位的滑动窗口:
  • A的发送窗口一定不能超过B的接收窗口数值
  • 发送窗口的大小代表在还没收到对方确认消息的情况下,发送端最多可以发送多少数据。
  • 接收窗口中是期望接收的数据的序号
  • B只能对按序收到的数据中的最高序号给出确认
  • 发送缓存用来暂时存放:
    (1)发送应用程序传送给发送方TCP准备发送的数据;
    (2)TCP已发送出但尚未收到确认的数据。
  • 接收缓存用来暂时存放:
    (1)按序到达的、但尚未被接收应用程序读取的数据;
    (2)未按序到达的数据。
  • 1.在同一时刻,A的发送窗口并不总是和B的接收窗口一样大。
    2.TCP通常对不按时到达的数据是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。
    3.TCP要求接收方必须有累积确认的功能,这样可以减少传输开销。
TCP的流量控制:让发送方的发送速率不要太快,要让接收方来得及接收。

拥塞控制与流量控制的区别:

  • 拥塞控制:防止过多的数据注入网络,从而避免网络中的路由器或链路过载;是全局性的过程。
  • 流量控制:指点对点的通信量的控制;协调双方速率;存在从收方到发放的直接反馈。

TCP的拥塞控制

  • 产生原因:对资源的需求总和大于可用资源
  • 它是一个动态的问题
  • 可以分为开环控制和闭环控制
  • TCP进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复。
  • 拥塞窗口cwnd,大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。
  • 慢开始:由小到大逐渐增大拥塞窗口数值
    在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个SMSS的数值
    发送方每收到一个对新报文段的确认就使发送方的拥塞窗口加1,每经过一个传输轮次,拥塞窗口cwnd就加倍。
    慢开始门限ssthresh
    cwnd cwnd>ssthresh时,使用拥塞避免算法
    cwnd=sshresh时,二者均可
  • 拥塞避免:每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1(加法增大)
    “拥塞避免”并非完全能够避免了拥塞。“拥塞避免”是说把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。
    若网络出现超时,发送方判断为网络拥塞,调整门限值ssthresh=cwnd/2,同时设置拥塞窗口cwnd=1,进入慢开始阶段(乘法减小)
  • 快重传:发送方只要一连接收到3个重复确认,立即进行重传
    采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失
  • 快恢复:发送方知道只是丢失了个别报文段,不启动慢开始。调整门限值ssthresh=cwnd/2,设置拥塞窗口cwnd=ssthresh,并开始执行拥塞避免算法
    计算机网络知识点总结(第五章 运输层)_第3张图片
    计算机网络知识点总结(第五章 运输层)_第4张图片
  • 发送方的发送窗口一定不能超过对方给出的接收方窗口值rwnd
  • 发送方窗口的上限值=Min[rwnd,cwnd]

TCP的运输连接管理

  • 运输连接有三个阶段:连接建立、数据传送和连接释放
  • 三报文握手建立TCP连接的过程:
    计算机网络知识点总结(第五章 运输层)_第5张图片

例题:

计算机网络知识点总结(第五章 运输层)_第6张图片
计算机网络知识点总结(第五章 运输层)_第7张图片
在这里插入图片描述
计算机网络知识点总结(第五章 运输层)_第8张图片

你可能感兴趣的:(计算机网络)