android开发不可避免的问题就是涉及到网络编程。一个没有网络接入的应用怎么好意思称之为移动互联网应用呢!
自身基础比较薄弱,先温习下网络的基础知识。任何两个事物交换信息都会按一定的规则来传输。在网络中传输信息所用的协议就叫网络协议,我们的计算机都是借着网络协议来进行通信的。
网络协议在百度百科中是这样定义的:为计算机网络中数据交换而建立的规则,标准或约定的集合。
网络协议的组成主要有3个要素:
1.语义:解释控制信息每个部分的意义。也就是告诉你这一段内容是做什么的。
2.语法:定义了所要传输的数据与控制信息的结构,顺序。告诉你怎么做。
3.时序:描述了事件发生的的顺序。它告诉你什么时候做什么事情。
网络上很多设备都需要交换信息,比如路由器,计算机,交换机,防火墙等等。这些设备之间传输都会有特定的协议,而我们这里网络的协议正是这些协议的集合。这样保证这些设备都能相互交换信息。一般的网络协议都有自己分层的体系结构,每一层协议都建立在下一层协议之上,向上一层提供服务,而他会对上一层隐藏自己的细节。而在网络的各层中又存在着各种协议。我们现在使用的互联网internet使用的协议是:TCP/IP协议。除此之前,网络协议还有:IPX/SPX协议,NetBUI协议。
在网络传输中,会遇到很多的结点,不同的结点之间的联系比较复杂。为了简化协议,一般用层级结构的方法来对协议进行分层,规定这些层级划分的原则:
1.每一层都规定有明确的的服务和接口标准。
2.协议的最高层是应用层。
3.除最高层之外,协议的每一层都向上一层提供服务,同时又是下一层的用户。
4.将物理通信线路层设为协议的底层。
下面我们再具体了解下网络协议分层层次具体划分情况:为了使不同厂家生产的计算机之间能相互通,以便建立一个更大的互通的网络。国际标准组织(ISO)在1978年提出了一个开放系统互联参考模型,即OSI/RM模型。在模型里,网络通信协议分为7个层次,自上而下分别为:
1.应用层
2.表示层
3.会话层
4.传输层
5.网络层
6.数据链路层
7.物理层
数据传输在第四层已经完成,上面的三层主要是面像用户的。而每一层都有相应的服务定义和协议规范。
常见的不同层的协议规范: