其他分享
首页 > 其他分享> > 计算机网络-------传输层

计算机网络-------传输层

作者:互联网

计算机网络-------传输层

1、运输层协议概述

1.1进程之间的通信

网络层和运输层区别

网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信

运输层的作用

1、运输层提供应用进程间的逻辑通信。

2、在一台主机中经常有多个应用进程同时分别和另一台主机中的多个应用进程通信。

3、这表明运输层有一个很重要的功能——复用 (multiplexing)和分用 (demultiplexing)。

4、根据应用程序的不同需求,运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP 。

两种不同的运输协议

1.2运输层的两个主要协议

TCP(传输控制协议)和UDP(用户数据报协议)

UDP:一种无连接协议

TCP:一种面向连接的协议

1.3运输层的端口

软件端口和硬件端口
TCP/IP 运输层端口

由此可见,两个计算机中的进程要互相通信,不仅必须知道对方的 IP 地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。

两大类端口
  1. 服务器端使用的端口号
    • 熟知端口,数值一般为 0~1023。
    • 登记端口号,数值为 1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。
  2. 客户端使用的端口号
    • 又称为短暂端口号,数值为 49152~65535,留给客户进程选择暂时使用。
    • 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

2.1UDP概述

UDP的主要特点
  1. UDP 是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
  2. UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
  3. UDP 是面向报文的。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 一次交付一个完整的报文。
  4. UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求。
  5. UDP 支持一对一、一对多、多对一和多对多的交互通信。
  6. UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。
面向报文的UDP
UDP 基于端口的分用

3、传输控制协议 TCP

3.1 TCP 最主要的特点

TCP注意点

3.2 TCP的连接

套接字(socket)
TCP 连接,IP 地址,套接字

4、可靠传输的工作原理

4.1停止等待协议

理想的传输条件特点
停止等待协议
  1. 无差错情况

    A 发送分组 M1,发完就暂停发送,等待 B 的确认 (ACK)。B 收到了 M1 向 A 发送 ACK。A 在收到了对 M1 的确认后,就再发送下一个分组 M2。

  2. 出现差错

    • 在接收方 B 会出现两种情况:
      • B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。
      • M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。
    • 在这两种情况下,B 都不会发送任何信息。
    • 如何保证 B 正确收到了 M1 呢?
    • 解决方法:超时重传
      • 为每一个已发送的分组都设置了一个超时计时器
      • A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
  3. 确认丢失和确认迟到

    • 确认丢失
      • 若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内不能收到确认,但 A 并无法知道:是自己发送的分组出错、丢失了,或者 是 B 发送的确认丢失了。因此 A 在超时计时器到期后就要重传 M1
      • 假定 B 又收到了重传的分组 M1。这时 B 应采取两个行动:
        • 第一,丢弃这个重复的分组 M1,不向上层交付。
        • 第二,向 A 发送确认。不能认为已经发送过确认就不再发送,因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认。
    • 确认迟到
      • 传输过程中没有出现差错,但 B 对分组 M1 的确认迟到了。
      • A 会收到重复的确认。对重复的确认的处理很简单:收下后就丢弃。
      • B 仍然会收到重复的 M1,并且同样要丢弃重复的 M1,并重传确认分组。
自动重传请求ARQ
流水线传输

4.2连续ARQ协议

累积确认
Go-back-N(回退 N)

5、TCP 报文段的首部格式

6、TCP可靠传输的实现

6.1 以字节为单位的滑动窗口

发送缓存
接收缓存
发送缓存与接收缓存的作用
需要强调三点
接收方发送确认

6.2 超时重传时间的选择

TCP超时重传时间设置

7、TCP的流量控制

7.1 利用滑动窗口实现流量控制

可能发生死锁
持续计时器

8、拥塞控制

8.1 拥塞控制的一般原理

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

8.2 TCP 的拥塞控制方法

控制拥塞窗口的原则
拥塞的判断
TCP拥塞控制算法
慢开始
传输轮次
设置慢开始门限状态变量 ssthresh
拥塞避免算法
当网络出现拥塞时
快重传算法
快恢复算法

9、TCP 的运输连接管理

9.1 TCP 的连接建立

运输连接的三个阶段
TCP 连接建立过程中要解决的三个问题
客户-服务器方式
TCP 的连接建立
三报文握手
TCP 的连接释放
四报文挥手
A 必须等待 2MSL 的时间

标签:计算机网络,重传,报文,TCP,发送,-------,拥塞,传输层,连接
来源: https://www.cnblogs.com/youngerwb/p/16272583.html