网络设备

[转]Linux虚拟网络设备之tun/tap

半城伤御伤魂 提交于 2019-12-15 00:24:03
转, 原文: https://segmentfault.com/a/1190000009249039 -------------------------------------------------------------------------------------------------------------- 在现在的云时代,到处都是虚拟机和容器,它们背后的网络管理都离不开虚拟网络设备,所以了解虚拟网络设备有利于我们更好的理解云时代的网络结构。从本篇开始,将介绍Linux下的虚拟网络设备。 虚拟设备和物理设备的区别 在 Linux网络数据包的接收过程 和 数据包的发送过程 这两篇文章中,介绍了数据包的收发流程,知道了Linux内核中有一个网络设备管理层,处于网络设备驱动和协议栈之间,负责衔接它们之间的数据交互。驱动不需要了解协议栈的细节,协议栈也不需要了解设备驱动的细节。 对于一个网络设备来说,就像一个管道(pipe)一样,有两端,从其中任意一端收到的数据将从另一端发送出去。 比如一个物理网卡eth0,它的两端分别是内核协议栈(通过内核网络设备管理模块间接的通信)和外面的物理网络,从物理网络收到的数据,会转发给内核协议栈,而应用程序从协议栈发过来的数据将会通过物理网络发送出去。 那么对于一个虚拟网络设备呢?首先它也归内核的网络设备管理子系统管理

网络设备驱动和数据链路层的分析

梦想的初衷 提交于 2019-12-09 21:24:45
分类: linux源码分析 2006-07-24 16:15 1446人阅读 评论 (0) 收藏 举报 当物理网络设备接收到数据时,系统是如何知道并读取数据的呢?当前可通过两种途径解决这个问题。 一种方法是轮询方式 ,系统每隔一定的时间间隔就去检查一次物理设备,若设备“报告”说有数据到达,就调用读取数据的程序。在 Linux 中,轮询方式可通过 定时器 实现,但该方法存在一个明显的缺点:不管设备是否有数据,系统总是要固定地花 CPU 时间去查看设备,且可能延迟对一些紧急数据的处理,因为网络设备有数据时可能不能马上得到 CPU 的响应。在这种方式下,设备完全处于一种被动的状态,而 CPU 又负担过重。无论从资源的利用率上还是从效率上看,这种方法都不是最优的。 另一种方法是中断方式 ,中断方式利用硬件体系结构的中断机制实现设备和系统的应答对话,即当物理设备需要 CPU 处理数据时,设备就发一个中断信号给系统,系统则在收到信号后调用相应的中断服务程序响应对设备中断的处理。中断方式有效地解决了设备与 CPU 的对话交流问题,并将 CPU 从繁重的设备轮询中解脱出来,大大提高了 CPU 的利用率。当前不管是 Linux 平台还是 Windows 平台,它们的网络设备驱动程序 几乎都是使用中断方式 的。故在此我们主要讨论基于中断方式的网络设备驱动程序。 网 络分层引起的一个问题是

网络设备

