TCP和UDP

两者的详细情况请看:一文搞定 UDP 和 TCP 高频面试题! - 知乎 (zhihu.com)

基本概念

1、 计算机网络体系

计算机网络体系结构分为3种:OSI体系结构(七层),TCP/IP体系结构(四层),五层体系结构。

attach/26f13f64737c3f414d466296c62aea5a_MD5.webp

TCP/IP与OSI最大的不同在于:OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。

2、五层网络体系结构概述

看一下五层网络体系结构各层的主要功能:

attach/3bb7565d33e4aa2d889bac629125d6e3_MD5.png

3、TCP/IP体系结构概述

TCP/IP的体系结构比较简单,只有四层。

层次名称 单位 功能 协议
网络接口 负责实际数据的传输,对应OSI参考模型的下两层 HDLC(高级链路控制协议)PPP(点对点协议) SLIP(串行线路接口协议)
网络层 数据报 负责网络间的寻址数据传输,对应OSI参考模型的第三层 IP(网际协议) ICMP(网际控制消息协议)ARP(地址解析协议) RARP(反向地址解析协议)
传输层 报文段 负责提供可靠的传输服务,对应OSI参考模型的第四层 TCP(控制传输协议) UDP(用户数据报协议)
应用层 负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层 FTP(文件传输协议) HTTP(超文本传输协议) DNS(域名服务器协议)SMTP(简单邮件传输协议)NFS(网络文件系统协议)
这种四层协议数据交换的示意图如下
attach/8c4d1c1f82a658d5629345a1c89dee38_MD5.webp

4、三种模型对比

attach/3040a778b148c9a0df6c525dce522b96_MD5.webp

参考:
【1】:谢希仁编著 《计算机网络》
【2】:网络篇(一):所谓的四层结构和七层结构
【3】:计算机网络模型(四层、五层、七层)
【4】:OSI 7层模型和TCP/IP 4层模型

TCP可靠传输及时间计算

TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文段在超时时间内没有收到确认,那么就重传这个报文段。

一个报文段从发送再到接收到确认所经过的时间称为往返时间 RTT,加权平均往返时间 RTTs 计算如下:

RTTs=(1a)×RTTs+a×RTT

其中,0 ≤ a < 1,RTTs 随着 a 的增加更容易受到 RTT 的影响。超时时间 RTO 应该略大于 RTTs,TCP 使用的超时时间计算如下:

RTO=RTTs+4×RTTd

其中 RTTd为偏差的加权平均值。

TCP和UDP区别

1. 基于连接vs无连接

2. 可靠性

3. 有序性

4. 数据边界

5. 速度

6. 发送消耗

7. 报头大小

8. 拥塞或流控制

9. 应用

10.上层使用的协议