深入解析TCP/IP协议分层与通信原理
本文系统介绍了TCP/IP网络协议的分层结构及通信原理。网络采用分层设计,包含应用层、传输层、网络层和数据链路层,各层协议协同工作实现通信。重点阐述了TCP/UDP协议特点、端口号作用、Socket编程基础及报文处理流程,包括封装/解包、序列化/反序列化等关键机制。同时探讨了网络通信本质(进程间通信)和分层优势(解耦替换),并延伸至进程管理、会话控制等系统概念,为理解网络架构和开发高性能服务器提供
一、网络的整体结构
·网络是由局部组成整体的系统。
·协议是通信的约定,目的是减少通信成本。
·实际应用中,最常用的是 TCP/IP 协议。
·协议具有分层结构,所有软件系统也呈现层状结构。

二、TCP/IP 协议分层及通信流程
·TCP/IP 是一种解决方案,其分层设计源于问题本身的分层。
·主机之间的通信本质上是协议栈之间的通信。
·协议报头 + 有效载荷。
·报文封装、解包和分用是通信的基本流程。
·同层之间视为直接通信,但必须贯穿操作系统和协议栈。
·发送(封装):数据入栈。
·接收(解包):数据出栈。
·操作系统(OS)是硬件的基础。
三、TCP/IP 协议分层结构

四、协议细节与报文处理
·网络层和 IP 实现“一切皆 IP”,为全球网络提供虚拟化层。
五、TCP与UDP协议及端口号
- 创建 socket 文件描述符(TCP/UDP,客户端与服务器)int socket(int domain, int type, int protocol);
- AF_TNET SOCK_DGRAM (UDP) 0
- 返回值:成功返回文件描述符,失败返回 -1
int bind(int socket, const struct sockaddr *address, socklen_t address_len);
·返回值:成功返回 0,失败返回 -1

4. 端口绑定注意事项
六、系统调用与网络协议栈

七、网络通信标准与分层优势
·多种局域网通信标准 + 一种广域网通信标准
八、进程与会话管理
- jobs:查看系统当前后台任务
- fg 任务号:将指定任务切到前台(foreground)
- ctrl+c:终止前台任务
- ctrl+z:暂停前台进程,自动切换到后台
- bg 任务号:让后台任务运行
- 只能有一个前台进程,后台进程可有多个
- 登录 Windows 时即建立会话过程
- 守护进程(精灵进程):独立会话,不能是进程组长
- setsid() 创建守护进程会话
- int daemon(int nochdir, int noclose)
- chdir(路径):更换工作路径
- dup2():重定向

九、网络代码与高性能服务器设计

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐
所有评论(0)