首页 理论教育 Linux的网络管理与BSD套接字及文件系统控制

Linux的网络管理与BSD套接字及文件系统控制

时间:2023-11-23 理论教育 版权反馈
【摘要】:Linux 和网络几乎是同义词。Linux 的网络实现是以4.3BSD 为模型的。其中BSD套接字由通用软件所支持,该软件是INET 套接字层,它来管理基于IP 的TCP 与UDP 的端到端互联问题。IP 层之下,是支持所有Linux 网络应用的网络设备层。③在Linux 系统中,套接字属于文件系统的一部分,网络通信可以看作是对文件的读取,使得对网络的控制和对文件的控制一样方便。Linux 使用的BSD socket.是一个通用的系统接口,它不仅支持各种网络工作形式,而且是一种进程间的通信机制。

Linux的网络管理与BSD套接字及文件系统控制

Linux 和网络几乎是同义词。 实际上,Linux 就是Internet 或WWW 的产物,Linux 的网络接口分为四部分:网络设备接口部分、网络接口核心部分、网络协议族部分以及网络接口socket 层。网络设备接口部分,主要负责从物理介质接收和发送数据,实现的文件在Linux /driver/net 目录下面;网络接口核心部分,是整个网络接口的关键部位,它为网络协议提供统一的接口,屏蔽各种各样的物理介质,同时负责将来自下层的包向合适的协议配送,它是网络接口的中枢部分,它的主要实现文件在Linux/net/core 目录下,其中linux/net/core/dev.c 为主要管理文件;网络协议族部分,是各种具体协议实现的源码,Linux 支持TCP/IP、IPX、X.25,AppleTalk 等的协议,各种具体协议实现的源码对应linux/net 目录下相应的名称,比如TCP/IP(IPv4)协议,实现的源码在Linux/net/ipv4,其中linux/net/ipv4/af_inet.c 是主要的管理文件;网络口Socket 层,为用户提供的网络服务的编程接口,主要的源码在linux/net/socket.c 中。

Linux 的网络实现是以4.3BSD 为模型的。 BSD(Berkeley Software Distribution)是Unix 现有技术的一个重要来源,具有优秀的稳定性、网络通信性能,代码结构严谨。 它是伴随UNIX的版本的发展而形成的一项技术,最初由美国加州大学伯克利分校发布了UNIX 的4.2BSD版本,这个版本的系统支持TCP/IP 协议及很多新的信号。 4.3BSD 也是UNIX 发展历史中的一个版本。

如同网络协议自身一样,Linux 也是通过视其为一组相连的软件层来实现的。 其中BSD套接字由通用软件所支持,该软件是INET 套接字层,它来管理基于IP 的TCP 与UDP 的端到端互联问题。 TCP 是一个面向连接协议,而UDP 则是一个非面向连接协议,当一个UDP 报文发送出去后,Linux 并不知道也不去关心它是否成功地到达了目的主机。 对于TCP 传输,传输节点间先要建立连接,然后通过该连接传输己排好序的报文,以保证传输的正确性。 用IP 层中的代码来实现网际协议,这些代码将IP 头增加到传输数据中,同时也将收到的IP 报文正确地转送到TCP 层或UDP 层。 IP 层之下,是支持所有Linux 网络应用的网络设备层。 例如,点到点协议(PPP,Point to Point Protocol)和以太网层。 网络设备并非总代表物理设备,其中有些设备(例如回送设备)则是纯粹的软件设备。 网络设备与标准的Linux 设备不同,它们不是通过mknod 命令创建的,必须由底层软件找到并进行了初始化之后,这些设备才被创建并可用。因此,只有当启动正确设置了以太网设备驱动程序的内核后,才会有/dev/eth0 文件。 ARP 协议位于IP 层和支持地址解析的协议层之间。

socket(套接字)在所有的网络操作系统中必不可少,而且在所有的网络应用程序中也是必不可少的。 它是网络通信中应用进程和网络协议之间的接口。

套接字在应用程序中的作用如下:(www.xing528.com)

①套接字位于协议之上,屏蔽了不同网络协议之间的差异。

②套接字是网络编程的入口,它提供了大量的系统调用,构成了网络程序主体。

③在Linux 系统中,套接字属于文件系统的一部分,网络通信可以看作是对文件的读取,使得对网络的控制和对文件的控制一样方便。

Linux 使用的BSD socket.是一个通用的系统接口,它不仅支持各种网络工作形式,而且是一种进程间的通信机制。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