01网络协议:从TCP协议到RPC协议都经历了哪些?

news/2024/11/28 20:54:06/

无论是TCP/IP四层协议还是OSI七层网络协议,传输层的TCP都是非常重要的一个网络协议,众所周知TCP是建立在IP协议之上的点对点可靠的传输协议,不同于IP和UDP,TCP有三次握手、四次挥手等机制可以确保客户端和服务端建立安全的连接和释放连接,并提供拥塞控制、滑动窗口等数据传输机制,但是由于其建立连接的复杂性,演化出了Socket,它是在TCP/IP协议上的一层封装实现,可以通过封装的函数简化用户对TCP/IP协议的使用。经过一段时间的发展,开发者发现Socket在远程调用的语法、参数传递和数据表示上还有一些不够灵活和便捷,于是又演进出了RPC协议,RPC是基于Socket的更上层的网络传输协议,对Socket进行了进一步的抽象和封装,对开发人员使用上更加的友好并且便于扩展,接下来我们就更加详细的讲述下这几种网络协议。

可靠的传输层协议—TCP

首先第一个问题,为什么要有TCP协议?

因为IP协议是不可靠的,它只负责数据包的发送,但它不保证数据包能够被接收、不保证网络包的按序交付和网络包中的数据的完整性。而TCP的出现,正是为了解决这些问题,比如TCP的三次握手就是为了建立安全可靠的连接,滑动窗口解决数据的有序性,超时重传机制则保证数据的相对完整性

TCP三次握手机制


http://www.ppmy.cn/news/19315.html

相关文章

离线召回与排序介绍

3.3 离线召回与排序介绍 学习目标 目标 了解召回排序作用知道头条推荐召回排序设计应用 无 3.3.1 召回与排序介绍 召回:从海量文章数据中得到若干候选文章召回集合(数量较多) 排序:从召回集合中读取推荐文章,构建样本特征进行排序过滤筛选…

【JavaSE专栏4】关键字、标识符和命名规范

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

JVM快速入门学习笔记(三)

9. 栈 栈:8大基本类型对象引用 栈运行原理:栈帧 程序正在执行的方法,一定在栈的顶部 9.1 JVM数据区 先上一张Java虚拟机运行时数据区中堆、栈以及方法区存储数据的概要图,如下所示: 9.2 堆 堆是存储时的单位&…

Linux下动静态库的打包与使用C C++

目录前言为什么用动静态库动态链接与静态链接底层优缺点Linux下的动静态库动静态库的对比打包静态库使用静态库打包动态库使用动态库小结win下打包动静态库前言 为什么用动静态库 我们在实际开发中,经常要使用别人已经实现好的功能,这是为了开发效率和…

OSG三维渲染引擎编程学习之二十八:“第三章:OSG场景组织” 之 “3.10 Switch开关节点”

目录 第三章:OSG场景组织 3.10 Switch开关节点 3.10.1 Switch介绍 3.10.2 Switch示例 第三章:OSG场景组织 在OSG中存在两个树:场景树、渲染树。其中,场景树是由一系列节点Node组成,这些节点Node可以是矩阵变换、状态变换,也可以是绘制对象等。场景树反映了场景的空间…

5、基本数据类型

目录 一、整数类型 二、浮点类型 三、字符类型 四、布尔类型 一、整数类型 整数类型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整 型数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。 1.十进…

学习率衰减、局部最优、Batch归一化、Softmax回归

目录1.学习率衰减(Learning rate decay)在训练初期,梯度下降的步伐大一点,开始收敛的时候,小一些的学习率能让步伐小一些。1 epoch 遍历一遍训练集学习率衰减公式:例:假设衰减率decayrate 1,0.2epochNumα…

基本UDP套接字编程

文章目录基本流程recvfrom和sendto函数试着用用基本流程 客户端 创建套接字socket()填充服务器网路信息结构体通信recvfrom()/sendto() 服务器 创建套接字填充服务器网路信息结构体将套接字与服务器网络信息结构体绑定bind()进行通信recvfrom()/sendto() recvfrom和sendto…