什么是通信网络协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是通信网络协议相关的知识,希望对你有一定的参考价值。

参考技术A 问题一:什么是网络通信协议? 网络通信协议为连接不同操作系统和不同硬件体系结构的互联网络引提供通信支持,是一种网络通用语言。
网络通信协议?分三种
1、 NetBEUI协议NetBEUI(NetBios Extended User Interface,用户扩展接口)由IBM于1985年开发完成,它是一种体积小、效率高、速率快的通信协议。NetBEUI也是微软最钟爱的一种通信协议,所以它被称为微软所有产品中通信协议的“母语”。NetBEUI是专门为由几台到百余台计算机所组成的单网段部门级小型局域网而设计的,它不具有跨网段工作的功能,即NetBEUI不具备路由功能。如果一个服务器上安装了多个网卡,或要采用路由器等设备进行两个局域网的互连时,则不能使用NetBEUI通信协议。否则,与不同网卡(每一个网卡连接一个网段)相连的设备之间,以及不同的局域网之间无法进行通信。在3种通信协议中,NetBEUI占用的内存最少,在网络中基本不需要任何配置。2、 IPX/SPX及其兼容协议IPX/SPX(Internetwork Packet Exchange/Sequences Packet Exchange,网际包交换/顺序包交换)是Novell公司的通信协议集。IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。当用户端接入NetWare服务器时,IPX/SPX及其兼容协议是最好的选择。但在非Novell网络环境中,IPX/SPX一般不使用。尤其在Windows NT网络和由Windwos95/98组成的对等网中,无法直接使用IPX/SPX通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink IPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它继承了IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。3、 TCP/IP协议TCP/IP ( Tran *** ission Control Protocol/Internet Protocol,传输控制协议/网际协议 ) 是目前最常用的一种通信协议。TCP/IP具有很强的灵活性,支持任意规模的网络,几乎可连接所有服务器和工作站。在使用TCP/IP协议时需要进行复杂的设置,每个结点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”、一个“主机名”,对于一些初学者来说使用不太方便。不过,在Windows NT中提供了一个被称为动态主机配置协议(DHCP)的工具,它可以自动为客户机分配连入网络时所需的信息,从而减轻了连网工作的负担,并避免了出错。当然,DHCP所拥有的功能必须要有DHCP服务器才能实现。另外,同IPX/SPX及其兼容协议一样,TCP/IP也是一种可路由的协议。[1]

问题二:什么是通信网络协议 网络有7层协议~
协议就是需要与01转换规则。
比如一根网线每个的功能不一样。

问题三:什么是计算机网络通讯协议 网络通信协议
目前,局域网中常用的通信协议主要有:NetBEUI协议、IPX/SPX兼容协议和TCP/IP协议。
1.1 NetBEUI协议 ①NetBEUI是一种体积小、效率高、速度快的通信协议。在微软如今的主流产品,在Windows和Windows NT中,NetBEUI已成为其固有的缺省协议。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的。②NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS是IBM用于实现PC间相互通信的标准,是一种在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个。
1.2 IPX/SPX及其兼容协议 ①IPX/SPX是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。②IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的,数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,IPX/SPX也叫做“Novell的协议集”。③NWLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows的用户,可以利用NWLink协议获得NetWare服务器的服务。从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。
1.3 TCP/IP协议 TCP/IP是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。①TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。在Windows NT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时......>>

问题四:什么是通信网络协议? 就是网络设备之间进行通信的协议。
怎么开始,怎么交流或者怎么保密,再怎么结束。

问题五:什么是计算机网络通信协议 网络通信协议
目前,局域网中常用的通信协议主要有:NetBEUI协议、IPX/SPX兼容协议和TCP/IP协议。
1.1 NetBEUI协议 ①NetBEUI是一种体积小、效率高、速度快的通信协议。在微软如今的主流产品,在Windows和Windows NT中,NetBEUI已成为其固有的缺省协议。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的。②NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS是IBM用于实现PC间相互通信的标准,是一种在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个。
1.2 IPX/SPX及其兼容协议 ①IPX/SPX是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。②IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的,数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,IPX/SPX也叫做“Novell的协议集”。③NWLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows的用户,可以利用NWLink协议获得NetWare服务器的服务。从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。
1.3 TCP/IP协议 TCP/IP是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。①TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。在Windows NT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时......>>

