计算机网络--协议

本文介绍了计算机网络中协议的重要性,如TCP/IP协议的作用,以及分组交换的概念,通过比喻人类交流和邮寄包裹来阐述协议在数据传输中的关键角色。
摘要由CSDN通过智能技术生成

1.1随处可见的协议

        在计算机网络与信息通信领域里,人们经常提及 “ 协议” 一词。互联网中常用的具有代表性的协议有IP、TCP、HTTP等。而LAN (局域网) 中常用的协议有IPX/SPX等。

        ”计算机网络体系结构” 将这些网络协议进行了系统的归纳。TCP/IP 就是 IP、THTTP等协议的集合。现在,很多设备都支持TCP/IP。除此之外,还有很多其他类型的网络体系结构。例如,Novell公司的IPX/SPX、苹果公司的Ap-pleTalk (仅限苹果公司计算机使用)、IBM公司开发的用于构建大规模网络的SNA" 以及前DEC公司v开发的DECnet等。

1.2协议的必要性        

        通常,我们发送一封电子邮件、访问某个主页获取信息时察觉不到协议的存在,只有在我们重新配置计算机的网络连接、修改网络设置时才有可能涉及协议。因此只要网络设置完成、联网成功,人们通常也就会忘记协议之类的事情。只要 应用程序了解如何利用相关协议,就足以让人们顺利使用所建的网络连接。通常也不会有一个人因为不懂某些协议导致不能上网的情况。然而在通过网络实现互通信的过程背后,协议却起到了至关重要的作用。

        简单来说,协议就是计算机与计算机之间通过网络实现通信时事先达成的一约定” 。这种 “ 约定” 使那些由不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。反之,如果 所使用的协议不同,就无法实现通信。这就好比两个人使用不同国家的语言说话,怎么也无法相互理解。协议可以分为很多种,每一种协议都明确地界定了它的行为规范。两台计算机之间必须能够支持相同的协议,并遵循相同协议进行处理,这样才能实现相互通信。

        在此举一个简单的例子。有三个人A、B,C。A只会说汉语,B只会说英语、 而C既会说汉语又会说英语。现在A与B要聊天,他们之间该如何沟通呢?若A 与C要聊天,又会怎样?这时如果我们:

  • 将现语和英语当作 “协议”
  • 将聊天当作 “通信”
  • 将说话的内容当作 “数据”

        那么A与B之间由于各持一种语言,恐怕说多久也无法交流。因为他们之间的谈话所用的协议(语言)不同,双方都无法将数据(所说的话)传递给对方’ 。
        接下来,我们分析A与C之间聊天的情况。两人都用汉语这个 “协议” 就能理解对方所要表达的具体含义了。也就 是说A与C为了顺利沟通,采用同一种协议,使得他们之间能够传递所期望的数据(想要说给对方的话)。
        如此看来,协议如同人们平常说话所用的语言。随然语言是人类才具有的特性,但计算机与计算机之间通过网络进行通信时,也可以认为是依据类似于人类 “语言” 实现了相互通信。

1.3计算机中的协议

        人类具有掌握知识的能力,对所学知识也有一定的应用能力和理解能力。因此在某种程度上,人与人的沟通并不受限于太多规则。即使有任何规则之类的东西,人们也可以通过自己的应变能力很自然地去适应规则。
        然而这一切在计算机通信当中,显然无从实现。因为计算机的智能水平还没有达到人类的高度。其实,计算机从物理连接层面到应用程序的软件层面,各个组件都必须严格遵循着事先达成的约定才能实现真正的通信。此外,每个计算机 还必须装有实现通信最基本功能的程序。如果将前面例子中提到的A、B与C替换到计算机中,就不难理解为什么需要明确定义协议,为什么要遵循既定的协议来设计软件和制造计算机硬件了。
        人们平常说话时根本不需要特别注意就能顺其自然地吐字、 发音。并且在很多场合,人类能够根据对方的语义、声音或表情,合理地调整自己的表达方式和所要传达的内容,从而避免给对方造成误解。甚至有时在谈话过程中如果不小心漏掉几个词,也能从谈话的语境和上下文中猜出对方所要表达的大体意思,不至于影响自己的理解。然而计算机做不到这一点。因此,在设计计算机程序与硬件 时,要充分考虑通信过程中可能会遇到的各种异常以及对异常的处理。在实际遇到问题时,正在通信的计算机之间也必须具备相应的设备和程序以应对异常。
        在计算机通信中,事先达成一个详细的约定,并遵循这一约定进行处理尤为重要。这种约定其实就是 “协议”。

1.4分组交换协议

        分组交换是指将大数据分割为一个个叫做包(Packet)的较小单位进行传输 的方法。这里所说的包,如同我们平常在邮局里见到的邮包。分组交换就是将大数据分装为一个个这样的邮包交给对方。

        当人们邮寄包裹时,通常会填写一个寄件单贴到包裹上再交给邮局。寄件单上一般会有寄件人和收件人的详细地址。类似地,计算机通信也会在每一个分组中附加上源主机地址和目标主机地址送给通信线路。这些发送端地址、接收端地址以及分组序号写人的部分称为 “报文首部”。
        一个较大的数据被分为多个分组时,为了标明是原始数据中的哪一部分,就 有必要将分组的序号写入包中。接收端会根据这个序号,再将每个分组按照序号重新装配为原始数据。
        通信协议中,通常会规定报文首部应该写入哪些信息、应该如何处理这些信息。相互通信的每一台计算机则根据协议构造报文首部、读取首部内容等。为了双方能正确通信,分组的发送方和接收方有必要对报文首部和内容保持一致的定义和解释。



内容来自-- 图解TCP_IP

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

〖七月〗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值