UDP/TCP协议

传输层重要协议:进程到进程

一、UDP

用户报文协议,和TCP对比,UDP不可靠、无连接、面向报文。

1、网络的基本情况就是不可靠的。

A主机->B主机,期间可能要经过很多的路由器来中转的。

①没有谁能保证数据一定是可以发生到对方的,可能丢失(丢包)。

②即使数据发送给对方了,也不能保证数据就是无差错的(不考虑有人故意修改数据的情况)。

③依次发送多个数据后,不能保证接收方按照发送顺序接收到数据(乱序)。

2、UDP作为一种最简单的传输层协议,基本上没有做什么的操作来帮助用户处理复杂的网络环境,所以UDP保留下来这种不可靠的特性。

3、UDP报文的头信息(header)

4、checksum的作用&简单的工作机制

①判断收到的报文(数据)是否出现差错的;

②利用hash函数的原理:通过设计一种hash函数,达到冲突率很低的一种情况;

发送端:checksum(payload)=>校验和1      把校验和1填写到UDP的header中

接收端:checksum(payload)=>校验和2      比较校验和2 和 header中的校验和1

如果不等:payload在传输过程中一定出现差错了

如果相等:大概率payload没有出现差错

③针对校验和可以对上的情况,正常接收数据。

针对校验和对不上的情况,直接丢弃包:UDP不是特别可靠。

 UDP协议的最适用场景:对实时性要求较高,对可靠性要求较低的场景——实施聊天(语言、视频聊天);UDP支持广播。如果有广播需求,也可以考虑用UDP。

二、TCP协议

传输控制协议。

目标:以进程为单位传输数据;追求可靠性。

1、什么是可靠性

TCP只能保证尽自己最大的可能,把数据有序地发送给对方,但不能保证一定能发送给对方。

①尽可能去发送给对方;

②即使发送不过去,也有反馈;

③保证对方接收是有序的;

④保证对方不会收到有差错数据;

⑤TCP会设计一些机制,来尽可能的优化网络,提高对方收到的可能性。

 

 

 连接对象:平时理解,双方通信的代表。对于TCP协议栈,维护信道相关的一组数据。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值