问题六:什么是网络通信协议?它有什么作用? “网络通信协议”指的是连接不同操作系统和不同硬件体系结构的互联网络引提供通信支持,是一种网络通用语言。
常用的三个网络协议
网络中不同的工作站,服务器之间能传输数据,源于协议的存在。随着网络的发展,不同
的开发商开发了不同的通信方式。为了使通信成功可靠,网络中的所有主机都必须使用同
一语言,不能带有方言。因而必须开发严格的标准定义主机之间的每个包中每个字中的每
一位。这些标准来自于多个组织的努力,约定好通用的通信方式,即协议。这些都使通信
更容易。
已经开发了许多协议,但是只有少数被保留了下来。那些协议的淘汰有多中原因---设
计不好、实现不好或缺乏支持。而那些保留下来的协议经历了时间的考验并成为有效的通
信方法。当今局域网中最常见的三个协议是MICROSOFT的NETBEUI、NOVELL的IPX/SPX和交叉
平台TCP/IP。
一:NETBEUI
NETBEUI是为IBM开发的非路由协议,用于携带NETBIOS通信。NETBEUI缺乏路由和网络
层寻址功能,既是其最大的优点,也是其最大的缺点。因为它不需要附加的网络地址和网
络层头尾,所以很快并很有效且适用于只有单个网络或整个环境都桥接起来的小工作组环
境。
因为不支持路由,所以NETBEUI永远不会成为企业网络的主要协议。NETBEUI帧中唯一
的地址是数据链路层媒体访问控制(MAC)地址,该地址标识了网卡但没有标识网络。路由
器靠网络地址将帧转发到最终目的地,而NETBEUI帧完全缺乏该信息。
网桥负责按照数据链路层地址在网络之间转发通信,但是有很多缺点。因为所有的广
播通信都必须转发到每个网络中,所以网桥的扩展性不好。NETBEUI特别包括了广播通信的
记数并依赖它解决命名冲突。一般而言,桥接NETBEUI网络很少超过100台主机。
近年来依赖于第二层交换器的网络变得更为普遍。完全的转换环境降低了网络的利用
率,尽管广播仍然转发到网络中的每台主机。事实上,联合使用100-BASE-T Ethernet,允
许转换NetBIOS网络扩展到350台主机,才能避免广播通信成为严重的问题。
二:IPX/SPX
IPX是NOVELL用于NETWARE客户端/服务器的协议群组,避免了NETBEUI的弱点。但是,
带来了新的不同弱点。
IPX具有完全的路由能力,可用于大型企业网。它包括32位网络地址,在单个环境中允
许有许多路由网络。
IPX的可扩展性受到其高层广播通信和高开销的限制。服务广告协议(Service Adver
tising Protocol,SAP)将路由网络中的主机数限制为几千。尽管SAP的局限性已经被智能路
由器和服务器配置所克服,但是,大规模IPX网络的管理员仍是非常困难的工作。
三:TCP/IP
每种网络协议都有自己的优点,但是只有TCP/IP允许与Internet完全的连接。TCP/IP
是在60年代由麻省理工学院和一些商业组织为美国国防部开发的,即便遭到核攻击而破坏
了大部分网络,TCP/IP仍然能够维持有效的通信。ARPANET就是由基于协议开发的,并发展
成为作为科学家和工程师交流媒体的Internet。
TCP/IP同时具备了可扩展性和可靠性的需求。不幸的是牺牲了速度和效率(可是:TCP
/IP的开发受到了 *** 的资助)。
Internet公用化以后,人们开始发现全球网的强大功能。In......>>

问题七:什么是计算机网络协议?为什么需要网络协议? 网络上的计算机之间又是如何交换信息的呢?就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。
网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的 *** ,它规定了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。一台设备上的第 n层与另一台设备上的第n层进行通信的规则就是第n层协议。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中用得的比较多的是IPX/SPX.。用户如果访问Internet,则必须在网络协议中添加TCP/IP协议。
TCP/IP是“tran *** ission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。 对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。
IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip 地址,而是使用网卡的物理地址即(MAC)地址。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft等,到现在很多软件和硬件也均支持这种协议。
NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WI......>>

问题八:Internet使用的通信协议是什么 1.TCP/IP是“tran *** ission Control Protocol/Internet
Protocol”的简写,中文译名为传输控制协议/互联网络协议。TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。
对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。
2.NetBEUI即NetBios Enhanced User
Interface,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for
Workgroup、Win9x系列、Windows
NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。

问题九:Internet网采用的通信协议是什么协议 最常用的是TCP/IP协议
使用TCP/IP协议。IP协议也称互联网协议,TCP协议也称传输控制协议。TCP和IP协议协同工作,保证Internet上数据能可靠、正确和迅速地传输。

问题十:网络通信协议是通信双方为实现什么 网络通信协议是通信双方为实现
通信 所作的约定或对话规则

