• TCP和UDP的基本认识


    一、TCP的基本认识?

    1. 什么是TCP?TCP工作在哪一层?为什么需要TCP协议?

    答:
    TCP是 面向连接的、可靠的、基于字节流的传输控制协议,工作在传输层。
    在这里插入图片描述

    TCP的优势是可靠性,围绕可靠性说出为什么需要TCP。IP层是不可靠的,它不能保证网络包的交付。而TCP协议可以保证传输的数据
    包能够到达接收端,而且数据包之间是有序的,没有冗余,完整的。(TCP具体是通过序列号、确认应答号、重传机制来保证)

    2. TCP报文的头部格式包含哪些内容,每个作用是什么?

    答:
    源端口号、目标端口号、序列号、确认应答号、四个控制位(SYN ACK RST FIN )
    在这里插入图片描述

    二、对比TCP和UDP?

    1. 什么是UDP传输协议?UDP的头部格式包括什么?

    答:
    UDP是用户数据报协议,是一种不可靠无连接的传输层协议。
    在这里插入图片描述

    2. TCP和UDP的区别?

    答:
    连接、可靠性、流量控制和拥塞控制、服务对象、首部开销、分片不同、传输方式
    在这里插入图片描述
    在这里插入图片描述

    3. TCP和UDP的应用场景?

    答:
    在这里插入图片描述

    4. 为什么 UDP 头部没有首部长度字段,而TCP 头部有首部长度字段呢?

    答:
    原因是 TCP 有可变⻓的「选项」字段,⽽ UDP 头部⻓度则是不会变化的,⽆需多⼀个字段去记录 UDP 的⾸部⻓度。

    5. 为什么 UDP 头部有包长度字段,而TCP 头部则没有包长度字段呢?

    答:
    为了⽹络设备硬件设计和处理⽅便,⾸部⻓度需要是 4 字节的整数倍。

    6. 为什么UDP校验和要独立于IP校验和?能否将UDP报文内的整个IP数据包用一个校验和?

    答:
    因为IP校验和是针对IP首部进行计算校验的,而UDP报文封装在IP数据报中的数据区,因此需要单独计算校验和。

    不能将UDP报文所属的整个IP数据报进行校验和计算,这样会有两个缺点。

    第一个是,IP和UDP本身属于不同层次的协议,在IP数据报投递过程中,对于中间路由设备处理IP数据报时,只需要处理IP首部即可,不需要关注传输层内容,而合并校验和显然是多于的,浪费计算资源,也不利于排除错误来源。

    第二个是,在数据接收时,数据是沿着协议栈逐层向上提交的,分开计算时,当IP首部发生错误时,就不需要将数据报提交给UDP模块,合并是先提交,再计算。

    7. 既然UDP和IP都是不可靠传输协议?为什么还需要UDP传输协议?

    答:
    因为IP分组中没有端口号,不能区分不同的应用。

  • 相关阅读:
    Rancher-Kubewarden-保姆级教学-含Demo测试
    39、HumanNeRF
    [Unity3d] 网络开发基础【个人复习笔记/有不足之处欢迎斧正/侵删】
    cube开源一站式云原生机器学习平台--volcano 多机分布式计算
    react处理跨域
    Java8 日期处理详细汇总
    排序-基数排序
    SpringCloud-4.服务网关(GateWay)
    Linux命令200例:who用于显示当前登录到系统的用户信息
    Java8 Stream流
  • 原文地址:https://blog.csdn.net/weixin_39455125/article/details/125991317