倾然丶 夕夏残阳落幕 提交于 2019-12-09 16:52:31
一、交换机 1、工作原理 交换机位于OSI参考模型中的数据链路层(即第二层),是一种基于MAC地址识别的,用于完成数据的封装和转发的网络设备。交换机可以学习MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接受者之间建立临时的交互路径,使数据帧直接由源地址到达目的地址。 2、工作过程 (1)当交换机从某个端口收到一个数据包时,先读取包中的源MAC地址,从而建立源端口与源MAC地址的对应关系,并将其添加至地址表。 (2)读取包头中的目的MAC地址,并在地址表中查找相应的端口。 (3)如果地址表中有与该目的MAC地址对应的端口,则把数据包直接复制到这端口上。 (4)如果在MAC地址表中没有找到该MAC地址,也就是说,该目的MAC地址是首次出现,则将该帧发送到所有其他端口(源端自除外),相当于该帧是一个广播帧。拥有该MAC地址的网卡在接收到该广播帧后,将立即作出应答,从而使交换机将“端口号-MAC地址”对照表添加到地址表。 3、在网络中的应用 (1)提供网络接口:连接交换机、路由器、防火墙、无线接入点等网络设备;连接计算机、服务器等计算机设备。 (2)扩充网络接口:尽管交换机大都拥有较多数量的端口(通常为8~52个),但当网络规模较大、接入的设备数量较多时,一台交换机所能提供的网络接口往往不够。此时,就必须将两台或更多的交换机连接在一起,从而成倍地扩充网络接口。 (3

Linux 上的基础网络设备详解

别等时光非礼了梦想. 提交于 2019-12-06 19:25:35
http://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/ 抽象网络设备的原理及使用 网络虚拟化是 Cloud 中的一个重要部分。作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理、用法、数据流向。您通过此文,能够知道如何使用 Linux 的基础网络设备进行配置以达到特定的目的,分析出 Linux 可能的网络故障原因。 Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,如 eth0,用户需要对 eth0 发出命令以配置或使用它了。更多的硬件会带来更多的设备实例,虚拟的硬件也会带来更多的设备实例。随着网络技术,虚拟化技术的发展,更多的高级网络设备被加入了到了 Linux 中,使得情况变得更加复杂。在以下章节中,将一一分析在虚拟化技术中经常使用的几种 Linux 网络设备抽象类型:Bridge、802.1.q VLAN device、VETH、TAP,详细解释如何用它们配合 Linux 中的 Route table、IP table

渗透测试-常见网络设备简介

≯℡__Kan透↙ 提交于 2019-12-06 06:35:00
服务器   也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服 务器应具备承担服务并且保障服务的能力。 VPS   Virtual Private Server 虚拟专用服务器技术,将一台服务器分割成多个虚拟专享服务器的优质服务。我们一般 人通常说的VPS就是一台人家虚拟出来的服务器,这台服务器有外网IP,我们可以装好系统并直接连接。 ECS   ECS是阿里的云服务器的名字,不同云服务器的供应商名字叫法不一样,例如百度的云服务器好像叫BCC。云 服务器简单粗暴的可以理解为就是一台电脑,比你说的主机空间好一点。空间相当于电脑的一部分,通常只能 用来上传网站。电脑你就可以自己装程序了。想怎么折腾都可以,关键的是这台电脑永不关机还不耗自己家的 电。 防火墙   防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构 建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 路由器   连接两个或多个网络的硬件设备,在网络间起网关的作用,读取每一个数据包中的地址然后决定如何传送的专 用智能性的网络设备。通常是一个计算机,它能够理解不同的协议,例如某个局域网使用的以太协议,因特网 使用的T CP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非T CP/IP网络的地 址转换成T

第四章-网络设备配置

爱⌒轻易说出口 提交于 2019-12-06 00:53:21
局域网特点:   1.网络为一个单位所有   2.地理范围小,站点数目有限   3.具有较高的数据率   4.较低的延迟   5.较小的误码率 MAC地址表规划是记录原有MAC地址 以太网传输介质:   有线:双绞线、光纤、同轴电缆   无线:空气 光缆纤芯颜色:蓝、橙、绿、棕、灰、白、红、黑、黄、紫、粉红、天蓝 以太网提供的服务是不可靠的交付,即尽最大努力的交付 一个VLAN=一个广播域=一个逻辑子网 划分VLAN主要作用:隔离广播域 来源: https://www.cnblogs.com/cooaka/p/11954250.html

路由器:用于网络设备互连的计算机设备

天大地大妈咪最大 提交于 2019-12-06 00:23:33
路由器的核心作用是实现网络互连、数据转发:首先,路由器多个三层接口(物理接口、逻辑接口、子接口)连接到不同网络上且路由器的物理接口较少(2-4个);其次,路由器至少向上实现到网络层;再次,路由器必须具有储存、转发、寻径功能。 路由器的基本作用: 路由(寻径):路由表建立、刷新 交换:在网络之间转发分组数据 隔离广播,指定访问规则 异种网络互连 子网间的速率匹配 路由器的每一个接口都是一个网段。 路由表的概念:路由器为执行数据转发路径选择所需要的信息被包含在路由器的一个表项中,称为“路由表”;当路由器检查到包的目的IP地址时,它就可以根据路由表的内容决定应该转发到那个下一个跳地址上去;路由表被存放在路由器的RAM上。 路由表的构成:目的网络地址,掩码,下一条地址,发送的物理端口,路由信息的来源,路由优先级,度量值。 路由表的建立和维护:手动配置的手动维护,自动配置的自动维护。 静态路由包括:目标网段,掩码,下一跳的地址 来源: https://www.cnblogs.com/cgyww/p/11953507.html

网络命令工具ifconfig研究报告

不想你离开。 提交于 2019-12-05 22:56:10
Linux ifconfig命令用于显示或设置网络设备。 ifconfig可设置网络设备的状态,或是显示目前的设置 参数说明 : add<地址> 设置网络设备IPv6的IP地址。 del<地址> 删除网络设备IPv6的IP地址。 down 关闭指定的网络设备。 <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。 io_addr<I/O地址> 设置网络设备的I/O地址。 irq<IRQ地址> 设置网络设备的IRQ。 media<网络媒介类型> 设置网络设备的媒介类型。 mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。 metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。 mtu<字节> 设置网络设备的MTU。 netmask<子网掩码> 设置网络设备的子网掩码。 tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。 up 启动指定的网络设备。 -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。 -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。 -promisc 关闭或启动指定网络设备的promiscuous模式。 [IP地址] 指定网络设备的IP地址。 [网络设备] 指定网络设备的名称。 实例 显示网络设备信息 # ifconfig eth0 Link

linux学习第一周

╄→гoц情女王★ 提交于 2019-12-04 08:55:09
第一周作业 1. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 2. 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。 3. 配置环境变量,实现执行history的时候可以看到执行命令的时间。 4. 总结Linux哲学思想。 5. 总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令 1、按系列罗列linux的发行版,并描述不同发行本之间的联系与区别 Linux 发行版本: Slackware:SUSE ,linux Enterprise Server(SLES) OpenSuse 桌面 Debian:Ubuntu,deepin(深度),mint Redhat:redhat enterprise linux ,centos ,fedora Archlinux:轻量简洁,遵循K.L.S.S原则,(keep IT simple and stupid) Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件 LFS:linux From sxrath 自制linux Android:kernel+busybox(工具集)+Java虚拟机 不同发行版本之间的联系:完整的Linux系统都是由Linux内核加上各种应用程序组成 区别: Red

使用elk收集网络设备的案例

十年热恋 提交于 2019-12-03 08:59:55
简介 随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。 系统管理员遇到的常见问题如下: 日常维护过程中不可能登录到每一台服务器和设备上去查看日志; 网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的; 在某些非法侵入的情况下,侵入者一般都会清除本地日志,清除侵入痕迹; zabbix等监控系统无法代替日志管理,无法监控如系统登录、计划任务执行等项目。 基于上述原因,在当前的网络环境中搭建一台用于日志集中管理的Rsyslog日志服务器就显得十分有必要了。 Rsyslog服务的优点如下: Rsyslog服务器可以大多数的网络设备支持,在网络设备的系统设备选项中大多都有远程日志服务的配置选项。只需要填写上IP地址和端口(大多数设备已经默认是514了),然后确定就可以了; Linux服务器只需要在本地的Rsyslog服务配置中加入简单的一行就可以将日志发送到日志服务器,布署和配置起来十分简单; 部署架构 部署架构 Rsyslog配置 系统环境及软件版本: CentOS Linux release 7.5.1804 (Core) Elasticserch-6.8.4 Kibana-6.8.4 Logstash-6.8.4 Filebeat-6.8.4 Rsyslog-8.24.0