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

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参考模型的七个分层作用
  • 2.1 物理层
    负责计算机的0和1序列和硬件高低电压的转换;
  • 2.2 数据链路层
    负责物理层连接的节点间数据通信,将0和1序列传送到另一端;
  • 2.3 网络层
    将数据传输到目标地址,主要作用就是寻址和路由器选择,定位接受方地址;
  • 2.4 传输层
    起着可靠传输的作用,在通信双方的节点进行处理;
  • 2.5 会话层
    负责建立和断开连接,以及数据的分割等数据相关的管理操作
  • 2.6 表示层
    将应用处理的信息转化为网络传输的格式,或者是将下一层格式的数据转换为能够处理的格式,主要负责数据格式的转换,比如说文本格式、图片格式的文件要传输的话得先转换成比特流;
  • 1.7 应用层
    为应用提供服务,并规定好相关的细节。

3 TCP/IP结构

TCP/IP协议族是分层结构,可以对应到OSI参考模型,一般将其分为4层结构。
一个TCP/IP网络
  • 3.1 网络接口层(物理层+数据链路层)
    TCP/IP中的最低层是网络接口层,包括物理层,比如以太网和WiFi等通信信道,而数据链路层利用以太网等硬件接口进行通信,可以把数据链路层看作为驱动程序(驱动程序在操作系统和硬件之间充当了桥梁的作用)。
  • 3.2 网络层
    网络层使用的是IP协议,它使两个主机间的一系列通信信道和路由器看起来像是单独一条主机到主机的信道。IP协议使用IP地址作为标识,将数据通过网络独立处理和分发,从而发送到目的地。
    IP协议属于非可靠性传输协议,就是说数据发送过程中出现丢失也不会重复发送。
  • 3.3 传输层
    传输层主要包括两个协议,TCP和UDP。这两种协议都建立在网络层所提供的服务基础上,它们有一个共同的作用,就是寻址,因为网络层只负责将数据发送到主机上,而具体的到达应用程序并没有特别指定,TCP和UDP协议用的地址就是端口号,可以将数据传输到具体的程序之上。
  • 3.3.1 TCP协议:能够检测和恢复网络层传输过程中可能造成的数据丢失等错误。TCP协议是一种面向连接的协议,在通信之前,两个应用程序之间得先建立连接,涉及到握手信息(handshake message)的交换。
  • 3.3.2 UDP协议:不尝试对网络层产生的错误进行恢复,是一种面向无连接的协议,它只是单纯的扩展了网络层的服务,使它能够在应用程序之间正常工作,而不仅是只在主机之间进行数据交换。如果使用UDP协议,应用程序要自己处理数据丢失等可能会发生的问题,因为其不关心对方是否收到数据。
  • 3.4 应用层
    TCP/IP分层中,集中实现了OSI参考模型中的会话层、表示层和应用层。它包括了一些服务,负责与终端的用户做一些认证、数据处理及压缩,将应用程序的数据处理之后交给传输层。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,034评论 6 174
  • 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。 一、 计算机网络体系结构分层 二、 TCP/IP 基础...
    涤生_Woo阅读 64,896评论 38 1,038
  • 版本记录 前言 在互联网行业中,不管你是客户端前端还是后台,只要是与网络相关,你就必须了解一些基础知识,包括这里的...
    刀客传奇阅读 1,868评论 0 16
  • 291976-陈国艳《2017-07-29》 【连续第168天总结】 A、目标完成情况 1、抄写概念完成0 2、学...
    国艳更文的365天阅读 248评论 0 0