首页 - 范文大全 - 文章正文

网络编程入门(浅谈基于Linux操作系统的网络编程方法)

时间:2020-10-21 03:50:52 作者:黑曼巴 分类:范文大全 浏览:121

Linux操作系统是一个多用户、多任务的操作系统,具有强大的信息处理功能。简述了Linux操作系统丰富的网络功能和Linux内核缺乏实时性,并结合Linux网络的不安全因素介绍了几种常见的网络编程模式。随着Linux嵌入式系统技术的逐步发展,其应用领域和市场份额不断迅速扩大。其主要应用领域是服务系统和嵌入式系统。Linux系统具有几乎所有的UNIX系统特征,并且可以适用于POSIX国际标准系统;3)非连接协议的数据报套接字编程。

Linux操作系统是一个多用户、多任务的操作系统,具有强大的信息处理功能。简述了Linux操作系统丰富的网络功能和Linux内核缺乏实时性,并结合Linux网络的不安全因素介绍了几种常见的网络编程模式。

关键词:Linux;操作系统;网络编程

中国图书馆分类编号TP39文件识别码文章编号1674-6708(2011)46-0210-02

随着Linux嵌入式系统技术的逐步发展,其应用领域和市场份额不断迅速扩大。其主要应用领域是服务系统和嵌入式系统。Linux,作为一个使用类的UNIX操作系统,不仅可以在个人计算机上运行,如英特尔和AMD,而且可以在许多工作站级的计算机上运行。

1 Linux操作系统简介

嵌入式系统定义:

嵌入式系统是先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。它被定义为以应用为中心、以计算机技术为基础、软硬件可定制、满足应用系统的对功能、可靠性、成本、体积和功耗的严格要求的特殊计算机系统。嵌入式Linux操作系统是指对Linux经过裁剪和小型化后,可以固化在内存或单片机中,并应用于特定嵌入式场合的特殊Linux操作系统。与其他操作系统相比,Linux具有以下特点:

1)Linux操作系统可以与UNIX系统兼容。Linux系统具有几乎所有的UNIX系统特征,并且可以适用于POSIX国际标准系统;

2)Linux系统具有自由软件和开放源代码的特点。Linux项目从一开始就与GNU项目密切相关,它的许多重要组件都直接来自GNU项目。任何人都可以自由使用Linux源代码,只要他们遵守GPL条款;

3)Linux操作系统具有网络性能高、安全性强的特点。Linux支持所有标准的互联网协议,并提供各种高性能服务。Linux操作系统包含大量的网络管理、网络服务等工具,可以用来建立高效的防火墙、路由器、工作站等功能;

4)Linux系统支持多样化的硬件平台。例如,RISC、CISC、32位和64位处理器可以由Linux操作系统支持。

2 . Linux操作系统的实时性不够

Linux系统通过调度固定的时间片来调度CPU时间。例如,在开始时,流程被赋予高优先级。在某个进程的时间片内,如果该进程放弃了CPU,它的优先级不会改变或变得更高。如果一个进程用完了它的时间片,它的优先级就会变低。基于以上特点,Linux操作系统缺乏实时性主要体现在几个方面:

1)Linux操作系统内核是非抢占式的。例如,当普通进程运行在核心状态时,实时进程的优先级低于普通进程;

2)Linux操作系统的平均响应时间至少为10ms,对响应时间更严格的实时系统什么也做不了;

3)由于实时调度策略中RR和FIFO算法的存在,无法严格保证高优先级的实时进程总是优先于普通进程;

4)Linux操作系统内核的进程经常被关闭和中断。如果中断被低优先级进程关闭,即使高优先级实时进程发生中断,系统最终也无法响应。

3 Linux网络编程

3.1 Linux操作系统的网络功能

Linux操作系统在通信和网络功能方面优于大多数操作系统。Linux的网络功能主要包括以下几点:

1)Linux操作系统支持TCP/IP协议。任何系统都必须遵循的网络协议是TCP/IP,而TCP/IP对对的网络建设提出了统一的标准要求