网络协议趣谈什么是网络协议

下面是一段经典的Hello World!代码

public class HelloWorld {
  public static void main(String[] args){
    System.out.println("Hello World!");
  }
}

这是每一个程序员向计算机世界说"你好,世界"的方式。但是,这段文字也是一种协议,是人类和计算机沟通的协议,只有通过这种协议计算机才知道我们想让它做什么

一、协议三要素

这种协议还是更接近人类语言,机器并不能直接读懂,需要进行翻译,翻译的工作交给编译器,也就是常说的compile

可以看得出,计算机语言作为程序员控制一台计算机工作的协议,具备了协议的三要素

  • 语法

内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等

  • 语义

内容要代表某种意义。例如数字减去数字是有意义的,数字减去文本一 般来说就没有意义

  • 顺序

先干啥,后干啥。例如,可以先加上某个数值,然后再减去某个数值

但是,要想打造互联网世界,只教给一台机器做什么是不够的,需要学会教给一大片机器做什么,这就需要网络协议。只有通过网络协议才能使一大片机器互相协作的方式共同完成一件事

二、简单栗子

那网络协议长啥样,能干成啥事?先看下面的这个栗子

当想要买一个商品,常规的做法就是打开浏览器,输入购物网站的地址,浏览器就会显示一个缤纷多彩的页面

那浏览器是如何做到这件事情的?它之所以能够显示缤纷多彩的页面,是因为它收到了一段来自HTTP协议的"东西"。用一个购物网站来举例,格式就像下面这样:

HTTP/1.1 200 OK
Date: Tue, 27 Mar 2018 16:50:26 GMT
ContentType: text/html;charset=UTF‑8
ContentLanguage: zh‑CN
<!DOCTYPE html>
<html>
<head>
<base href="https://pages.kaola.com/" />
<meta charset="utf‑8"/> <title>大促主会场</title>

这符合协议的三要素吗?

  1. 符合语法,只有按照上面那个格式浏览器才认。例如,上来是状态,然后是首部,然后是内容

  2. 符合语义,就是要按照约定的意思来。例如,状态200表述的意思是网页成功返回。 如果不成功就是常见的404

  3. 符合顺序,一点浏览器就是发送出一个HTTP请求,然后才有上面那一串HTTP返回的东西

浏览器显然按照协议商定好,最后就展示了一个五彩缤纷的页面

三、常用的网络协议

在经济学领域,伦纳德·里德(Leonard E. Read)创作的《铅笔的故事》,这个故事通过一个铅笔的诞生过程讲述复杂的经济学理论。接下来用一个下单的过程看看互联网世界的运行过程中,都使用了哪些网络协议

  • URL

在浏览器里面输入https://www.jd.com,这是一个URL

  • DNS

浏览器只知道名字是www.jd.com,但并不知道具体的地点,所以不知道应该如何访问。于是,它打开地址簿去查找。可以使用一般的地址簿协议DNS去查找,还可以使用另一种更加精准的地址簿查找协议HTTPDNS

  • IP

无论用哪一种方法查找最终都会得到这个地址:39.175.102.3。这个是IP地址,是互联网世界的门牌号

  • HTTP/HTTPS

知道了目标地址,浏览器就开始打包它的请求。对于普通的浏览请求往往会使用HTTP协议,但对于购物的请求往往需要进行加密传输,因而会使用HTTPS协议。无论是什么协议里面都会写明你要买什么和买多少


DNS、HTTP、HTTPS所在的层称为应用层。经过应用层封装后,浏览器会将应用层的包交给下一层去完成,通过socket编程来实现

  • TCP/UDP

下一层是传输层。传输层有两种协议,一种是无连接的协议UDP,一种是面向连接的协议TCP。对于支付来讲往往使用TCP协议。所谓的面向连接就是,TCP会保证这个包能够到达目的地。如果不能到达就会重新发送,直至到达

TCP协议里面会有两个端口,一个是浏览器监听的端口,一个是电商的服务器监听的端口。 操作系统往往通过端口来判断,它得到的包应该给哪个进程


传输层封装完毕后,浏览器会将包交给操作系统的网络层。网络层的协议是IP协议。在IP协议 里面会有源IP地址,即浏览器所在机器的IP地址和目标IP地址,也即电商网站所在服务器的IP
地址


操作系统既然知道了目标IP地址,就开始想如何根据这个门牌号找到目标机器。操作系统往往
会判断,这个目标IP地址是本地人,还是外地人。如果是本地人,从门牌号就能看出来,但是 显然电商网站不在本地,而在遥远的地方

  • DHCP

