`

1、网络通讯模式与网络协议(基础篇)

阅读更多

1、网络通讯模式分为:分散式、集中式、分布式。现在常用的是分布式。

一般比较常见的模型介绍:

有C/S模型、B/S模型、P2P模型。

C/S模型:(Client/Server)模型,一部分是客服端。一部分是服务端。

B/S模型:(Browse/Server)模型,他是一种基于WEB的通讯模式,使用HTTP,超文本传送协议通讯。B/S是一种特殊的C/S模型:特殊之处是在于这种模式的客户的一般都是某种流行的浏览器。例如IE。

P2P模型:(Peer-to-Peer,对等互联)是近年来比较流行的通讯模式之一。在Peer-to-Peer环境中,每个互联网的计算机同时运行一个应用程序的Client部分和Sever部分。或者说一个应用程序即是客户的,又是服务端。P2P模型的有点是配置容易,通讯方便,成本低,缺点是可靠性不如C/S模型,遭受黑客攻击的可能性比C/S模型高。

 

2、TCP/IP网络协议介绍

OSI 开放式系统互联七层参考模型,它将一种通讯协议抽象为7个层,每一层执行某一个特定的任务,由于OSI模型过于复杂,因此在实际的应用中很少使用,而使用最为广泛的是TCP/IP,传输控制协议/网际协议 参考模型。

TCP/IP协议四层模型:分为应用层,传输层,网际层,网络接口层,采用4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

应用层:该层负责应用程序之间的沟通,主要简单协议有SMTP、FTP、以及网络远程协议Telnet等。

传输层:该层提供节点见的数据传颂以及应用程序之间的通讯服务,主要功能是数据格式、数据确认和丢失重传等。主要协议有传输控制协议TCP、用户数据报协议UDP等。TCP和UDP给数据包加入传输数据并把他穿上到下一层中,这一层负责传输数据,并且确定数据已被送达并接收。数据包可以简单的理解为打包以后的数据。

网际层:该层负责接受IP数据报噶并进行传输,让每一块数据包都能够到达目的主机,但是不检查数据包是否被正确接收。网际协议(IP)即属于该层协议。

 

3、各种协议

IP

IP(网际协议)是TCP/IP的心脏,也是网络层中最重要的协议。

网际层接收有更底层的网络接口层(如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层,即发送到传输层;相反,网际层也把从传输层接收来的数据包传送到网络接口层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址,和接收它的主机的地址。

     高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的,或者说IP地址形成了许多服务的认证基础,让这些服务相信数据包是从一个有效的主机发送来的。为了便于网络通讯测试,IP认证还包含了一个称为IP source routing的选项,用来指定一条源地址和目的地址之间的直接路径。

IP对于网络通讯有着重要的意义,网络中的计算机可以通过安装IP软件,使许许多多的局域网构成一个庞大而又严密的通讯系统,从而使得Internet看起来好像是真实存在的,但实际上它是一种并不存在的虚拟网络。只不过是利用IP把世界上愿意接入Internet的计算机局域网都链接起来。使得互相可以通讯。

TCP

尽管计算机安装了IP软件,保证了计算机之间可以发送和接收资料,但IP还不能解决资料分组在传输过程中可能出现的问题,因此,链接Internet的计算机还需要安装tcp来提供可靠的并且无错的通讯服务。IP只能保证计算机之间能发送和接收分组资料,而TCP则提供一个可靠的、可流控的、全双工的信息流传输服务。如果ip数据包中有已经封好的TCP数据包,那么IP将把它们传送到传输层。TCP将包排序并进行错误检查,同时实现虚电路间的链接。TCP数据包中包括序号和确认,所以未按照顺序接收到的包额可以被排序,而损坏的包可以被重传。TCP接受到数据包后,将信息送到更高层的应用层,如Telnet的服务程序和客户程序,应用程序处理后,在轮流将信息传送回传输层,传输层再将他们向下传送到网际层(设备驱动程序和物理介质),最后对方接收。

UDP

UDP和TCP位于同一个层,但它不考虑数据包的顺序、错误、重发、因此UDP不被应用于那些使用虚电路的面向链接服务,即UDP主要用于那些面向查询/应答的服务。

ICMP

ICMP与IP位于同一层,它被用来传送IP的控制信息。它主要用来提供有关通向目的地址的路径信息。ICMP的Redirect信息通知主机通向其他系统的更准确的路径。Ping程序就是常用的基于ICMP的服务。

分享到:
评论

相关推荐

    网络通讯协议(C++)程序

    网络通讯协议是计算机网络中数据交换的规则,它是互联网能够正常运行的基础。在C++编程环境中,我们可以利用API或库来实现网络通信,例如Windows平台下的Winsock API。本篇将深入探讨如何在C++中利用Winsock进行网络...

    网络通讯协议图2017版

    本篇将根据“网络通讯协议图2017版”来详细解析其中提及的重要网络通讯协议及其应用。 #### 二、关键协议与技术 ##### 1. **Internet** - **简介**:Internet是一种全球性的信息网络,通过一系列标准协议(如TCP/...

    STM32-ESP8266基础网络通讯之UDP模式(AP模式热点)源代码

    本篇文章将详细讲解如何在STM32与ESP8266之间实现基于UDP协议的基础网络通信,同时ESP8266工作在AP模式下作为热点。我们将探讨以下几个关键知识点: 1. **STM32与ESP8266简介**: - STM32:由意法半导体...

    PLC编程口通讯协议

    本篇文章将深入探讨这一主题,旨在提供一个详尽的PLC编程口通讯协议的理解框架。 1. **串行通信基础** PLC编程口通常采用串行通信方式,如RS-232、RS-485或USB等。串行通信相对于并行通信,具有线路简单、成本低的...

    FX5U串口通讯程序和一个485无协议通讯实例.zip

    FX5U系列PLC内置有RS-232C/422/485串行通信接口,支持多种通讯模式。 2. **FX5U串口配置**:在FX5U中,串口通讯的配置包括波特率、数据位、停止位、奇偶校验等参数的设定。这些参数需与通讯设备匹配,以确保数据...

    TCP/IP协议与网络编程技术

    上篇主要介绍TCP/IP协议簇中的常用协议,下篇专门介绍网络编程知识与技能。 (2)具体在编写每一节的内容时将原理知识与实用技能融为一体。以方便读者学习。 (3)考虑到TCP/IP协议比较抽象,学习起来有一定的难度,...

    MFC网络助手C++socket网络通讯

    本篇文章将深入探讨如何使用MFC结合C++的socket接口来实现网络通讯,帮助开发者构建自己的网络助手。 首先,让我们理解什么是Socket。Socket是网络通信中的一个抽象概念,它是两个网络进程间通信的一个端点,相当于...

    基于JAVA的网络通讯系统设计与实现(论文+系统).rar

    综上所述,这个基于Java的网络通讯系统涵盖了众多IT领域的知识点,包括但不限于Java Socket编程、网络协议处理、多线程、异常处理、设计模式和数据库操作。无论是对于初学者还是经验丰富的开发者,这个系统都提供了...

    MITSUBISHI Q 系列MELSEC通讯协议

    总结来说,MITSUBISHI Q 系列MELSEC通讯协议是实现Q系列PLC高效通讯的基础,其丰富的协议支持和强大的通讯能力使得三菱PLC在工业自动化领域有着广泛的应用。理解并熟练掌握这一协议,对于设备集成、自动化系统的优化...

    vb网络通讯实例源代码

    在VB(Visual Basic)编程环境中,网络通讯是一个重要的领域,涉及到多个方面,如FTP文件传输、点对点通信、客户端/服务器交互以及简单的数据交换。本篇将详细讲解标题和描述中提到的几个核心知识点。 1. FTP程序:...

    基于JAVA的网络通讯系统设计与实现(论文+系统).zip

    《基于JAVA的网络通讯系统设计与实现》是一个深入探讨如何使用Java编程语言构建高效、可靠的网络通信系统的资源包。此资源包含了一篇详尽的论文和一个实际的系统实现,旨在帮助开发者理解并掌握网络通信的基本原理...

    基于JAVA的网络通讯系统设计与实现(论文+系统)

    【标题】"基于JAVA的网络通讯系统设计与实现(论文+系统)"是一个关于使用Java编程语言构建网络通信系统的综合项目。这个项目不仅包括一篇详细阐述设计思路和实施过程的论文,还提供了一个实际的系统原型,使得学习...

    Java 开发基于JAVA的网络通讯系统设计与实现(论文+系统).rar

    在本项目中,"Java 开发基于JAVA的网络通讯系统设计与实现" 是一个全面的实践教程,旨在探讨如何利用Java编程语言构建高效、可靠的网络通信系统。此资源包括一篇详细论文和一个实际的系统实现,为学习者提供理论与...

    三菱PLC Q系列 基本模式CPU功能解说程序基础篇.zip

    《三菱PLC Q系列 基本模式CPU功能解说程序基础篇》 本文将深入探讨三菱PLC Q系列的基本模式CPU的功能与编程基础,旨在帮助读者掌握这一工业自动化领域的核心设备。三菱PLC(可编程逻辑控制器)是工业控制系统中的...

    Modbus通讯协议规范(中文很详细).zip

    **一、Modbus协议基础** 1. **协议简介**:Modbus协议基于ASCII或RTU(远程终端单元)数据格式,支持主-从通信模型,其中主设备发起请求,从设备响应。它定义了数据如何在设备之间传输,包括地址、功能码、数据和...

    p2p网络通讯

    "p2p网络通讯最简单的例子"这个文档可能包含了一个基础的P2P通信示例,可能是通过编程语言实现的简单程序,演示了节点如何互相发现、建立连接并交换数据。通过学习这样的例子,读者可以更直观地理解P2P网络通信的...

    modbus协议(中英文)

    综上所述,Modbus协议是一种基础且重要的工业通信协议,它的ASCII和RTU模式满足了不同需求的通信场景。通过理解并掌握Modbus,可以有效促进工业自动化设备之间的数据交换,提高系统的集成度和效率。

    STM32-ESP8266 基础网络通信之 UDP模式(必须接路由器)源代码_rezip1.zip

    本篇文章将详细讲解如何在STM32与ESP8266之间实现基于UDP协议的基础网络通信,同时ESP8266工作在AP模式下作为热点。我们将探讨以下几个关键知识点: 1. **STM32与ESP8266简介**: - STM32:由意法半导体...

Global site tag (gtag.js) - Google Analytics