2)Linux支持各种网络数据库。数据库是信息资源的重要来源,Linux对数据库支持也不例外。Linux支持许多大型数据库,如ORACEL和SQLSERvER。

3)Linux系统具有丰富的网络服务功能。Linux提供了丰富的网络服务,如电子邮件、文件传输、网络新闻等。

3.2 Linux网络不安全因素

绝大多数计算机安全问题是由管理不当引起的,而不是系统软件本身的漏洞。因此,严格的管理将大大降低非法入侵的风险。以下是一些常见的安全漏洞。

1)特权软件的安全漏洞。特权软件的攻击方法是通过输入文件分隔符外壳变量实现的。IFS变量用于确定传递给外壳字符串的分隔符。例如,如果一个程序调用函数system()或popen()来执行一个shell命令,该命令首先由shell分析。如果执行用户能够控制IFS环境变量,可能会导致不可预测的结果。另一种攻击方法是使用HOME环境变量;

2)特洛伊木马程序。它在外观上类似于普通用户想要执行的程序(如文件名),如编辑器、登录程序或游戏程序。特洛伊木马类似于普通用户希望在表面上执行的程序,但它们执行其他操作。当用户发现时,已经太晚了。例如,删除文件、窃取密码和格式化磁盘;

3)研究源代码漏洞。许多入侵者通过研究一些程序的源代码成功地攻击了系统。

4)网络监控和数据拦截。威胁计算机网络安全的一个重要因素是计算机之间传输的数据容易被截获。原因在于异构计算机的互连,敏感数据的传输往往不受系统的控制。有许多现成的软件可以监控网络上传输的数据。

3.3符合Linux网络安全指南

在设计inetd服务程序时,我们应该特别注意缓冲区溢出的问题,即下面的情况: char buffer _ overflow[64];fscanf(stdin,“%s”,缓冲区溢出);

几乎所有的安全漏洞都源于此。黑客可以通过缓冲区将它们插入自己的程序,所以我们必须停止这种使用。

3.4 Linux网络编程模式

在Linux网络操作系统中,网络数据传输需要经过四个层次:用户进程、套接字、网络协议和网络设备。其网络编程是通过套接字接口实现的。应用程序通过使用套接字统一接口在网络上发送和接收数据。网络上的套接字数据传输是一种特殊的输入/输出。套接字就像通信线套接字。只要通信双方都有套接字,并且两个套接字之间有通信线连接,他们就可以通信,这有利于网络应用程序的编程。一组字节是与网络的连接。套接字在应用程序中用来调用套接字。套接字可以被认为是指向windows套接字的指针,就像文件描述符是指向文件的指针一样。套接字有三个特征:域、类型和协议。网络编程有三种基本模式:

1)客户端/服务器模式。客户端/服务器模式在操作过程中采用主动请求模式。首先,服务器应该首先启动,并根据请求提供相应的服务。网络编程的基本模式是客户/服务;它基于以下两点:第一,非对;第二,通信是完全异步的;

2)为连接协议编程字节流套接字。传输控制协议用于字节流套接字编程。TCP提供面向连接的流传输,而面向连接的对的可靠性保证是在数据传输之前必须在源端和接收端之间建立相互连接;

3)非连接协议的数据报套接字编程。数据报套接字采用用户数据报协议UDP,提供无连接的数据报传输,主要用于高可靠性、低延迟的局域网。它的优点是效率高,开销小,不需要建立连接或取消连接,缺点是不可靠,消息丢失后需要重新传输。

4结论

Linux操作系统是一套完整的TCP/IP协议,其内核结构在网络上是完美的。Linux操作系统支持各种类型的套接字地址簇,并将它们抽象成一个统一的套接字接口,方便了互联网应用程序的编程和网络应用程序之间的数据通信。

上一篇:骆驼祥子悲剧解读(让人性的阳光照亮灵魂――读骆驼祥子有感(转载))

下一篇:北京大学宿舍(北京大学早期保险学科发展小考)

猜你喜欢
发布评论
登录后发表评论
登录后才能评论

AI 新用户?

免费使用内容重写服务

开始新的写作