简析tcp和udp区别

名词解释:
协议:计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。

TCP/IP 是互联网相关的各类协议族的总称,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等都属于 TCP/IP 族内的协议。

TCP/IP模型是互联网的基础,它是一系列网络协议的总称。这些协议可以划分为四层,分别为链路层、网络层、传输层和应用层。

  • 链路层:负责封装和解封装IP报文,发送和接受ARP/RARP报文等。
  • 网络层:负责路由以及把分组报文发送给目标网络或主机。
  • 传输层:负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文。
  • 应用层:负责向用户提供应用程序,比如HTTP、FTP、Telnet、DNS、SMTP等。

在这里插入图片描述
UDP:
UDP全程是用户数据报协议.和TCP一样处理数据包,是一种无连接的协议.在OSI模型(如上)中在第四层(传输层).
缺点:当报文发送以后,就无法得知其是否安全完整到达.

特点:
1.面向无连接
UDP不需要三次握手建立连接,想发送数据就可以开始发送了,而且数据报文也只是搬运工,不会拆分和拼接数据
具体来说就是:

  • 在发送端,应用层将数据给传输层UDP,UDP只会给数据加一个UDP头,就直接给网络层了.
  • 在接受端,网络层把数据给传输层,UDP只是去除IP报文头就给应用层.不进行任何操作

2.单播,多播,广播的功能
UDP不是一对一的,可以一对多多对多,多对一

3.UDP是面向报文的
发送方UDP对应用层交下来的报文在添加首部后就给网络层(OSI)第五层.既不合并,也不拆分.而是保留这些报文的边界,因此应用程序必须选择合适大小的报文.

4.不可靠性
首先体现在连接上,通信不要建立连接,想发就发,网络层收到什么输出就传输什么数据,发送方也不会管对方是否正确接到了,但是性能较好,比如电话会议,就常用UDP

5.头部开销小,传输数据报文时高效

TCP
三次握手,建立连接:
第一次握手:C端给S端一个syn请求报文端.然后C进入syn-sent(已发送)状态
第二次握手:如果同意建立连接.S端收到syn,给C端回一个syn和ack的应答
第三次握手:接到syn和ack以后,同意建立连接就发一个ack

四次挥手,断开连接
第一次:如果C端认为数据已经发送完成,则发送一个fin报文
第二次:S端收到fin,先发送ack进入close_wait,此时C到S连接已经释放,但是TCP是双向的,S到C还可以发送数据
第三次:如果还没有完成发送数据回继续发送,完毕以后向C发送fin(释放连接请求)B进入last-ack
第四次:A收到fin以后,向B发送确认应答(ack),进入time_wait(2*msl) 如果没有收到B请求,就进入CLOSED的状态

TCP协议特点
1.面向连接:指的是发送之前必须在两端建立连接,建立可靠连接为的是给数据可靠传输建立基础.
2.仅支持单播传输:每条TCP传输连接只能有两个端点,只能点对点
3.面向字节流:TCP不像UDP一样一个个报文独立传输,而是在不保留报文边界的情况下以字节流的方式进行传播
4.可靠传输:TCP保证报文传输可靠性就给每一个包一个序号,同时序号也保证传输到接受端实体的包按序接收成功收到回一个相应的ack
5.提供拥塞机制:当网络出现拥塞时,会减少速率和数量
6.TCP提供全双工通信:(略)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值