韩立刚《计算机网络》| 第5章 传输层

5.1 上边三层协议

  • 应用层:http https DNS ftp SMTP PoP3 RDP
  • 传输层:TCP UDP
  • 网络层:IP(RIP OSPF BGP)、ICMP、IGMP、ARP

5.2 TCP、UDP应用场景

  • TCP :分段 编号 流量控制 建立会话(netstat -n:查看会话)全双工 可靠传输 面向字节流
  • UDP: 一个数据包就能完成数据通信 不建立会话 多播 不可靠传输 面向报文

5.3 传输层和应用层之间的关系

应用层协议 = 传输层协议 + 端口号

  • http =TCP + 80
  • https = TCP + 443
  • ftp = TCP + 21
  • SMTP(发邮件) = TCP + 25
  • PoP3(收邮件) = TCP +110
  • RDP(远程桌面协议) = TCP + 3389
  • 共享文件夹 = TCP + 445
  • SQL = TCP + 1433
  • DNS = UDP + 53 or TCP + 53
  • 登记端口:1024-49151 客户端端口:49152-65535

5.4 应用层协议和服务之间的关系

服务运行后在TCP或UDP的某个端口侦听客户端请求

安全策略:更改服务器的默认端口

TCP、UDP

  • 两个运输实体在通信时传送的数据单位叫作运输协议单元
  • TCP运送的协议数据单元是TCP报文段
  • UDP运送的协议数据单元是UDP报文或用户数据报

UDP报文首部格式

img

TCP

每一条TCP连接有两个端点。端点叫作:套接字(socket) = IP地址 : 端口号

TCP报文段首部格式

img

可靠传输

停止等待

  • 优点:简单

  • 缺点:信道利用率太低

    img

  • 信道利用率

    img

  • 自动重传请求ARQ——重传请求自动进行

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

    • 发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认;

    • 连续ARQ协议:使用滑动窗口实现可靠传输

      img

    • 累积确认

      • 接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了

以字节为单位的滑动窗口
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

注意

  • A 的发送窗口并不总是和 B 的接收窗口一样大(因为有一定的时间滞后)。
  • TCP 标准没有规定对不按序到达的数据应如何处理。通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。
  • TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销

流量控制
img
img

调整滑动窗口为0暂停发送,实现流量控制

避免网络拥塞

出现资源拥塞的条件:对资源需求的总和 > 可用资源

拥塞控制所起的作用:
img

拥塞控制算法

  • 慢开始和拥塞避免

img

  • 快重传和快恢复

img

快重传

  • 快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。
  • 发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。
  • 不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段

快恢复

  • (1) 当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限 ssthresh减半。但接下去不执行慢开始算法。
  • (2)由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,即拥塞窗口cwnd 现在不设置为 1,而是设置为慢开始门限 ssthresh 减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。

发送窗口的上限值
发送窗口的上限值 = Min [rwnd, cwnd]

5.5 TCP的传输连接管理

三个阶段

连接建立、数据传送、连接释放

TCP连接的建立都是采用客户服务器方式

  • 主动发起连接建立的应用进程叫做客户
  • 被动等待连接建立的应用进程叫做服务器

TCP连接建立(三次握手)

建立过程
img
建立连接时的各状态
img
释放连接
img

原创文章 10 获赞 5 访问量 303

猜你喜欢

转载自blog.csdn.net/qq_41175126/article/details/105165704
今日推荐