Win7系统之家 网站地图| TAG标签| RSS订阅| 加入收藏

Linux互联网协议基础知识需知

  • 浏览:
  • |
  • 更新:

互联网协议是互联网上所有设施之间通信规则的集合,那样你知道Linux下的互联网协议吗?下面记者给大伙详细介绍下Linux互联网协议,以便你有更详细的认知。

Linux互联网协议栈基于分层的设计思想,总共分为四层,从下往上依次是:物理层,链路层,互联网层,应用层。

Linux互联网协议栈其实是来自于BSD的协议栈,它向上与向下的接口与协议栈本身的软件分层组织的很好。 Linux的协议栈基于分层的设计思想,总共分为四层,从下往上依次是:物理层,链路层,互联网层,应用层。

物理层主要提供各种连接的物理设施,如各种网卡,串口卡等;

链路层主要指的是提供对物理层进行访问的各种接口卡的驱动程序,如网卡驱动等;

网路层有哪些用途是负责将互联网数据包传输到正确的地方,非常重要的互联网层协议当然就是IP协议了,其实互联网层还有其他的协议如ICMP,ARP,RARP等,只是不像IP那样被多数人所熟知;

传输层有哪些用途主如果提供端到端,说白一点就是提提供用程序之间的通信,传输层最着名的协议非TCP与UDP协议末属了;

应用层,顾名思义,当然就是由应用程序提供的,用来对传输数据进行语义讲解的人机界面层了,譬如HTTP,SMTP,FTP等等,其实应用层还不是大家最后所看到的那一层,最上面的一层应该是讲解层,负责将数据以各种不一样的表项形式最后呈献到大家眼前。

Linux互联网核心构造

Linux的互联网构造从上往下可以分为三层,分别是: 用户空间的应用层。 内核空间的互联网协议栈层。 物理硬件层。 其中非常重要最重要的当然是内核空间的协议栈层了。

Linux互联网协议栈结构

Linux的整个互联网协议栈都构建与Linux Kernel中,整个栈也是严格根据分层的思想来设计的,整个栈共分为五层,分别是 :

1,系统调用接口层,实质是一个面向用户空间应用程序的接口调用库,向用户空间应用程序提供用互联网服务的接口。

2,协议无关的接口层,就是SOCKET层,这一层的目的是屏蔽底层的不同协议(更准确的来讲主如果TCP与UDP,当然还包含RAW IP, SCTP等),以便与系统调用层之间的接口可以简单,统一。简单的说,不管大家应用层用什么协议,都要通过系统调用接口来打造一个SOCKET,这个SOCKET其实是一个巨大的sock结构,它和下面一层的互联网协议层联系起来,屏蔽了不一样的互联网协议的不同,只吧数据部分呈献给应用层(通过系统调用接口来呈献)。

3,互联网协议达成层,毫无疑问,这是整个协议栈的核心。这一层主要达成各种互联网协议,最主要的当然是IP,ICMP,ARP,RARP,TCP,UDP等。这一层包括了不少设计的方法与算法,相当的很好。

4,与具体设施无关的驱动接口层,这一层的目的主如果为了统一不一样的接口卡的驱动程序与互联网协议层的接口,它将各种不一样的驱动程序的功能统一抽象为几个特殊的动作,如open,close,init等,这一层可以屏蔽底层不一样的驱动程序。

5,驱动程序层,这一层的目的就非常简单了,就是打造与硬件的接口层。 可以看到,Linux互联网协议栈是一个严格分层的结构,其中的每一层都实行相对独立的功能,结构很明确。 其中的两个无关层的设计很棒,通过这两个无关层,其协议栈可以很轻松的进行扩展。在大家我们的软件设计中,可以吸收这种设计办法。

上面就是Linux互联网协议的详细介绍了,假如你对Linux互联网协议不是非常知道的话,可以来认识下本文,通过本文,你将对Linux互联网协议有肯定的认知。

相关推荐