前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络工程师从入门到精通-通俗易懂系列 | 几句话就能把TCP和UDP讲透,三次握手、四次握手so easy!

网络工程师从入门到精通-通俗易懂系列 | 几句话就能把TCP和UDP讲透,三次握手、四次握手so easy!

作者头像
网络技术联盟站
发布2019-07-23 11:26:06
4540
发布2019-07-23 11:26:06
举报

传输层作用

在传输数据之前,首先建立连接,协商参数

将数据进行分段,符合传输介质的限制要求

因为数据分段,所以要进行重组

提供端口号,根据不同的端口号,将数据发送到相应的应用层协议

不同的场合,环境,应用,使用不同的传输层协议

TCP

面向连接

发送数据之前,首先先找到对方建立一个连接,相当于一个逻辑通道。

可靠协议,效率低

每收到一次数据,要进行确认,保证对方确定收到了这个数据。

TCP需要三次握手

就好比打电话,需要经过拨号,振铃,接通。才能进行讲话

过程:

A、我要跟你建立连接

B、好的,我知道了,我也要跟你建个连接

A、我知道你收到了我的连接请求,我也收到了你的连接请求

滑动窗口:

主要为了避免一次性发送的数据过多,导致对方缓存溢出。

滑动窗口是动态协商,也就是说,在建立连接的时候,就会进行协商

同时,在缓冲区发生变化的时候,也会进行协商。

TCP四次挥手

主要为了避免当一方断开连接,而另一方不知道的情况下,需要耗费资源去维护本该断开的连接

过程:

假设三次连接已经建立完成

A、我要跟你断开连接了

B、好的,我知道你要断开连接了

B、我也要跟你断开连接

A、好的,那就断开连接把

UDP

不需要建立连接,也不需要进行确认

尽力而为,效率相比TCP要高

比如对讲机,拿起来就说,而不管对方有没有收到,

直播视频,使用UDP协议

点播视频,使用TCP协议

TCP/UDP协议都是工作在传输层中

在传输层,有一个概念,叫做端口号

每一个端口号,对应一种应用层协议,比如端口号80,代表HTTP协议

而应用层协议,规定了使用何种传输协议来进行传输

比如,你访问网页,使用HTTP,端口号为80,那它是使用TCP来进行传输的

比如,你进行域名解析,使用DNS,端口号为53,那么它就是使用UDP协议

三种类型:

知名端口号 0-1023,以及分给特定的协议,不能随便使用

如果要使用,需要向互联网编号分配机构申请(IANA)

注册端口:有限的使用 1024-49511,比如8080,是作为80的补充,已经注册

私有端口:随意使用 49512-65535,

正常情况下:源端口为随机生成,目的端口为知名端口

比如你访问网页,源端口由你电脑随机分配,目的端口是80

TCP分段重组

为何分段:

因为数据传输大小受限于传输链路,或者介质的要求。

当超过限制,TCP就把大的数据拆分成一个个小段

TCP分段,基于MISS,动态协商

一般是1500-40字节(20字节IP头部,20字节TCP头部)

因为数据被分段了,那么在传输的过程中,由于链路等其他的因素

收到的数据包顺序不一致,就会出现错误

所以,在分段的时候,对每个段进行编号,当对方收到的时候,按照序号进行排列,

保证数据的准确性。

UDP不会进行分段,UDP分段基于以太网中的MTU

并且UDP不会进行数据重组,而是按照先来后到的顺序

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档