传输层(TCP三次握手以及四次挥手);TCP与UDP的区别

TCP与UDP区别:

  1. TCP面向连接的协议,UDP是无连接的协议

传输层:

OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用该层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务

传输层协议:

  1. UDP
  2. TCP

无连接不可靠的服务(UDP)

提供不可靠的数据传输,又称“尽力而为”的服务

在UDP收发双方之间,无需握手建立连接

数据丢失(可能)

写信:只管发,不确定能不能发到,甚至不知道收件人是否存在

是面向连接的(TCP),可靠的进程到进程通信的协议

打电话

三次握手原理:

客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应

大白话如下所示:

四次挥手原理:

 客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK。

大白话来说就是以下:

三次握手握三次,为什么断开要断四次?

TCP建立连接时之所以只需要"三次握手",是因为在第二次"握手"过程中,服务器端发送给客户端的TCP报文是以SYN与ACK作为标志位的。SYN是请求连接标志,表示服务器端同意建立连接;ACK是确认报文,表示告诉客户端,服务器端收到了它的请求报文。即SYN建立连接报文与ACK确认接收报文是在同一次"握手"当中传输的,所以"三次握手"。

当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端,“你发的FIN报文我收到了”。只有等到我服务端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。

2,TCP的协议是可靠的,UDP是“尽力传输”

TCP的传输可靠性:

  1. 确认机制
  2. 重传机制
  3. 排序机制
  4. 流控机制(滑动窗口机制)

窗口值大小:同时发数据包的个数

3,TCP可以实现流控,UDP不行

4,TCP可以进行数据分段,UDP不行

5,TCP消耗资源较大,传输速度慢,UDP消耗资源较小,传输速度快

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值