目录

1.自定义应用层协议

1.1 自定义协议,应该如何约定

2.传输层 UDP/TCP 原理

2.1 UDP协议

2.2 传输层 TCP 的十大机制

2.2.1 确认应答

2.2.2 超时重传

2.2.3 连接管理

2.2.4 滑动窗口

2.2.5 流量控制

2.2.6 拥塞控制

2.2.7 延时应答

2.2.8 捎带应答

2.2.9 面向字节流

2.2.10 TCP 异常情况

3.UDP / TCP 对比


1.自定义应用层协议

首先我们要知道,咱们自己编写的应用程序就是在应用层。其次呢,虽然应用层里面有一些现成的协议,但是实际工作中少不了自定义协议。

1.1 自定义协议,应该如何约定

自定义协议,需要从两个角度入手:

第一点:明确交互过程要传递的信息有哪些

就拿点外卖这一件事情来说。我们用户在挑选外卖,涉及到的请求与响应:

【挑选商家】

请求:用户信息,位置信息...

响应:商家的信息,包括商家名称,商家的评分,商家的位置,商家的预览图等等...

【挑选某一家的外卖】

请求:用户信息,点击的商家信息....

响应:该商家的详细情况,包括哪些外卖可以点,每个菜都是多钱,以及销量如何等等...

第二点:如何将数据组织起来,有哪些形式

方式一:使用分隔符对不同的信息做区分:

方式二:使用固定长度来区分不同的信息:

方式三:使用 xml 格式来约定数据:

方式四:使用 Json 格式来约定数据:

方式六:还有一些其他的二进制的数据组织形式,例如 protobuffer、thrift 等等。

【网络原理】- 传输层 TCP 十大机制 / UDP 协议 自定义应用层协议相关推荐

  1. 网络原理 --- 传输层Ⅱ TCP协议中的确认应答,超时重传和连接管理

    文章目录 网络原理 传输层 TCP 协议 TCP的基本特性 1.确认应答 2.超时重传 3.连接管理 ❗❗①建立连接(三次握手) ②断开连接(四次挥手) 总结 网络原理 介绍TCP/IP协议中每一层里 ...

  2. 网络原理 | 传输层重点协议之TCP协议(TCP连接的三次握手与四次挥手、TCP的安全机制与效率机制)

    目录 TCP协议 安全机制 确认应答机制 超时重传机制 连接管理机制 三次握手 四次挥手 流量控制机制 ​编辑拥塞控制机制 效率机制 滑动窗口机制 延迟应答机制 捎带应答机制 TCP协议 · 传输层的 ...

  3. 网络:传输层 TCP报文格式解析

    一.TCP报文格式 1.为了提供可靠的数据传输,TCP报文首部字段有较多的字段,TCP报文格式如下图: 图2 TCP报文格式 16位源和目标端口(16位):用于多路复用/多路分解来自或送至上层应用的数 ...

  4. Linux_网络_传输层协议 TCP通信滑动窗口(快重传),流量控制,拥塞控制(慢启动),延迟应答,捎带应答,TCP常见问题(字节流,粘包),Listen半连接队列

    紧跟Linux_网络_传输层协议 TCP/UDP继续补充 文章目录 1. TCP通信时滑动窗口(效率) 2. 流量控制(可靠性) 3. 拥塞控制(慢启动) 4. 延迟应答 5. 捎带应答(提高通信效率 ...

  5. 传输层 - TCP / UDP 协议详解

    我是目录: 1.UDP协议: 2.TCP协议: (1)TCP协议段格式: (2)确认应答(ACK)机制 (3)超时重传机制: (4)连接管理机制(三次握手.四次挥手) (5)滑动窗口: (6)流量控制 ...

  6. 网络层协议与应用及传输层TCP/UDP协议

    网络层协议与应用及传输层TCP/UDP协议 目录 一.IP数据包格式 二.ICMP协议 三.ARP协议及ARP工作原理 四.TCP协议及常用端口号 五.UDP协议及常用端口号 一.IP数据包格式 网络 ...

  7. 【网络原理2】---TCP协议的格式

    传输层重点协议 TCP 协议 TCP 协议段格式 TCP内部的工作机制 1. 确认应答 2.超时重传 TCP 协议 TCP 协议相对于 UDP 是复杂不少的. 在网络编程这里已经讲了 TCP 的特点: ...

  8. 计算机网络—网络原理之<TCP/IP 五层协议 >图解+详述

    网络原理之 TCP/IP 五层协议 应用层 举个例子: 自定义应用层协议的两个步骤: 常见的应用层协议 传输层 UDP UDP 特点: TCP TCP协议的主要机制 1. 确认应答 2. 超时重传 T ...

  9. 传输层 TCP UPD 应用场景

    TCP解决了任意长度消息的可靠传输,所以很多应用层协议比如http ftp等协议都是基于tcp实现的,在多数场景下能够满足应用层的需要,所以我们通常感知不到tcp协议. 计算机网络体系结构 可以看到应 ...

最新文章

  1. 3D打印产业化机遇与挑战
  2. arcscene如何显示标注_ArcGIS中标注(label)的使用技巧
  3. bufferedreader接收不到数据_FreeRTOS例程3-串口中断接收不定长的数据与二值信号量的使用
  4. Vue 学习第四天--第一部分 --盲点整理与昨天知识回顾
  5. DRF数据验证+数据存储
  6. 理想汽车已累计交付2万台 仅用时10个月
  7. Python模块:bisect二分算法模块
  8. 2020研究生数学建模题目
  9. python 绘图函数_python绘图函数
  10. EXCEL 利用随机数公式生成随机字母、随机密码
  11. 华为云CDN网站加速配置
  12. Python 如何画出漂亮的地图?
  13. hbase2.1.6 mr
  14. 我只是想使用一下微软在线文档
  15. 18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
  16. 【历史上的今天】9 月 13 日:“海盗湾”创始人出生;第一台装载硬盘的超级计算机;《超级马里奥兄弟》发布
  17. 随机分布嵌入使短时高维序列可预测
  18. 计算机的kb代表着什么,计算机中KB与Kb的技术差别详解
  19. Linux的文件操作命令
  20. 计算机四级网络工程师考试视频及软件

热门文章

  1. 【Java版oj】逆波兰表达式求值
  2. vb.net 获取系统图标_【系统更新V4】优麒麟 20.04 LTS持续完善!优化高清屏支持,上架6款新应用!...
  3. vue 卡片轮播 中间大两边小 复制代码就可使用
  4. 目前视频监控领域高清化的关键技术有哪些?
  5. 一起来聊聊MySQL 8.0 的特性及排名可好?
  6. linux分区丢失了怎么恢复,(Linux下恢复丢失的分区.doc
  7. CSSCI中文数据库引文分析+主路径分析+共被引
  8. 如何开发旅游地产?——高赢利旅游地产的策划规划方法!
  9. android 三屏手机游戏,大象侠攻略三屏操作手速必须要快
  10. vbs实现的支持拖动的txt文本切割器