现在的位置: 首页 > 综合 > 正文

了解网络协议续

2013年08月12日 ⁄ 综合 ⁄ 共 2281字 ⁄ 字号 评论关闭

网络层(Network Layer

       上面的协议只能实现同一个局域网里的通信,那么如何才能使WiFi上的一台计算机和以太网上的另一台计算机通信呢?这时我们需要借助一个中间媒介。而它必须具备以下功能:1、在物理层上能从两个网络上接收和发送0/1序列,2、能同时理解这两种网络的帧格式。这时候,路由器就应用而生了,一个路由器有多个网卡(NICNetwork
Interface Controller
),每个NIC可以接入多个网络,并理解相应的连接层协议。在帧经过路由到达另一个网络的时候,路由会读取帧的信息,并改写以发送到另一个网络。所以路由好比一个邮差的办公地点邮局一样,邮局里有不同区域的邮差,一个邮差把信送到邮局后,另一个邮差就可以将此信送到另一个不同的社区去。

       根据图中可以清晰的看到,要想让一号台式机的信息到3号台式机,整个过程至少需要经过四个地址(一号台式机、WiFi接口、以太网接口、三号台式机)。这时仅仅靠连接层协议(SRCDST)就不能满足我们的需求了,但是连接层的协议已经存在了,我们不能随便更改它,所以只能在数据(payload)上下功夫了,IP协议这时就派上用场了。一号计算机,路由器和三号计算机都要理解IP协议,当一号计算机写信的时候,会再信纸的开头写上这封信的出发地址和最终要到达的地址(注意不是在信封上写),而在信封上写上要送往邮局(路由器)。在邮局,信被打开,邮局工作人员看到最终地址,于是将信包装在一个新的信封中,写上出发地址为邮局,到达地址为三号计算机,并交给以太网的邮差,由以太网的邮差送往计算机三(这个过程和邮局分发信件稍有差别)。IP地址类似信封上的邮编,这个地址是唯一的,所以根据它可以唯一确定此信的目的地。

       每个邮局一般都会连接多个区域,而一个区域也可以有多个邮局,分别通往不同的区域。有时候一封信可能要通过中间多个邮局才能最终到达目的地,邮局将分离的局域网连接成了internet,并最终构成了覆盖全球的互联网

传输层(Transport Layer

       有了上面的三层可以实现不同计算机之间的通信,但计算机中实际上也有许多个进程,每个进程都可能有通信的需求。这就像是一所房子里住了几个人(进程),如何把信精确的送到其中的某个人?按照邮局送信的逻辑,我们会在信封上写上收信人的个人信息,这样才能保证顺利送到。所以,我们还需要新的协议来解决此问题,比如:传输层的两个协议TCPUDP,使用端口号(port
number
来识别收信人(电脑的某个进程)。只要我们写上目的地的端口,送信人就会根据传输层协议,识别该端口号,将信送给指定的某个人(进程)。

         TCPUDP协议是两种不同的传输层协议,TCPTransmission Control Protocol,传输控制协议)是基于链接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。就像两个亲密的人要通过微博私信即可聊天一样,首先要互相确认一下对方的身份,是否是自己想找的人。一个TCP连接必须要经过三次“对话”才能建立起来,简单的过程类似:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个发送,一个在接收,协调工作)的数据包:“可以,什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“现在就发,你接着吧!”,这时第三次对话,也叫三次握手协议。这三次“对话”的目的是使数据包的发送和接收同步,保证数据准确安全的到达目的地。

         UDPuser Data Protocol,用户数据报协议)是与TCP相对应的协议,不是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!就像qq留言一样,不管对方是谁,也不管对方是否等待接收,你都可以发送消息给他。

         UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。而TCP则相对于UDP更加可靠,而且传输信息的长度也大于UDP

应用层(Application Layer

       会话层的功能实际上都在应用层中体现了,不同的应用实现的方式不同而已,而表示层的思想主要体现在网络的加密传输上。所以我们就合一起说了。

       通过上面的几层协议,我们已经可以在任意两个人(进程)之间进行通信。然而每个人实际上从事的是不同的行业。有的人是律师,有的人外交官。比如说律师之间的通信,会用严格的律师术语,以免产生纠纷。再比如外交官之间的通信,必须符合一定的外交格式,以免发生外交误会。再比如间谍通过暗号来传递加密信息。应用层协议是对信件内容进一步的用语规范。应用层的协议包括用于Web浏览的HTTP协议,用于传输文件的FTP协议,用于EmailIMAP等等。

 

总结:

       从上面的专业术语和通俗解释及类比邮局送信的过程中,我们可以清晰的看出网络分层每层都有自己独特的功能,将可读信息按照需要来选择合适的协议封装成一封信(0/1序列),送到目的地后在通过对应的协议翻译出来,最后在不同的地方可以看到和原来一样的信息。整个过程是:可读信息→二进制→可读信息。计算机只能理解和传输0/1序列,而用户用输入和看的都是可读信息,这中间就是网络协议在起作用,它保证了可读信息在整个转换和传输过程中的完整性。

 

 http://blog.csdn.net/smszhuang168/article/details/8619530

抱歉!评论已关闭.