操作系统知道要离开本地去远方。虽然不知道远方在何处,但是可以这样类比一下:如果去国外要去海关,去外地就要去网关。而操作系统启动的时候,就会被DHCP协议配置IP地址, 以及默认的网关的IP地址192.168.1.1

  • ARP

操作系统如何将IP地址发给网关呢?在本地通信基本靠吼,于是操作系统大吼一声,谁是192.168.1.1啊?网关会回答它,我就是,我的本地地址在村东头。这个本地地址就是MAC地 址,而大吼的那一声是ARP协议


于是操作系统将IP包交给了下一层,也就是MAC层。网卡再将包发出去,由于这个包里面是有MAC地址的,因而它能够到达网关

网关收到包之后,会根据自己的知识判断下一步应该怎么走。网关往往是一个路由器,到某个IP地址应该怎么走,这个叫作路由表

路由器有点像玄奘西行路过的一个个国家的一个个城关。每个城关都连着两个国家,每个国家相当于一个局域网,在每个国家内部都可以使用本地的地址MAC进行通信

一旦跨越城关就需要拿出IP头来,里面写着贫僧来自东土大唐(就是源IP地址),欲往西天拜佛求经(指的是目标IP地址)。路过宝地,借宿一晚,明日启行,请问接下来该怎么走啊?

  • OSPF/BGP

城关往往是知道这些知识的,因为城关和临近的城关也会经常沟通。到哪里应该怎么走,这种沟通的协议称为路由协议,常用的有OSPF和BGP


城关与城关之间是一个国家,当网络包知道了下一步去哪个城关,还是要使用国家内部的MAC地址,通过下一个城关的MAC地址,找到下一个城关,然后再问下一步的路怎么走,一
直到走出最后一个城关

最后一个城关知道这个网络包要去的地方。于是,对着这个国家吼一声,谁是目标IP啊?目标 服务器就会回复一个MAC地址。网络包过关后,通过这个MAC地址就能找到目标服务器

目标服务器发现MAC地址对上了,取下MAC头来,发送给操作系统的网络层。发现IP也对上 了,就取下IP头。IP头里会写上一层封装的是TCP协议,然后将其交给传输层,即TCP层

在这一层里,对于收到的每个包都会有一个回复的包说明收到了。这个回复的包绝非这次下单请求的结果,例如购物是否成功,扣了多少钱等,而仅仅是TCP层的一个说明,即收到之后的回复。当然这个回复会沿着刚才来的方向走回去,报个平安

因为一旦出了国门,西行路上千难万险,如果在这个过程中网络包走丢了,例如进了大沙漠或者被强盗抢劫杀害怎么办呢?因而到了要报个平安

如果过一段时间还是没到,发送端的TCP层会重新发送这个包,还是上面的过程直到有一天收到平安到达的回复。这个重试绝非浏览器重新将下单这个动作重新请求一次,对于浏览器来说就发送了一次下单请求,TCP层不断自己闷头重试。除非TCP这一层出了问题,例如连接断了才轮到浏览器的应用层重新发送下单请求

当网络包平安到达TCP层之后,TCP头中有目标端口号,通过这个端口号可以找到电商网站的进程正在监听这个端口号,假设一个Tomcat,将这个包发给电商网站


电商网站的进程得到HTTP请求的内容,知道了要买东西和买多少。往往一个电商网站最初接 待请求的这个Tomcat只是个接待员,负责统筹处理这个请求,而不是所有的事情都自己做。 例如,这个接待员要告诉专门管理订单的进程,登记要买某个商品和买多少,要告诉管理库存的进程,库存要减少多少,要告诉支付的进程,应该付多少钱等等

  • RPC

如何告诉相关的进程呢?往往通过RPC调用,即远程过程调用的方式来实现。远程过程调用就是当告诉管理订单进程的时候,接待员不用关心中间的网络互连问题,会由RPC框架统一处理。RPC框架有很多种,有基于HTTP协议放在HTTP的报文里面的,有直接封装在TCP报文里面的

当接待员发现相应的部门都处理完毕,就回复一个HTTPS的包告知下单成功。这个HTTPS
的包会像来的时候一样,经过千难万险到达你的个人电脑,最终进入浏览器显示支付成功

网络协议,按照从底层到上层的顺序

以上是关于什么是通信网络协议的主要内容,如果未能解决你的问题,请参考以下文章

什么是网络,了解什么是IPTCP协议UDP协议http协议?

2.网络协议是什么?

什么是TCP/IP协议?

网络协议趣谈什么是网络协议

网络协议趣谈什么是网络协议

TCP/IP协议是啥?