Linux网络协议入门须知

2016-02-19 20:55 4 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的Linux网络协议入门须知,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Linux教程 】

网络协议是网络上所有设备之间通信规则的集合,那么你了解Linux下的网络协议吗?下面图老师小编给大家详细介绍下Linux网络协议,以便你有更详细的了解。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

 Linux网络协议入门须知

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

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

网路层的作用是负责将网络数据包传输到正确的位置,最重要的网络层协议当然就是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网络协议有一定的了解。

来源:http://www.tulaoshi.com/n/20160219/1624848.html

延伸阅读
ICMP就是所谓的Internet控制报文协议(Internet Control Message Protocol),在网络中,一般用它来传递差错报文以及其他应注意的信息。ICMP一般被认为是和IP协议同一层的协议,IMCP报文通常被IP层或者更高层的协议(如:TCP或者UDP)使用,ICMP对于互联网以及其他基于IP协议的网络的正常运行起着非常重要的作用。有许多重要的网络程序都是...
五、建立TCP客户端 讨论了套接字类的功能后,我们将分析一个完整的TCP客户端程序。此处我们将看到的客户端程序是一个daytime客户端,它连接到一个daytime服务器程序以读取当前的日期和时间。建立套接字连接并读取信息是一个相当简单的过程,只需要少量的代码。!-- frame contents -- !-- /frame contents --默认情况下daytime服务运...
一、概述 TCP提供的网络通讯接口与用户数据报协议(UDP)截然不同。TCP的特性使网络编程很具魅力,而且它删除了UDP的很多干扰部分(例如数据包的排序和丢失),简化了网络通讯。UDP关心的是数据包的传输,而TCP关注的是建立网络连接,并在网络连接中发送和接收字节流。 数据包可以通过网络用多种方法发送,并且它们到达的时间...
标签: 网络游戏
《功夫英雄》新手入门须知 界面简介 熟悉游戏界面能更好地进行游戏: -------------------------------------------------------------------------------- 快捷操作 常用快捷键列表: 快捷键 作用 A、S、D、F 移动 1、2、3…0 快捷键 空格(Space) 跳跃 ~ 拾取地面道具 F9 隐藏...
  第十章 网络 网络和Linux是密切相关的。从某种意义来说Linux是一个针对Internet和WWW的产品。它的开发者和用户用Web来交换信息思想、程序代码,而Linux自身常常被用来支持各种组织机构的网络需求。这一章讲的是Linux如何支持如TCP/IP等网络协议的。 TCP/IP协议最初是为支持ARPANET(一个美国政府资助的研究性...

经验教程

319

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部