网络通信协议
一、什么是网络通信协议
网络通信协议是一种网络通用语言,为连接不同操作系统和不同硬件体系结构的互联网络提供通信支持,是一种网络通用语言。
网络通信协议的语法由三个要素组成。
语义:解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。表示要做什么
语法:用户数据与控制信息的结构与格式,以及数据出现的顺序。表示要怎么做
时序:对事件发生顺序的详细说明。表示做的顺序
二、常见的网络通信协议
常见的网络通信协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。
下面详细说下TCP/IP协议。
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。
常见的各层主要协议:
应用层:FTP、HTTP、SMTP、DNS
传输层:TCP、UDP
网络层:IP、ICMP、ARP、RARP
下面详解一下各层之间重要的协议
1、TCP&UDP
TCP
传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP的三次握手、四次挥手
TCP的三次握手指的是TCP建立连接的过程,建立连接时,客户端和服务器总共会发送3次报文来确认。
TCP的四次挥手是指的TCP断开连接的过程,断开时,客户端和服务器总共会发送4次报文来确认。
UDP
用户数据报协议(User Datagram Protocol)是一种无连接的、不可靠的、面向数据报的传输层通信协议。
TCP&UDP的区别
TCP是面向连接的服务,而UDP是无连接的服务。
TCP通过流模式传输数据,保证数据的可靠性和顺序正确性。
UDP通过数据报模式传输数据,不保证数据的可靠性和顺序正确性。
TCP传输数据过程中,不需要携带目的地址,而UDP的报文中已经包含了目的地址。
2、IP&ICMPIP
IP
网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。
TCP/IP网络层的核心协议是IP协议。
IP协议是TCP/IP的载体,所有的TCP、UDP都是以IP数据报格式传输。
IP协议为上层协议提供不可靠、无连接的服务。
不可靠指的是不能保证数据报成功达到目的,任何要求的可靠性由上层协议提供。
无连接指的是不维护任何数据报后续状态信息,每个数据报的发送、传输和接收都是相互独立的。
ICMP
Internet控制报文协议,Internet Control Message Protocol的缩写,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
ICMP报文是包含在IP报文内部的。
IP数据报 = IP报头 + ICMP数据报。
ICMP数据报 = ICMP数据报头 + ICMP信息。
ICMP报文的两大功能
查询报文:获取到路由器或目的主机的特定信息。
差错报文:报告IP数据包被路由器或目的主机处理过程中遇到的问题。
网络传输IP数据报的过程中,如果遇到问题或者请求有回显操作时,则用ICMP报文发送到初始发送方。
ping命令用来请求回显,测试网络的可达性,也就是网络上的报文能否成功到达目的地。
tracert命令可以用来查看数据包的整条传输路径,包括途中经过的中间设备。
常见的ICMP消息类型
回送请求消息
回送响应消息
目的不可达
参数问题
超时
源冷却
重定向
时间戳请求/时间戳响应
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~