系统学习TCP/IP协议(一)------有用的策略和模式

TCP/IP协议 (史上最全讲解) TCP 通过检验和、序列号、确认应答机制、超时重传机制、连接管理以及窗口控制等机制实现可靠性传输。 阅读详情

协议实际上就是一种解决某些问题的策略和模式,在经典的TCP/IP协议中就有很多策略和模式值得学习。归纳起来有以下一些(随着学习深入逐步添加):

  • 分层
  • 封装和分用
  • 可靠连接

分层

分层是TCP/IP乃至网络通信最核心的策略和模式,分层使得所有的网络应用程序不用关心底层链路传输的细节,也使得不同类型的网络有效地互通。这是一种典型的化繁为简,把复杂的事情分解到不同层面的策略,层与层之间是服务与被服务的关系,每层只需关注所在维度的事情。例如,通过网络层IP协议的抽象和处理,把不同类型的网络互连起来,并且这些底层传输的差异对于上层(运输层和应用层)是透明的,这给上层应用程序的开发带来了极大的方便,示意图如下所示:

封装和分用

为了实现和支持上面说的分层策略,TCP/IP在数据包设计上采用封装和分用的策略,所谓封装就是在应用程序在发送数据的过程中,每一层都增加一些首部信息,这些信息用于和接收端同层次进行沟通,例如当数据从应用程序发送到以太网过程中数据逐层加工的示意图如下所示:

而在接收端的处理过程就正好相反,也就是所谓的分用策略,数据从底层到最上层的应用程序过程中,数据被逐层拆分,每一层取出自己所需要的信息。如下图所示:

可靠连接

TCP采用三次握手的方式确保在可能丢包的情况下建立连接,通过连接双方的相互确认,以此达成连接协议。此外,通过非常细化的状态流转来对连接双方进行容错处理。这些设计细节对多系统交互设计有很大的借鉴作用

Linux内核TCP/IP协议栈中的设计模式:从面向对象到系统级软件的跨界实践 Linux内核TCP/IP协议栈通过分层架构、状态机、责任链等设计模式,实现了高内聚低耦合的模块化设计。这些模式共同支撑了其高性能、可扩展性和可靠性,例如通过对象池优化内存管理、通过策略模式支持动态协议扩展1310。尽管并非严格遵循GoF的23种模式,但其设计思想与模式化架构高度契合。Linux内核的TCP/IP协议栈在设计上并未严格遵循GoF(Gang of Four)的23种设计模式,而是更倾向于架构模式和特定领域的优化模式。一、严格遵循GoF设计模式的部分。 阅读详情

相关推荐

《TCP/IP详解卷1:协议》完整学习体验

本文还有配套的精品资源,点击获取 简介:《TCP/IP详解卷1:协议》一书由网络技术专家W. Richard Stevens撰写,深入探讨了互联网的核心协议TCP/IP的原理和细节。本书覆盖了网络通信的各个层面,包括网络接口层、互联网层、传输层和应用层,为读者提供了互联网协议栈的全面理解。书中不仅理论性强,还配有实例和实战经验,帮助网络管理员、软件开发人员及网络安全专家提升...

weixin_42592399的博客 1997

TCP/IP协议学习

无

qq_47037451的博客 723

TCP/IP协议详解及实战应用

本文还有配套的精品资源,点击获取 简介:《TCP/IP详解卷一:协议》是网络通信领域的重要参考书籍,深入讲解了TCP/IP协议栈,包括模型结构、应用层协议、传输层、网络层、数据链路层等核心概念。书中涵盖了TCP连接的三次握手机制、流量控制和拥塞控制策略,以及IP地址、子网掩码、DNS解析和ARP协议等关键知识点。本书不仅提供了TCP/IP协议的基础理论,还包括如何在实际中应...

weixin_31641077的博客 1319

TCP/IP知识点总结

网络基础、网络设备及使用、网络数据传输流程、应用层重点协议、传输层重点协议、网络层重点协议、数据链路层重点协议

m0_48273471的博客 4438

西门子TCP/IP协议与PLC通信实践指南

在工业自动化领域,西门子TCP/IP协议作为西门子PLC之间进行通讯的重要协议,扮演了至关重要的角色。它的存在使得不同型号的西门子PLC能够在同一网络下无缝通讯,极大地提高了工业控制系统的设计灵活性和生产效率。掌握该协议能够帮助我们更好地理解并优化工业自动化系统的通讯过程。

weixin_30600615的博客 2627

tcpip学习笔记,全是个人体会

tcpip学习笔记,是我开发TCP/IP协议栈过程中所作的笔记

一文讲透TCP/IP协议 | 图解+秒懂+史上最全

TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由以及接收方式,都予以标准化。

青春木鱼的博客 14万+

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本)

本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。

weixin_33737134的博客 282

史上最全的TCP/IP协议原理

