网络协议是指什么?
一、网络协议介绍
网络协议(network protocol),简称为协议 ,是为进行网络中的数据交换而建立的规则、标准或约定 。协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发 生的事件所采取的“动作”(actions)。
在通信时,网络协议定义了在通信时如何进行通信。它的语法、语义和时序是网络协议的核心。
文法
表示数据格式的结构,也就是其显示顺序。举例来说,一个简单的网络协议,数据的前八位是发送者的地址,下一位是接收者的地址,其余的流就是消息本身。
语义学
表示各位的意义。你如何解释一个特定的模式,并根据这个表采取相应的操作。举例来说,地址是识别要走的路线还是消息的最终目的地?
Time
它定义了两个特性:什么时候应该发送数据,什么时候发出来。举例来说,如果发送者以100Mbps的速度产生数据,但接收端只能产生1个。
其功能可分为以下几类:
拆装和装配:当应用程序的实体(任何可以发送或接收信息的东西)以消息或连续顺序发送数据时,较低级别的网络协议可能需要将数据分成更小的块和所有块。为了方便起见,它叫做协议数据单元(PDU),它是两个实体之间通过网络协议交换的一块数据。
包装:每一个PDU不仅包含数据,还包含控制信息。然而,有些PDU只包含控制信息,不包含数据。
错误地址码:有时包含用于错误检测的帧检查序列。
延伸阅读:
二、网络通信协议类型
1.TCP/IP协议
TCP/IP协议是目前非常成熟并被广泛使用的通信协议之一,TCP/IP协议不仅广泛应用于各种类型的局域网络,也是Internet的协议标准,用于实现不同类型的网络以及不同类型操作系统的主机之间的通信。TCP/IP事实上是一个协议系列或协议族,目含了100多个协议,包括ARP、ICMP、IGMP、IP、TCP和UDP等多种协议,其中TCP协议和IP协议是最重要的两个协议。
2. IP
IP(Internet Protocol,Internet协议)是一个无连接的协议,主要负责在主机之间寻址,并为数据包设定路由。IP协议是TCP/IP体系中两个最重要的协议之一,其定义了用以实现面向无连接服务的网络层分组格式,其中包括IP寻址方式。不同网络技术的主要区别在数据链路层和物理层,如不同的局域网技术和广域网技术。而IP协议则能够将不同的网络技术在TCP/IP的网络层统一在IP协议之下,以统一的IP分组传输提供对异构网络互联的支持。IP协议使互连起来的许多计算机网络能够通信,因此,TCP/IP体系中的网络层常常称为网际层(Internet Layer),或IP层。
3. TCP
TCP(Transmission Control Protocol,传输控制协议)是一种可靠的面向连接的传送服务。TCP数据传输是分段进行的,主机交换数据必须建立一个会话。TCP用比特流通信,即数据被作为无结构的字节流。TCP通过为每个由其传输的字段指定顺序号获得可靠性。如果一个分段被分解成几个小段,接收主机会知道是否所有小段都已收到。对于发送的每一个分段,接收主机必须在一个指定的时间内返回一个确认信息(Acknowledgement),用于表明收到了数据。如果发送者未收到确认(ACK),数据会被重新发送。例如,收到的数据包已被损坏,接收主机会丢弃它,并且不发送ACK。于是,发送者会重新发送分段。
以上就是关于网络协议的内容希望对大家有帮助。

猜你喜欢LIKE
相关推荐HOT
更多>>
在Scala中用def重写和val重写父类有什么区别?
一、在Scala中用def重写和val重写父类的区别在Scala中,子类可以用def或val重写父类的方法。这两种方式有以下区别:def关键字定义的方法可以被...详情>>
2023-10-11 22:26:27
java中continue和break区别?
一、java中continue和break区别break的定义在Java中,break具有三个用途。名列前茅个它用于终止switch语句中的case,第二个用于终止包含break的...详情>>
2023-10-11 16:58:22
java web 与jsp的区别?
一、java web 与jsp的区别1、jsp服务于java web开发,javaweb是使用java语言进行web系统开发。web系统开发现在主流的是MVC的三层架构,而jsp就...详情>>
2023-10-11 14:49:53
进程和线程的区别是什么?
一、进程和线程的区别1、概念不同进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位。线程:一个进程内的基本调度单位。线程的...详情>>
2023-10-11 13:52:13热门推荐
Python的int取整和//整除有什么区别?
沸在Scala中用def重写和val重写父类有什么区别?
热for和foreach区别?
热form表单和ajax的区别?
新error和exception区别?
循环程序结构和分支程序结构结构有哪些区别?
MPG后缀和MP4后缀有哪些区别?
SQL Server中,ANY与ALL有什么区别?
DataExchange和RTB Exchange 有哪些区别?
jquery和javascript的区别?
Java开发工程师和后端开发工程师有哪些区别?
Java 中字节流与字符流的区别?
java中continue和break区别?
error 和 exception的区别?
技术干货






