正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

文章

Home android 嵌入式开发 linux 网络概述
Home android 嵌入式开发 linux 网络概述

linux 网络概述

android 嵌入式开发, linux开发学习 by

Linux优秀的网络功能和它严密科学的设计思想是分不开的。在分析Linux网络内容之前,我们先大体上了解一下网络部分的设计思想及其特点,这对于我们后面的分析很有帮助:

1.Linux的网络部分沿用了传统的层次结构。网络数据从用户进程传输到网络设备要经过四个层次,如图图所示:

每个层次的内部,还可以再细分为很多层次。数据的传输过程只能依照层次的划分,自顶向下进行,不能跨越其中的某个或某些层次,这就使得网络传输只能有一条而且是唯一的一条路径,这样做的目的就是为了提高整个网络的可靠性和准确性。

 

2 . Linux对以上网络层次的实现采用了面向对象的设计方法,层次模型中的各个层次被抽象为对象,这些对象是:

  •    网络协议(protoal) 网络协议是一种网络语言,它规定了通信双方之间交换信息的一种规范,它是网络传输的基础。
  •    套接字 (socket) 一个套接字就是网络中的一个连接,它向用户提供了文件的I/O,并和网络协议紧密地联系在一起,体现了网络和文件系统、进程管理之间的关系,它是网络传输的入口。
  •    设备接口(device and interface) 网络设备接口控制着网络数据由软件——硬件——软件的过程,体现了网络和设备的关系,它是网络传输的桥梁。
  •    网络缓冲区(network buffers) 网络中的缓冲器叫做套接字缓冲区(sk_buff)。它是一块保存网络数据的内存区域,体现了网络和内存管理之间的关系,它是网络传输的灵魂。

这四个对象之间的关系请看图

 

从上图我们可以看出:这四个对象之间的关系是非常紧密的,其中套接字缓冲区的作用非常重要,它和其他三个对象均有关系。

Linux网络部分为了提高它整体上的兼容性,每一个核心对象都包含了很多种类,为了便于对网络内核的分析,每一个对象我们只选择最常用的一种详细说明,其他种类从略。

 

 

06 2015-12

 

我要 分享

 

 

本文 作者

 

相关 文章