计算机网络中rdt是什么意思,计算机网络: 传输层

本文介绍了传输层的作用,包括TCP和UDP协议的特点。TCP提供可靠的连接,具有流量控制和拥塞控制机制,而UDP则简单快速但不可靠。此外,文章讲解了可靠数据传输rdt的概念及其演化,包括停止等待协议、Go-Back-N和Selective Repeat策略。
摘要由CSDN通过智能技术生成

TCP 和 UDP 大家应该都听说过,也是面试中比较常见的内容,这两个协议都是在传输层的。这篇文章会讲述 TCP 和 UDP 里面实现的内容。

传输层是干什么用的

在学习一个东西之前我们应该先看要这个东西干嘛用的,传输层主要提供以下服务:

发送方将应用层的 Message 转成 Segment

接收方将接收到的 Segment 转成 Message,再给应用层

一般用于不同主机之间的进程交流

这里要和网络层对比一下,网络层主要用于两个主机(设备)间的交流,而传输层是用于进程之间的交流。

f7a752b4835f

好像很简单呀,不就数据上传到下,下再传到上么?在理想情况下就是这么简单,但是实现总是不如意嘛。

多路复用

这也叫 Multiplexing,为什么要有这个东西呢?因为在计算机里每个进程向外面传数据都要通过不同 Socket 的,Multiplexing 就是将一个计算机里不同 Socket 数据集合到一个 Data 里再加上 Header,传给别的主机。别的主机收到后,再将这个大 Data 分成小块,将这些小块送到对应进程使用的 Socket 中,这个过程叫做 Demultiplexing,就是反过来用。

f7a752b4835f

端口号

现在我们来想一个问题,上面 Multiplexing 里数据集合很容易呀,可以用一个数组存一存,那 Demultiplexing 怎么知道要送到哪个 Socket 呢?这就需要端口号了。

每个进程都会对应一个端口号,比如 8080 我们特别熟悉的,一般对应 Tomcat 进程或者别的本地服务器进程。每个进程向外发送的信息都会带有 这样的组合,来告诉接收方我应该要将信息发给哪个进程。

下面是一个例子:

f7a752b4835f

上面进完怎么将信息送到对应的进程,下面就来说说信息是怎么传输的,这就要说到我们很耳熟的两个协议——UDP,TCP。

UDP

特点

先来说说 UDP 的特点

Connectionless

接收方和发送方都没有 Handshaking,也就我们所说的握手过程,后面会说到握手

Unreliable

UDP 的包丢了不会去恢复,丢了就丢了

UDP 的包是乱序的

没有 Congestion Control

没有 Flow Control

上面这两个 Control 会在 TCP 里讲,因为 TCP 要写的太多了。。。

格式

一个基础的 UDP 包格式如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值