计算机网络_运输层

在这里插入图片描述
在这里插入图片描述
- 是什么

运输层是什么?
    运输层在五层协议中,位于网络层之上,应用层之下。从通信和信息处理的角度来看,运输层为应用层提供通信服务,同样的运输层使用网络层提供的通信服务。

- 为什么

网络层通过IP可以将数据从发送端的主机传输到接收端的主机,那么为什么需要运输层?
    首先我们要清楚,通信的最终端点是主机吗?数据最终被谁消费了呢?通信的最终端点并不是主机,而是主机中的进程,数据最终被进程所消费。那么网络层通过IP仅仅将数据传输到主机是不够的,所以运输层存在的意义就是将数据传输到指定的进程。

- 怎么做

  1. 运输层的任务主要是将数据传输到指定的进程,那么有哪些实现?

     无连接的UDP、面向连接的TCP。

  1. 一台主机中往往有多个进程,接收到的数据需要交给哪个进程呢?

在这里插入图片描述

- 无连接的用户数据报协议UDP(user datagram protocol)

  1. UDP是无连接的,即发送数据之前无需建立连接。
  2. UDP使用尽最大努力交付,即不可靠交付。
  3. UDP面向报文,将应用层报文添加头部后就直接交给网络层。
  4. UDP没有拥塞控制,网络阻塞不会导致发送机降低发送速率。
  5. UDP支持一对一、一对多、多对一、多对多的交互通信。
  6. UDP首部开销小,仅8字节,TCP20字节。

- 面向连接的传输控制协议TCP(transmission control protocol)

  1. TCP是面向连接的运输层协议
  2. 点对点
  3. 提供可靠交付
  4. 全双工通信
  5. 面向字节流

既然TCP是面向连接的,那么连接的建立和释放是如何实现的呢?
在这里插入图片描述

  1. 初始状态:客户端和服务器创建传输控制块,进入监听状态,监听其他主机的连接请求。
  2. SYN-SEND状态:客户端发送连接请求(SYN=1, seq=x),客户端进入SYN-SEND状态。
  3. SYN-RECVED状态:服务器接收到连接请求报文,返回确认信息(SYN=1, ACK=1, seq=y,
    ack=x+1),服务器进入SYN-RECVED状态。
  4. ESTABLISHED状态:客户端收到服务器允许连接的回复,客户端进入ESTABLISHED状态,客户端回复确认收的到(ACK=1,seq=x+1, ack=y+1),服务器收到后进入ESTABLISHED状态。
  5. 连接建立成功。

在这里插入图片描述

  1. 数据传输结束,客户端和服务器的状态全部处于ESTABLISHED状态,任何一方都可以发起连接关闭请求。
  2. 例如客户端发起关闭请求(FIN=1, seq=u), 客户端进入FIN-WAIT1状态。
  3. 服务器收到关闭请求,进行答复确认(ACK=1, seq=v, ack=u+1),这是客户端向服务器发送的通道关闭,但是服务端仍然可以向客户端发送数据。
  4. 客户度收到答复后进入FIN-WAIT2状态,等待服务器发送最终关闭请求(FIN=1, ACK=1, seq=w, ack=u+1)
  5. 客户度收到服务器最终关闭答复后,发送确认请求(ACK=1, seq=u+1, ack=w+1),服务器接收到答复请求后关闭,客户端等待2个计时周期后关闭。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值