网络协议是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议由三个要素组成,分别是语义、语法和时序。语义是解释控制信息每个部分的含义,它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应;语法是用户数据与控制信息的结构与格式,以及数据出现的顺序;时序是对事件发生顺序的详细说明。人们形象地将这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。
1. 应用层协议
在应用层中,定义了很多面向应用的协议,应用程序通过本层协议利用网络完成数据交互的任务。这些协议主要有FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS和SNMP等。
FTP(文件传输协议)是网络上两台计算机传送文件的协议,运行在TCP之上,是通过Internet将文件从一台计算机传输到另一台计算机的一种途径。FTP的传输模式包括Bin(二进制)和ASCII(文本文件)两种,除了文本文件之外,都应该使用二进制模式传输。FTP在客户机和服务器之间需建立两条TCP连接,一条用于传送控制信息(使用21号端口),另一条用于传送文件内容(使用20号端口)。
TFTP(简单文件传输协议)是用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP建立在UDP之上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。
HTTP(超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。HTTP建立在TCP之上,它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。
SMTP(简单邮件传输协议)建立在TCP之上,是一种提供可靠且有效的电子邮件传输的协议。SMTP 是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息,并提供与电子邮件有关的通知。
DHCP(动态主机配置协议)建立在UDP之上,基于客户机/服务器模型设计的。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。DHCP通过租约(默认为8天)的概念,有效且动态地分配客户端的TCP/IP设定。当租约过半时,客户机需要向DHCP服务器申请续租;当租约超过87.5%时,如果仍然没有和当初提供IP的DHCP服务器联系上,则开始联系其他的DHCP服务器。DHCP分配的IP地址可以分为三种方式,分别是固定分配、动态分配和自动分配。
Telnet(远程登录协议)是登录和仿真程序,建立在TCP之上,它的基本功能是允许用户登录进入远程计算机系统。以前,Telnet是一个将所有用户输入送到远程计算机进行处理的简单的终端程序。目前,它的一些较新的版本是在本地执行更多的处理,可以提供更好的响应,并且减少了通过链路发送到远程计算机的信息数量。
DNS(域名系统)在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS通过对用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,例如,IP地址。
SNMP(简单网络管理协议)是为了解决Internet上的路由器管理问题而提出的,它可以在IP、IPX、AppleTalk和其他传输协议上使用。SNMP是指一系列网络管理规范的集合,包括协议本身、数据结构的定义和一些相关概念。目前,SNMP已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP的。
2.传输层协议
传输层主要有两个传输协议,分别是TCP和UDP,这些协议负责提供流量控制、错误校验和排序服务。
TCP是整个TCP/IP协议族中最重要的协议之一,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP协议一般用于传输数据量比较少,且对可靠性要求高的场合。
UDP是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与TCP相比,UDP是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP有助于提供可靠性,而UDP则有助于提高传输速率。UDP协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。
3.网络层协议
网络层中的协议主要有IP、ICMP、IGMP、ARP和RARP等,这些协议处理信息的路由和主机地址解析。
IP所提供的服务通常被认为是无连接的和不可靠的,它将差错检测和流量控制之类的服务授权给了其他的各层协议,这正是TCP/IP能够高效率工作的一个重要保证。网络层的功能主要由IP来提供,除了提供端到端的分组分发功能外,IP还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的IP数据包能以较小的分组在网络上传输。
ARP用于动态地完成IP地址向物理地址的转换。物理地址通常是指计算机的网卡地址,也称为MAC地址,每块网卡都有惟一的地址;RARP用于动态完成物理地址向IP地址的转换。
ICMP是一个专门用于发送差错报文的协议,由于IP协议是一种尽力传送的通信协议,即传送的数据可能丢失、重复、延迟或乱序传递,所以需要一种尽量避免差错并能在发生差错时报告的机制,这就是ICMP的功能。
IGMP允许Internet中的计算机参加多播,是计算机用做向相邻多目路由器报告多目组成员的协议。多目路由器是支持组播的路由器,它向本地网络发送IGMP查询,计算机通过发送IGMP报告来应答查询。多目路由器负责将组播包转发到网络中所有组播成员。
...多用途互联网邮件扩展(MIME,Multi-Purpose Internet Mail Extensions)是最初的互联网电子邮件协议的一个扩展。
多用途互联网邮件扩展,是最初的互联网电子邮件协议的一个扩展,使人们能使用这一协议在互联网上交换不同类型的数据文件:音频、视频、图像、应用软件和其他类型的文件,也包括在最初的协议—简单邮件传送协议(SMTP)中的ASCII文本。Bellcore的Nathan Borenstein向国际互联网工程任务组建议对SMTP进行扩展以使互联网(主要是网站)用户和服务商能识别和处理除ASCII文本以外其它类型的数据。结果,新的文件类型作为一个互联网协议文件的支持类型补充到“邮件”中。
    服务商在任意的网站传播物中插入MIME标题。用户使用这一标题来选择适合播放标题所表示的文件类型的应用软件。一些这样的播放器被装于网络客户机或浏览器中(比如,所有的浏览器都包含有GIF和JPEG图像浏览器,并有处理HTML文件的能力);其他的播放器可能需要下载。
  新的MIME数据类型要向国际因特网地址分配委员会(IANA)进行登记。
对应教程:
《信息系统项目管理师教程(第三版)》 1.3.1网络标准与网络协议

历年真题

25.1 [高级2017下19]IP 协议属于_____

A.物理层协议
B.传输层协议
C.网络层协议
D.应用层协议

参考答案:C
应用层,文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet;
表示层,数据格式化,代码转换,数据加密 没有协议;
会话层,解除或建立与别的接点的联系 没有协议;
传输层,提供端对端的接口 TCP,UDP;
网络层,为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP;
数据链路层,传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU;
物理层,以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2;

25.2 [高级2017上19]局域网中,常采用广播消息的方法来获取访问目标IP地址对应的MAC地址,实现此功能的协议为()。

A.RARP协议
B.SMTP协议
C.SLIP协议
D.ARP协议

参考答案:D
ARP (地址解析协议),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标主机的物理地址。

25.3 [中级2019下16]Internet通过 () 协议可以实现多个网络的无缝连接。

A. ISDN
B. IPv6
C. TCP/IP
D. DNS

参考答案:C

25.4 [中级2018下18]Windows操作系统下的ping命令,使用的是()协议。

A.UDP
B.arp
C.ICMP
D.FTP

参考答案:C
Ping是Windows、Unix和Linux系统下的一个命令。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。

网络协议-语义、语法和时序相关推荐

  1. 【计算机网络】网络协议与计算机网络体系结构(OSI参考模型、TCP/IP体系、网络通信标准化组织)及 Java网络编程

    网络协议与计算机网络体系结构 知识点总结 网络协议与分层体系结构 开放系统互连参考模型OSI/RM 五层的体系结构 [例]主机甲向主机乙发送数据 实体和服务访问点SAP PDU:协议数据单元 TCP/ ...

  2. 计算机网络中的语法 语义 时序的概念,网络iso协议及语义语法时序详解

    网络iso协议及语义语法时序详解 计算机学习 网络协议的三要素 在计算机网路中,通信发生在不同系统的实体之间,,实体(entity)是能够发送和接收信息的任何事物.然而,两个实体间仅发送比特流就指望能 ...

  3. 网络协议的三要素:语义、语法、时序

    网络协议的三要素:语义.语法.时序 语义 需要发出何种控制信息,完成何种动作以及做出何种响应 语法 数据与控制信息的结构或格式 时序 事件实现顺序的详细说明

  4. 计算机网络 | 网络基础 :网络协议,协议分层,数据封装与分用,地址管理,字节序

    目录 网络协议 网络协议的概念 网络协议的组成 协议分层 OSI七层模型 TCP/IP五层模型(四层模型) 数据封装与分用 封装 分用 地址管理 IP地址与端口 MAC地址 网络字节序与主机字节序 网 ...

  5. 大剑无锋之介绍几个常见的网络协议且位于哪一层?【面试推荐】

    先补充一下,什么是网络协议? 网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合. 网络协议的三大要素: 1.语义 语义是解释控制信息每个部分的意义.它规定了需要发出何种控制信息,以及完 ...

  6. 计算机网络在线测试第二章,进行测验:-第2章-网络体系结构与网络协议测试.doc...

    进行测验:-第2章-网络体系结构与网络协议测试.doc 142计算机网络 142-301214-J01062-1 作业 进行测验 第2章 网络体系结构与网络协议测试进行测验 第2章 网络体系结构与网络 ...

  7. 计算机网络学习笔记(2. 什么是网络协议)

    计算机网络学习笔记(2. 什么是网络协议) 1. 协议是计算机网络有序运行的重要保证 硬件(主机,路由器,通信链路等)是计算机网络的基础 计算机网络中的数据交换必须遵守事先约定好的规则 如同交通系统 ...

  8. 计算机中的网络协议包括哪些,网络协议三要素有什么关系

    网络协议三要素有什么关系?为进行计算机网络中的数据交换而建立的规则.标准或约定的集合,协议总是指某一层的协议.准确地说,它是对同等层实体之间的通信制定的有关通信规则或约定的结合.佰佰安全网看看吧. 一 ...

  9. 计算机网络(OSI、TCP/IP、网络协议、常见网络设备工作原理)

    目录 OSI模型 TCP/IP模型 网络协议 IP协议 IP数据报格式 IP数据报分片 IPv4地址 NAT协议 ARP/RARP协议 ARP RARP DHCP协议 ICMP协议 ICMP差错报告报 ...

最新文章

  1. HashMap和HashSet的区别
  2. 浅谈人性 - 讲讲人性丑恶的一面
  3. C#高级应用之CodeDomProvider引擎篇 .
  4. 力扣529.扫雷游戏
  5. 离职证明(解除劳动合同书)是否会毁你一生?
  6. etherlime-3-Etherlime Library API-Deployed Contract Wrapper
  7. 8196国开计算机专业英语,电大计算机网络(本)学习周期01任务A_0002答案
  8. 一个数组去重的简单实现
  9. 使用threeJS根据点的坐标绘制曲线
  10. 三种方式在spring容器中为bean实现初始化方法和销毁方法
  11. 如何搭建运营级的网络直播平台
  12. C++面向对象课程设计实例-图书馆借阅系统
  13. 卓越的社会化营销人的6个习惯
  14. C#工厂模式——简单工厂、工厂方法、反射+简单工厂、抽象工厂
  15. js设置北京时区_JavaScript 实现北京时间转其他时区时间,根据系统对对应时区转换...
  16. 上传图片校验图片类型、大小及尺寸
  17. System Verilog的基本数据类型
  18. Bilibili批量取消关注
  19. h5页面的认识与制作
  20. FBW7通过端粒脱帽介导肺纤维化和衰老

热门文章

  1. 分支分歧(branch divergence)造成SIMT性能降低的原因
  2. EC200 EC600 EC20接入工业互联网云平台
  3. USACO2018 OPEN TEST - Silver
  4. java php同时访问数据库,Java Spring中同时访问多种不同数据库的代码实例分享
  5. Java Spring中同时访问多种不同数据库
  6. 21个有用的python工具
  7. 【区块链新手快速入门】如何构建一个区块链
  8. JAVA使用jcifs读取共享文件夹(SMB1,SMB2协议)
  9. 医美面膜商城小程序开发,助力企业数字化转型
  10. Java中获取内存地址