面经

Android网络编程(一):TCP/IP协议基础栈结构

2017-05-02  本文已影响72人  C6C

Android开发,或者任何的互联网相关的服务,总免不了会使用到网络通信,而Android开发中,现今有很多优秀的框架,比如Volley、Okhttp3、Retrofit等,使用起来很方便,但是还是有必要了解一下整体上的网络编程结构的。

1 基本介绍

计算机的网络世界是由一台台主机和路由器组成的,主机间需要通信,这就造成一个问题,主机不可能和其它主机都连接上,所以需要路由器,将信息进行分发,通信的信息是指程序创建的字节序列,也称为分组报文(packet)。
前面提到了,通信的信息是一组组的字节序列,一台计算机接受到一组字节序列之后,在计算机眼中它们就是一堆二进制数,所以相互通信的应用之间必须预先达成一定的约定,以什么方式编码、以什么方式解码、分组报文的结构等都需要预先规定好,一组协议通常是为了解决一个特定的问题,为了使问题可管理,就出现了TCP/IP协议,TCP/IP协议就是一组解决方案,也称为协议族(protocol suite),当然还有其它的协议族,但是TCP/IP协议已经是事实上网络世界中通用的方案了。

2 基础结构

为了保证不同的计算机网络厂商之间的产品能够互相通信,必须有一套统一的标准,最先ISO(国际标准化组织)制定了OSI协议,但是由于OSI协议实现过于复杂,就没有普及开来,但是作为其指导方针的OSI参考模型却被用于制定网络协议中。
OSI参考模型的分层结构是较为理想化的,分层的好处就是模块化,简化网络间的通信处理,每层独立作用,利于扩展,但是模块化得适当,太过就会造成处理起来太过沉重,以及模块间出现类似的逻辑处理。


OSI参考模型与TCP/IP模型对比

为了方便理解TCP/IP协议的分层结构,可以先事先了解一下OSI的,因为TCP/IP就相当于简化版。我们接触比较多的HTTP(超文本传输协议)就是属于应用层的,专门针对于超文本对象的通信。


OSI参考模型的七个分层作用

3 TCP/IP结构

TCP/IP协议族是分层结构,可以对应到OSI参考模型,一般将其分为4层结构。 一个TCP/IP网络
上一篇 下一篇

猜你喜欢

热点阅读