TCP和UDP的区别(基础篇):

     我们先来谈谈TCP/IP协议:TCP/IP包括很多协议,其中就包括UDP协议,TCP/IP协议集包括:应用层,传输层,网络层,网络访问层。

应用层包括:

1、超文本传输协议(HTTP):万维网的基本协议;
2、文件传输(TFTP简单文件传输协议);
3、远程登录(Telnet),提供远程访问其它主机功能, 它允许用户登录internet主机,并在这台主机上执行命令;
4、网络管理(SNMP简单网络管理协议),该协议提供了监控网络设备的方法, 以及配置管理,统计信息收集,性能管理及安全管理等;
5、域名系统(DNS),该系统用于在internet中将域名及其公共广播的网络节点转换成IP地址;

传输层:

1、提供应用进程间的通信;我们的计算机上运行着多个应用程序,而每个程序却能够准确与对应服务器进行通信,你知道这是为什么吗?我们需要引出一个概念:端口。
什么是端口?当我们上网时,可能有一部分网站在输入网址后跟上:(数字),这里网址后的数字就是我们的端口号。常见的端口号有web服务器的80端口,ftp服务器的21和20端口,SMTP的25端口等。这些都是服务器端的端口,当我们的客户机和服务器进行连接时,会分配一个端口号,这就是识别进程的唯一标识。传输层通过端口提供端到端的逻辑通信,传输层好像沿着水平方向传输数据,但事实上传输层之间没有水平方向上直接的物理连接。

2、复用和分用。复用是指不同应用进程可使用同一个传输层协议传输数据,分用则是指接收方的传输层在剥去报文首部以后可以将数据发送到对应的进程;

3、差错检测;

4、提供TCP和UDP两种协议。当采用TCP协议时,尽管下面的网络是不可靠的,它却能提供逻辑上的可靠信道。而当采用UDP时,逻辑信道仍是不可靠的,只是尽力保证交付数据;

网络层包括:

1、Internet协议(IP);
2、Internet控制信息协议(ICMP);
3、地址解析协议(ARP);
4、反向地址解析协议(RARP);

网络访问层:

网络访问层又称作主机到网络层(host-to-network);

TCP协议和UDP协议的分析及区别

TCP:

       传输控制协议,是面向连接的协议;在收发数据前,必须和对方建立可靠的连接。 一个TCP

连接必须要经过三次“对话”才能建立起来,

目的是确认通信双方,手法消息都是正常没问题的

 四次挥手如下图所示:目的是确保双方数据的收发已经完成,没有数据丢失

 

TPC协议特点:

1. 面向连接、可靠通信。
2.TCP的最终目的:要保证在不可靠的信道上实现可靠的传输
3.TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接

UDP:

       UDP是面向无连接的、不需要确认双方是否存在,所以它是不可靠的协议。Java提供了一个类叫DatagramSocket来完成基于UDP协议的收发数据。使用DatagramSocket收发数据时,数据要以数据包的形式体现,一个数据包限制在64KB以内

        具体流程如下图所示:假设我们把DatagramSocket看做是街道两天的人,现在左边的人要扔一盘韭菜到右边,这里的韭菜就是数据,但是数据需要用一个盘子装起来,这里的盘子就是DatagramPacket数据包的意思。通信双方都需要有DatagramSocket(扔、接韭菜人),还需要有DatagramPacket(装韭菜的盘子);

UDP协议特点:

1.无连接,不可靠通信,但是通信效率高 ! 一般用于视频直播,语音通话等。

2.不事先建立连接,数据按照包发,一包数据包含:自己的IP、程序端口,目的地IP、程序端口和数据(限制在64KB内)等。
3.发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不返回确认,故是不可靠的。

小结TCP与UDP的区别:

1、基于连接与无连接;

2、对系统资源的要求(TCP较多,UDP少);

3、UDP程序结构较简单;

4、流模式与数据报模式 ;

5、TCP保证数据正确性,UDP可能丢包;

6、TCP保证数据顺序,UDP不保证。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值