【笔记】计算机网络-传输层

文章目录

  • 传输层概述
    • 传输层的寻址和端口
  • UDP
    • UDP首部格式
    • UDP校验
  • TCP
    • TCP特点
    • TCP报文段首部格式
    • TCP连接管理
    • TCP可靠传输
    • TCP流量控制
    • TCP拥塞控制
      • 慢开始&拥塞控制
      • 快重传&快恢复

传输层概述

为应用层提供通信服务,使用网络层的服务(下层为上层提供服务)。只有主机才有的层次。
功能:

  • 传输层提供进程和进程之间的逻辑通信
  • 复用和分用
  • 传输层对收到的报文进行差错检测
  • 传输层的两种协议

传输层两个协议:

  • TCP
  • UDP

【笔记】计算机网络-传输层_第1张图片

传输层的寻址和端口

【笔记】计算机网络-传输层_第2张图片
在这里插入图片描述
在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。
套接字Socket=(主机IP地址,端口号)

UDP

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

主要特点:

  • UDP是无连接的,减少开销和发送数据之前的时延。
  • UDP使用最大努力交付,即不保证可靠交付。
  • UDP是面向报文的,适合一次性传输少量数据的网络应用。
  • UDP无拥塞控制,适合很多实时应用。
  • UDP首部开销小,8B,TCP 20B。
    【笔记】计算机网络-传输层_第3张图片

UDP首部格式

【笔记】计算机网络-传输层_第4张图片

UDP校验

【笔记】计算机网络-传输层_第5张图片
【笔记】计算机网络-传输层_第6张图片

TCP

TCP特点

【笔记】计算机网络-传输层_第7张图片

TCP报文段首部格式

【笔记】计算机网络-传输层_第8张图片
6个控制位:

  • 紧急位URG:URG=1,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。
  • 确认位ACK:ACK=1,确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
  • 推送位PSH:PSH=1,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。
  • 复位RST:RST=1,标明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输连接。
  • 同步位SYN:SYN=1,表明是一个连接请求/连接接收报文。
  • 终止位FIN:FIN=1,表明此报文段发送方数据已发完,要求释放连接。

窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。
检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6。
紧急指针:URG=1才有意义,指出本报文段中紧急数据的字节数。
选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认等
填充:保证首部是4个字节的整数倍。

TCP连接管理

连接建立:
【笔记】计算机网络-传输层_第9张图片
洪范攻击:
【笔记】计算机网络-传输层_第10张图片
连接释放:
【笔记】计算机网络-传输层_第11张图片

TCP可靠传输

【笔记】计算机网络-传输层_第12张图片

TCP流量控制

流量控制:让发送方慢点,要让接收方来得及接收。

TCP利用滑动窗口机制来实现流量控制。

在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。

【笔记】计算机网络-传输层_第13张图片

TCP拥塞控制

出现拥塞控制的条件:
对资源需求的总和>可用资源(资源指的是带宽、缓存、路由器处理机等)

网络中许多资源同时呈现供应不足-》网络性能变差-》网络吞吐量将随输入负荷增大而下降

拥塞控制:是全局性防止过多的数据注入到网络中。

拥塞控制四种算法:

  • 慢开始&拥塞避免
  • 快重传&快恢复

假定:

  1. 数据单方面传送,而另一个方向只传送确认
  2. 接收方总是足够大的缓存空间,因而发送窗口大小取决于拥塞程度

发送窗口=Min{接收窗口,拥塞窗口}

接收窗口:接收方根据接收缓存设置的值,并告知给发送方,反映接收方容量。
拥塞窗口:发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网路当前容量。

慢开始&拥塞控制

【笔记】计算机网络-传输层_第14张图片

快重传&快恢复

【笔记】计算机网络-传输层_第15张图片
参考文献:王道-《计算机网络》

你可能感兴趣的:(TCP,UDP,传输层,计算机网络)