TCP/IP协议原理 一、TCP/IP协议简介及起源 1、什么是TCP/IP TCP/IP是TransmissionControlProtocol /InternetProtocol(传输控制协议/互联网络协议)的缩写。TCP和IP只是其中的2个协议,也是很重要的2个协议,所以用TCP/IP来命名这个互联网协议族,实际上,它还包括其他协议,比如UDP、ICMP、IGMP、ARP/RARP等。传输控制协议:用于处理任何长度消息的可靠传输,互联网络协议除了具有其...

小仙儿 2万+

法兰克仿真软件FANUC CNC Guide v25.0 安装教程及中文设置

下载地址在文末。我们公司用新到一批FANUC 系统的设备,为方便使用就装了一个 FANUC 数控系统仿真软件FANUC CNC Guide v25.0 ,还是最新版不是市面上流传的老版本。模拟学习一下。

hakesashou的博客 1万+

解决Thingsboard数据下发难题:自定义RPC请求格式的3种方法(含源码修改指南)

本文详细介绍了解决Thingsboard数据下发难题的3种自定义RPC请求格式方法,包括规则链脚本转换、TB-Gateway中间层转换和源码级定制方案。通过实际案例和性能对比,帮助开发者根据项目需求选择最适合的解决方案,提升物联网平台与设备的兼容性。

weixin_29008691的博客 232

简述TCP/IP协议

TCP/IP协议 1.什么是协议? 协议,是网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。 (1)语法:即数据与控制信息的结构或格式; (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应; (3)时序(同步),即事件实现顺序的详细说明。 2.什么是TCP...

luxunlx123的博客 5755

WorkBuddy最新更新特性(2026-07-21)

WorkBuddy最新更新特性

AI人人懂 563

【HTTP详解】HTTP协议、TCP/IP、TCP协议究竟是什么?

快速理解HTTP、TCP/IP、TCP是什么

伟深么的博客 5924

高质量文献综述原来这么写!借助Gemini 3 Pro+四步法,手把手教你写出有逻辑深度的综述

总结与展望先总结现状,说明前人已经做到什么地步了,再指出缺口,前人没解决什么问题、方法有什么局限等等,最后再在这个缺口的基础上,提出你的未来研究方向。当你有个复杂的研究题目,但没办法拆解出关键词,就可以让Gemini 3 Pro来辅助帮你拆解,并帮你写专业的检索式,若是找英文文献,还能帮你将中文关键词翻译成地道的专业术语。做文献笔记,可以建立文献笔记矩阵,可以用Excel建个表格,横向是文献,纵向是关键要素,包括作者/年份、研究问题/假设、理论框架/模型、研究方法/数据来源、核心结论、局限性/Gap。

智能AI让学术科研更容易 989

无人机威胁检测(Hostile Drone Detection)——基于YOLOv10与UI界面的实现

Anti-UAV数据集由多种场景下的无人机视频与图片组成,包含无人机目标的多样化姿态、背景、光照变化,专门用于反无人机检测研究。YOLO(You Only Look Once)系列是当前流行的实时目标检测算法,具有速度快、精度高的特点。网络结构优化:更深更轻的主干网络,提升特征提取能力。检测头改进:多尺度特征融合,更好检测小型目标如无人机。训练技巧:使用自动混合精度训练(AMP)、数据增强、标签平滑等技术。

YOLO 229

最全的TCP/IP协议

于 2022-10-12 15:23:59 发布

m0_67805570的博客 2869

基于STM32、HAL库的IP2736U_EF快充协议芯片简介及驱动程序设计

@param connected: 连接状态指针 (1=已连接, 0=未连接)= 0x2736) // 检查厂商ID。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。

corlin6688的博客 429

浅谈TCP/IP协议

1.什么是协议? 协议,是网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。 只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。 (1)语法:即数据与控制信息的结构或格式; (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应; (3)时序(同步),即事件实现顺序的详细说明。 简单来说,协议就是计算机之间通...

lilygg的博客 890

C#【必备技能篇】Winform实现多语言切换(.resx文件的应用)

在实际的项目开发中,软件需要实现多语言切换。本文通过一个实际的例子,可以让你学习到这个技能。

星Yeah 的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【 Socket、TCP/IP协议、UDP协议】

滴滴滴滴!!!!! 学习帮助文章:【 Socket、TCP/IP协议、UDP协议(学习链接地址:https://www.cnblogs.com/xiaowenshu/p/9916755.html)。UDP&TCP协议相关学习链接地址:https://www.cnblogs.com/ywzbky/p/10731808.html】 TCP【传输控制协议】的作用(tcp属于运输层):用来传输客...

qq_38245267的博客 431

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

网络通信协议(TCP/IP)

TCP/IP

m0_63674382的博客 2817

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 基于Jupiter建立code review机制
下一篇: 系统学习TCP/IP协议(二)------连接建立与关闭
cutesource
博客等级 码龄17年 5041粉丝 151原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值