【网络协议】网络协议的层级结构

工作背景

开发POS下游的KDS系统,系统之间需要使用Socket协议进行通信。

相较于之前的B/S架构软件开发模式,C/S架构软件开发无论从开发技术和编程模式都是大不相同。

网络协议层级结构

计算机网络中通常使用OSI(开放式系统互联)参考模型或TCP/IP(传输控制协议/因特网协议)参考模型来描述网络协议的层级结构。以下是这两个模型中的主要层级协议及其对应的技术:

OSI参考模型

应用层(Application Layer):HTTP、SMTP、FTP、DNS等。

表示层(Presentation Layer):JPEG、MPEG、ASCII等数据表示和转换技术。

会话层(Session Layer):RPC(远程过程调用)和NetBIOS等。

传输层(Transport Layer):TCP(传输控制协议)、UDP(用户数据报协议)。

网络层(Network Layer):IP(因特网协议)、ICMP(Internet控制消息协议)。

数据链路层(Data Link Layer):以太网、PPP(点对点协议)等。

物理层(Physical Layer):光纤、同轴电缆、无线电波等物理介质。

TCP/IP参考模型

应用层(Application Layer):HTTP、SMTP、FTP、DNS等。

传输层(Transport Layer):TCP(传输控制协议)、UDP(用户数据报协议)。

网际层(Internet Layer):IP(因特网协议)、ICMP(Internet控制消息协议)。

网络接口层(Network Interface Layer):以太网、PPP(点对点协议)等。

需要注意的是,这些协议只是层级模型中的代表,实际上计算机网络涉及的协议远不止这些。此外,随着技术的发展和应用场景的变化,还有许多其他协议和技术被引入和使用。

Socket和HTTP协议的区别

Socket和HTTP协议是两种不同的网络通信协议,它们有以下主要区别:

HTTP协议是应用层协议,而Socket是传输层协议:

HTTP协议通常运行在TCP协议之上,而TCP协议则是一个传输层协议,它提供了可靠的面向连接的数据传输服务。

Socket属于传输层协议,它提供了一种通用的、面向字节流的数据传输服务,可以用于实现各种基于网络的应用程序。

HTTP协议是无状态的,而Socket是有状态的:

在HTTP协议中,每个请求与响应都是独立的,并且没有记忆状态的机制。这意味着,如果客户端需要持续的交互操作,每个操作都需要重新建立连接并重新发送请求。

在Socket中,连接是由建立到断开的,而在连接期间,客户端和服务器之间的状态可以保留和共享。这可以使得Socket适合一些需要持久交互的应用程序。

HTTP协议是文本协议,而Socket是二进制协议:

在HTTP协议中,请求和响应都是基于文本格式的,使用特定的语法和格式来表示请求和响应的内容。

Socket是基于二进制数据传输的,无论是发送还是接收数据,都需要明确指定数据的格式和编解码方式。

总的来说,Socket和HTTP协议虽然属于不同的协议,但它们都提供了基本的网络通信服务,可以灵活地应用于不同的场景和需求。需要根据具体的应用场景和业务需求选择合适的协议和实现方式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容