美文网首页
TCP/UDP传输层协议

TCP/UDP传输层协议

作者: 二斤寂寞 | 来源:发表于2019-06-28 20:13 被阅读0次

TCP和UDP是传输层协议。

七层协议

image.png
image.png

UDP :(用户数据报协议)

01 UDP特点:

  • 无连接
  • 尽最大努力交付
  • 面向报文
面向报文:
面向报文.png

02 UDP功能:

  • 复用
  • 分用
  • 差错检测
复用、分用:
image.png
差错检测:
差错检测.png

TCP:(传输控制协议)

TCP特点:

  • 面向连接
  • 可靠传输
  • 面向字节流
  • 流量控制
  • 拥塞控制
TCP特点——01 面向连接
面向连接.png 三次握手.png

为什么要进行三次握手???
假设建立连接只需要两次,客户端发送syn请求报文超时了,客户端有超时重传机制,此时服务端收到重传的syn建立连接,同时超时的那次syn也到达了,服务端以为客户端又想建立连接,这样就会建立2次话会。
使用三次握手可以解决同步请求连接建立报文超时的问题。

四次挥手.png

为什么要进行四次挥手???
全双工:一条通道双方面的接受和发送。所以需要双方面的确认。

TCP特点——02 可靠传输
  • 无差错
  • 不丢失
  • 不重复
  • 按需到达

停止等待协议:实现可靠传输

  • 无差错情况
  • 超时重传
  • 确认丢失
  • 确认迟到
无差错.png

标准情况:客户端发送请求报文m1,服务端收到确认m1,客户端再发送m2

超时重传.png

超时重传:保证不丢失,差错校验
客户端发送请求报文m1,超时重传m1,服务端收到确认m1,客户端再发送m2

确认丢失.png

客户端发送请求报文m1,服务端确认m1丢失,超时重传m1,丢弃重传的m1,重传确认m1,客户端再发送m2

确认迟到.png

客户端发送请求报文m1,服务端确认m1丢失,超时重传m1,丢弃重传的m1,重传确认m1,客户端再发送m2,对于服务端超时回来的m1,收到什么也不做。

TCP特点——03 面向字节流

image.png

不管发送方给发送多少个字节数据,比如发送方发送10个字节,TCP会根据实际情况,可能一次或者拆分成多次发送给接收方

TCP特点——04 流量控制

滑动窗口协议:(难点)


image.png

按序到达通过字节编号控制,从左到右排序序号增大
发送窗口的大小一方面取决于发送缓存的大小 另一方接收方的接受窗口的大小控制
比如:发送方是wifi网络,接收方2g3g,发送太快,接受方的接受缓存会大量累计数据,缓存溢出。
接收方可以反向制约(动态调整)发送方的发送窗口大小。体现出来流量控制的特点。
TCP报文首部字段控制窗口值
例如:接受窗口较小,发送方发送窗口较大,会以很快的速率发送,需要由接口窗口通过向TCP报文首部字段更改窗口值,去调整发送方的发送速率!

TCP特点——05 拥塞控制

  • 慢开始、拥塞控制

纵轴代表:交互次数或者轮询次数
横轴代表:窗口值的大小

image.png

1、开始发送2个报文,没发生拥塞继续发送4个报文,指数增长。此阶段是慢开始
2、当增长到门限值的时候,会采用拥塞避免的算法,16,17~24线性增长
3、如果连续3个ack都没收到的话,就认为发生了网络拥塞。使用乘法减小,恢复到只发送一个报文,重新慢开始
同时门限值降低为原来的一半(24降级为12)重复上述流程。

  • 快恢复,快重传
    到达拥塞上限时,在新的门限值,进行操作,不重新进行慢开始

相关文章

  • Unity高级-Socket

    传输层协议 TCP协议 和 UDP协议 属于传输层协议 TCP(Transmission Control Prot...

  • iOS面试:网络通信概念

    TCP与UDP TCP和UDP都是传输层的协议: TCP是传输控制层协议,是面向连接、可靠的,点对点的;UDP是用...

  • tcp、http和socket的区别

    一:tcp协议 tcp协议属于传输层协议(UDP也属于传输层协议,但是UDP协议是无状态的)。建立一个TCP连接需...

  • TCP和UDP

    TCP协议为TCP/IP协议;UDP为UDP/IP协议。TCP和UDP都是对应网络七层协议上的传输层。IP属于网络...

  • TCP/UDP

    1.TCP和UDP的区别? TCP:传输控制协议 UDP: 用户数据报协议 TCP/UDP 都是面向传输层协议 1...

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • 2020-03-25【网络基础知识】

    HTTPS 建立连接流程 TCP&UDP 传输层协议TCP 传输控制协议UDP 用户数据报协议 一、UDP 1.特...

  • 网络-传输层

    传输层协议 TCP(Transmission Control Protocol),传输控制协议 UDP(User ...

  • 传输层

    传输层的功能:传输层寻址和端口;无连接服务和面向连接服务 UDP协议:UDP数据报,UDP校验 TCP段:TCP连...

  • ☆技术问答集锦(四)

    2 TCP 与 UDP 网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议;传输层:TCP协...

网友评论

      本文标题:TCP/UDP传输层协议

      本文链接:https://www.haomeiwen.com/subject/dztdcctx.html