TCP、UDP
创始人
2024-06-01 05:35:30
0

      • TCP和UDP
      • TCP
          • 报头
          • 三次握手,四次挥手
          • 确认机制(重传ARQ)
          • 重传机制
          • 拥塞控制(慢开始-拥塞避免,快重传、快恢复)
          • 流量控制(滑动窗口)
          • 差错控制(校验和)
      • UDP
          • 报头

TCP和UDP

TCPUDP
传输层传输层
面向连接,可靠,全双工,连接可管理(不丢,顺序,无错)无连接,不可靠,一对一,一对多,多对一,多对多
面向字节流:应用程序每次交给TCP一个数据块,存储与TCP缓冲区,作为无结构字节流,经TCP拆分,选适合长度发送面向报文:应用层交给UDP的报文保留报文边界,原样发送,每次一个数据段,当过大时,由IP层分片(效率低)
传输单位TCP报文段用户数据报 ip包中协议号17
优缺点安全,速度,效率低,稳定,有状态不安全,快,不稳定,无状态
机制流量控制(滑动窗口)不分组,组装排序
差错控制(校验和)由应用层负责可靠,ip层提供不可靠包交换
拥塞控制(慢开始-拥塞避免,快重传、快恢复)网不好时易丢包
三次握手,四次挥手少攻击
确认机制(重传ARQ)耗时,占用资源,容易被攻击
应用效率要求低,准确性高,要求有连接效率要求高,准确性低
eg:文件传输(FTP,HTTP)准确,慢即时通信(qq)
发送接受邮件(POP,IMAP,SMTP)准确,慢在线视频
远程登录(talent,SSH)准确,有连接网络语音(TFTP)
编程模型在这里插入图片描述在这里插入图片描述
客户端连续发送&服务器缓存足够大一次接收,无边界UDP多次连接,发一次,收一次,有边界

TCP

报头

在这里插入图片描述

源端口:2B,大于1023的16位数,由基于tcp应用的用户进程随机选择
目的端口:2B,由应用程序指定
顺序号:4B,32bit无符号数,范围0~2^32 -1,TCP源向目的发送数据字节流,用顺序号对每个字节计数,表示该报文段中第一个数据字节的顺序。当建立连接SYN=1时,表示该主机选择的该连接的初始顺序号ISN
确认号:4B,发送确认一端期望收到的下一个顺序号,当ACK=1时有效
数据偏移:4bit,报头中32bit字的数目(报头长度)
保留区域:6bit,未来使用,置0
控制位:6bit

URG“1” 紧急指针有效
ACK“1” 确认号
PSH“1” 接收方应尽快将报文交给应用层,不用等等缓冲区满
RST用于复位由于主机崩溃或者其他原因而出现的错误连接,拒绝非法报文段/连接请求。 当RST=1时必出问题
SYN同步序号 “1” 连接请求,用于建立连接和使序号同步
FIN释放连接 “1” 关闭本端数据流

窗口大小:2B,0~2^16 -1,从确认号开始源端可以接收的字节
校验和:2B,对整个TCP报文,发送端计算存储,接收端验证
紧急指针:2B,+顺序号=紧急数据最后一个字节的序号,URG=1时有效
选项和填充:4n B(保证为整数字节),连接方在通信的第一个报文段中指明该选项,指明本端能接收的最大长度报文段(MSS)
伪首部
源ip(4B)+目的ip(4B)+0(1bit)+6(1bit)+TCP长度(2bit)

三次握手,四次挥手

目的

  • 消除旧连接请求SYN对新连接的干扰
  • 同步连接双方的确认号,序列号
  • 交换TCP窗口大小

三次握手后,得到双方序号,最大接收数据大小,以及MSS(最大分段大小)
MSS=MTU(以太网最大传输单元,一般为1500B)-IP头(20B)-TCP头(20固定+12可选)=1448B(1460B)
∴当应用层数据>MSS时,分段发送

确认机制(重传ARQ)
  1. 尽量不发ACK包(ACK包不消耗seq),最好发其他消息时捎带ACK
  2. 任何时候,不超过两个未确认的段(够两个就发ACK)
  3. 延迟确认收到数据后延迟200ms(看是否有其他数据发/收,满足①②)
  4. 当收到的段seq>预期的seq,立即发ACK(快重传)
  5. 收到重复段,丢弃包,立即发ACK(快重传)
  6. 收到缺失段,发ACK

回复按序收到的最后一个序号的确认号(对最后一个数据重复确认)
∴多余ACK为冗余ACK

重传机制

在往返时间RTT(TCP动态估算RTT)内未收到确认,则重传&下一次超时间隔=2倍的RTT
收到三个冗余ACK——>快重传

拥塞控制(慢开始-拥塞避免,快重传、快恢复)

