通俗版 TCP/UDP三次握手 四次握手

传输层作用
在数据传输之前,首先建立连接,协商参数
将数据进行分段,符合传输介质的限制要求
因为数据分段,所以要进行重组
提供端口号,根据不同的端口号,将数据发送到相应的应用层协议
不同的场合,环境,应用,使用不同的传输协议

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不会进行数据重组,而是按照先来后到的顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值