校招面试 - 计算机网络 - 传输层协议详解 - TCP/UDP

目录

1.1 UDP协议头部

1.2 TCP协议

1.3 UDP VS TCP

​​​​​​​1.4 面试常见问题

校招面试 - 计算机网络 - 传输层协议详解 - TCP/UDP

端口

  1. IP地址识别主机,端口判断主机网络进程
  2. Socket 套接字:IP + 端口
  3. 端口:16 bit, 0 ~ 65535

1.1 UDP协议头部

UDP协议:

  1. 16位源端口号:标识源进程
  2. 16位目的端口号:标识目的进程
  3. 16位UDP长度:标识UDP报文数据的长度
  4. 16位UDP校验和:附加的数据的标识,判断数据是否有出错

​​​​​​​1.2 TCP协议

16位源端口

16位目的端口

序号

确认号

数据偏移

保留字段

控制位

窗口

校验和

紧急指针

TCP选项(可选)

填充

TCP协议

  1. 序号:32 bit, 4byte, 0 ~ 4294967295
    1. 标识TCP数据字节的序号,TCP数据是字节流 -- 每个字节都有唯一的序号
    2. 起始序号在建立TCP连接的时候设置
    3. 序号表示该报文段数据的第一个字节的序号
  2. 确认号:4 byte
    1. 期待收到对方下一个报文的第一个数据字节序号 -- 和序号关联
    2. E.g. 确认号=N,则到序号N-1为止所有数据都已经正确收到,希望下一个数据序号为N
  3. 控制位:6 bit
    1. URG: Urgent 紧急位,URG=1 表示紧急数据
    2. ACK: Acknowledgement: 确认位,ACK=1, 确认号才生效
    3. PSH: Push 推送位,PSH=1, 尽快地把数据交付给应用层
    4. RST: Reset 重置位,RST=1, 重新建立连接
    5. SYN: Synchronization 同部位,SYN=1 表示连接请求报文
    6. FIN: Finish 终止位,FIN=1 表释放连接
  4. 窗口:2 byte, 0 ~ 65535
    1. 指明允许对方发送的数据量
    2. 数据缓冲空间有限,不能无限缓存数据

1.3 UDP VS TCP

  1. 复杂度:TCP头部更复杂
  2. TCP提供可靠的有连接服务
    1. 建立连接 -- 通过连接进行通信 -- 释放连接
    2. 可靠传输:无差错,不丢失,不重复
    3. 按序到达:数据有序
  3. UDP提供不可靠的无连接服务:只管发送,不保证其他
  4. 性能:UDP负载低,TCP负载高
  5. 速度:UDP速度快,TCP速度慢
  6. 实现难度:UDP实现简单,TCP实现复杂
  7. 应用场景:UDP简单场景,TCP复杂场景

应用

应用层协议

传输层协议

名字转换

DNS 域名系统

UDP

文件传送

TFTP 简单文件传送协议

UDP

流式多媒体通信

-

UDP

IP地址配置

DHCP 动态主机配置协议

UDP

电子邮件

SMTP 简单邮件传送协议

TCP

文件传送

FTP 文件传送协议

TCP

远端终端接入

TELNET 远程终端协议

TCP

WWW

HTTP 超文本传输协议

TCP

​​​​​​​1.4 面试常见问题

TCP 协议与UDP协议有什么区别?

校招后端面试专题系列- 持续更新校招面试 - 计算机网络 - 传输层协议详解 - TCP/UDPhttps://blog.csdn.net/weixin_53800464/article/details/123071002校招后端面试 - 高频面试题校招面试 - 计算机网络 - 传输层协议详解 - TCP/UDPhttps://blog.csdn.net/weixin_53800464/article/details/123126220

上一篇:Navicat [ERR] 1418 解决方式


下一篇:Nodejs后端:验证表单数据