首页 > 其他分享 >TCP/UDP学习笔记

TCP/UDP学习笔记

时间:2022-08-15 10:55:30浏览次数:90  
标签:UDP ACK 笔记 发送 TCP 序列号 连接

TCP/UDP学习笔记

相同点:

image-20220815092212010

1.都工作在传输层

2.都在程序之间传输数据(二进制文件),可以是文件、视频、图片等

image-20220815092652787

不同点:

TCP:面向连接(握手挥手)、完整可靠(丢包重发)、顺序(序列传输)

三次握手(建立连接)

image-20220815095502365

为什么三次握手而不是两次握手?

防止已失效的SYN报文突然传到服务器引起错误。(解决网络信道不可靠问题)

image-20220815095827364

SYN包在某一网络节点阻塞,滞留一段时间后到达服务端,此时服务端收到两个SYN包,误认为两个连接,而客户端人为只有一个连接

传输确认(全双工,客户端服务端均采用此机制)

image-20220815100244758

1.TCP为每一个连接建立发送缓冲区,每字节序列号增加1

2.发送报文时,由序列号、长度和部分数据内容组成发送报文

3.接收报文时,需要回复ACK,ACK = 序列号 + 长度 =下一包起始序列号 (发送端可以发送连续多包数据,接收端只需要回复一次ACK)

4.丢包重发:比如丢失了100-199 这100个字节,接收端向发送端发送ACK = 100,发送端收到后重发

四次挥手(关闭连接)

image-20220815101248492

为什么客户端需要超时等待(TIME-WAIT)?

为了保证服务器收到ACK包,一旦ACK包在网络中丢失,服务端将一直停留在最后确认状态,会重发FIN包,客户端会响应这个FIN包重发ACK包,并刷新超时时间

UDP:非连接、不可靠(即发即忘)、网络开销少、实时性强

image-20220815103626648

隧道网络:UDP应用场景

image-20220815103859321

参考视频:https://www.bilibili.com/video/BV1kV411j7hA?vd_source=a7311bbda5c9123be5ab119dcdea3e5c

标签:UDP,ACK,笔记,发送,TCP,序列号,连接
From: https://www.cnblogs.com/cwBug/p/16587487.html

相关文章

  • mybatis事务-支付流程笔记-含建表代码
    相关表:SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforgoods_info------------------------------DROP......
  • HCIA学习笔记十七:Trunk接口
     一、配置Trunk接口\\创建VLAN[SWA]vlan3[SWA]vlan5\\配置端口类型[SWA-Ethernet0/3]portlink-typetrunk\\配置Trunk-Link端口PVID[SWA-Ethernet0/3]port......
  • SpringMVC笔记
    SrpingMvcSSM:Spring+SpringMvc+MybatisMvc三层架构狂神说SSM框架系列笔记链接:http://dwz.date/ac271、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、......
  • 画图TCP协议和三次握手及四次挥手
    1.TCP协议1.1.TCP特性1.TCP提供一种面向连接的、可靠的字节流服务在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP2.TCP使用校验和,确认和重传机制来保......
  • Nginx学习笔记
    Nginx简介Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,Nginx和Apache的区别Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;......
  • HCIA学习笔记十六:Access接口
    一、配置Access接口属性 • Access端口收报文:如果收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果收到对端设备发送的帧是tagged(带VL......
  • (未完)【算法学习笔记】04 最近公共祖先LCA
    【算法学习笔记】04最近公共祖先LCA原理顾名思义,就是求两点的最近公共祖先(自己也是自己的祖先)。也就是两点在走到根节点的路径上最先遇到的共同的点。向上标记法比较......
  • 动手学强化学习(笔记)
    RLChina强化学习社区动手学强化学习官方网站第3章马尔可夫决策过程MDP3.3MRP回报价值函数3.4MDP状态价值函数动作价值函数这两个价值函数是相互融合的......
  • Java8新特性学习笔记
    java8JavaNIOjavaNIO(NewIO,Non-BolckingIO)是从java1.4版本引入的一套新的IOAPI,可以替代标准的javaioapi。nio支持面向缓冲区的(io是面向流的)、基于通道的IO操作......
  • TS学习笔记(1)
    TypeScript是JavaScript的超集,因为它扩展了JavaScript,有JavaScript没有的东西。硬要以父子类关系来说的话,TypeScript是JavaScript子类,继承的基础上去扩展。TS是出现是为......