端到端协议

本文详细介绍了传输层的两种主要协议:UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)。UDP提供简单的多路分解服务,允许进程间通信,但不保证可靠性或有序性;而TCP则提供了可靠的字节流服务,具有连接建立、流量控制、拥塞控制等特性,确保数据的可靠、有序传输。文中还探讨了TCP的三次握手、滑动窗口算法以及自适应重传机制。
摘要由CSDN通过智能技术生成

端到端协议 第五章

从前几章研究的主机到主机的分组传递服务到转向进程到进程之间的通信信道,这正是网络体系结构中传输层(transport)的任务,由于它支持端点应用程序之间的通信,因此传输层协议有时也被称为端到端(end to end)协议。

因特网提供尽力而为(best-effort)的服务,为满足应用程序所需的高级服务,不同传输层协议用于不同的算法组合。代表性的4种有:一个简单的异步多路分解服务,一个可靠的字节流服务,一个请求/应答服务和一个用于实时应用的服务。

5.1 简单的多路分解协议 (UDP)

可能最简单的传输协议是把下层网络的主机到主机的传递服务扩展到进程到进程的通信服务。任何主机上都有可能运行多个进程,因此该洗衣至少需要增加一个多路分解功能,以便每台主机上的多个进程能够共享网络。除此之外,传输协议不再下层网络提供的服务增加任何其他功能。因特网提供的用户数据报协议(User Datagram Protocol),就是这样的传输协议。

值得注意的是标识目的进程的地址形式(可以用操作系统赋予的进程标识符pid使进程之间直接地相互识别,但无法扩展至多个不同的系统),UDP采用的方式是使用一个称谓端口port的抽象定位器,使进程之间能够间接的相互识别。基本思想是源进程向端口发送消息而目的进程从端口接收消息。 <主机,端口>构成了UDP协议的多路分解密钥。

如何相互知道进程端口号? 策略是服务器进程在一个知名端口well-known port接收消息,即知名端口只有一个。有时候,知名端口仅仅是通信的开始点:客户机和服务器用这个端口达成一致,并在另外一个端口进行后续的通信,以便释放知名端口给其他客户进程使用。

一般来说一个端口是由一个消息队列实现的,当一个消息到达时,协议会把该消息加到队列的末尾,如果队列满了,消息会被丢弃。这里并没有让发送发减慢发送速度的流量控制机制。

虽然UDP没有实现流量控制或可靠的/有序的传输,但它不仅仅是简单地把消息多路分解给某个应用进程,而是多做了工作,通过在首部中的校验和部分进行校验确保消息的正确性。

5.2 可靠的字节流 Transmission Control Pro

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值