慢开始:拥塞窗口cwnd=1MSS,传输首次被确认则翻倍,直到丢包为止
eg:cwnd=1,阈值ssthresh=cwrd/2
拥塞避免:每RTT,cwnd+1MSS
快速恢复
每个冗余ACK,cwnd+1MSS
收到对丢失报文的ACK,降低cwnd,进入拥塞状态
若出现超时,进入慢开始状态

流量控制(滑动窗口)

收/发双方各有一个窗口大小,防止对方发消息过快
收/发双方各有一个缓冲区,根据窗口大小,已发字节,期待字节,计算可发字节
建立确认重传机制,收到ACK,移动窗口
自动重传请求ARQ

  1. 停止等待ARQ,窗口为“1”,不确认不发送,信道利用率低
  2. 连续ARQ:窗口(后退N帧),重传后面的

选择重传:将出错的帧后面的帧存于缓冲区,按顺序交给网络层,接受不按顺序

差错控制(校验和)

UDP

伪首部
源ip(4B)+目的ip(4B)+0(1bit)+17(1bit)+UDP长度(2bit)

报头

源端口2B+目的端口2B+长度2B+校验和2B

相关内容

热门资讯

开晨会需要说什么内容 开晨会需要说什么内容晨会说的内容可以很多呀,可以说接下来的工作安排,也可以说,前期工作中的一些总结,...
有谁知道在鬼吹灯有声小说中前面... 有谁知道在鬼吹灯有声小说中前面有一段小女孩的声音念:人点烛 鬼吹灯... 这个版本的故事是谁讲的?周...
小蒂皮出自哪本书 小蒂皮出自哪本书小蒂皮出自哪本书我的野生动物朋友(蒂皮·本杰明·奥康迪·德格雷著图书)《我的野生动物...
盘古开天辟地的故事 盘古开天辟地的故事很久很久以前,天和地还没有分开,宇宙混沌一片。有个叫盘古的巨人一直睡在这混沌之中。...
英雄联盟中 赏金猎人怎么样? ... 英雄联盟中 赏金猎人怎么样? 多少钱 金币3150的ADC。入手的话不会吃亏,基本不会压箱底,很热门...
寻找一部累死何以笙箫默之类的小... 寻找一部累死何以笙箫默之类的小说也是辛夷坞的,叫山月不知心底事那就它的作者顾漫的其他小说呗 微微一...
大家谈谈对洪荒小说之中圣人的看... 大家谈谈对洪荒小说之中圣人的看法圣人不死,大盗不止都是人 人有的情绪他们都有 就是拳头大些对...
单位体检,自己一个人去害怕撞到... 单位体检,自己一个人去害怕撞到同事怎么办,不想别人看到观察我,漏出我不成熟样子,显出我的丑态。这让单...
鱼在天上飞? 鱼在天上飞?“鱼在天上飞,鸟在水里游”这句话的意思是鸟儿在水中的倒影就像是在水里游,天空在水中的倒影...
我想复婚,前夫说以后再,我改变... 我想复婚,前夫说以后再,我改变好了,他有可能追我,现在不想复婚,他有喜欢的女人了,我们就不可能了吗感...
原神草神什么时候复刻 原神草神什么时候复刻原神草神复刻是在3.6版本以后。草神纳西妲首次登场是逗腊3.2版本,新角色想要等...
网络拽姐语录小学生? 网络拽姐语录小学生?无论谁离开了你,请你别忘了,他没来之前,你本就是一个人生活。
有一部小说,女主小时候被男主收... 有一部小说,女主小时候被男主收养了,女主叫男主哥哥,男主对女主的我也在找这个小说我之前也看了,好像叫...
高层建筑立面大面积粉刷需要设伸... 高层建筑立面大面积粉刷需要设伸缩缝吗?高层建筑立面大面积粉刷需要设伸缩缝需要的,无正举论地面或立念清...
低头思故乡,为什么把杯思在长,... 低头思故乡,为什么把杯思在长,情愿何处在方歌曲叫什么名字“李白的歌”离开了家乡 背着沉沉的行囊开始了...
李白的诗有多少 李白的诗有多少典故中大多说是三千至四千首,现存不足一千首很多,总之不少~李白一生留下了九百六十多首诗...
怎么才可以学会拿得起放得下……... 怎么才可以学会拿得起放得下…… 有一段感情,正整3年了,可是我还是觉得分手那天就好像昨天发生的一样替...
为什么官方直播间买手机送耳机 为什么官方直播间买手机送耳机吸引消费者,增加销售量。官方直播间作为官方的直播平台,买手机送耳机是为了...
自考通还是一考通好?该选哪个? 自考通还是一考通好?该选哪个?我现在自考行政管理专科。专业课程我应该选自考通好还是一考通好呢?这个很...
淘宝实际付款价格为什么与订单价... 淘宝实际付款价格为什么与订单价格不符是这样的,我买了一双鞋,当时限价160我拍了下来,当时没付款,后...