关于网络设备概述

转载 2007年09月18日 00:51:00
原贴:http://www.linuxsir.org/main/?q=node/218

关于网络设备概述 (v01.b)

作者:北南南北
维护者:FMZW
来自:LinuxSir.Org
简介:本文简要的列举了一些常用的网络设备,正在修正中,希望高手指点和补充。谢谢~


目录


+++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++


0.引言

目前我们中大多数人所使用的LAN是以太网(Ethernet),这个名字来源于光学中的以太(luminiferous ether),因为人们曾认为电磁辐射可以通过以太传播(后来发现在真空中便>可以传播)。关于它的标准可以在这里找到:http: //grouper.ieee.org/groups/802/3/

这就会引出我们的问题,我们的数据是如何通过各种设备在所谓的“网”上遨游的呢?


1.网卡

首先,操作系统将应用程序产生的数据通过TCP/IP协议栈按照层次模型逐次向下,最终发送到物理层的网卡上面。我们可以通过ifconfig这个 命令进行查看。其中,HWaddr代表网卡的物理地址,它在全球范围内是唯一的。前6位16进制数字代表生产厂商,后6位是厂商对自己产品的编号。所以我 们通常可以根据物理地址来判断某一网络设备是哪家公司生产的,这个对于交换机、路由器都适用哦。

# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0D:36:73:BF:F1
          inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:885 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1070 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:795615 (776.9 KiB) TX bytes:162885 (159.0 KiB)
          Interrupt:11

此外,还有两个命令可以用来查看网卡的连接状态。mii-tool已经过时了,现在一般都用ethtool。
# mii-tool
eth0: negotiated 100baseTx-FD, link ok
# ethtool eth0
Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes: 10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes: 10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x000000ff (255)
        Link detected: yes

我们通过下面的命令来判断网卡的芯片组:
# lspci | grep -i ethernet
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5702X Gigabit Ethernet (rev 02)

不知现在使用小猫拨号上网的同学还有多少?我想应该不多了吧?给大家一个网址,如果设备有了问题,上去查查:http://linmodems.org

使用ADSL上网的sir们可以到这里找到使用最广泛的ADSL PPPoE拨号软件:rp-pppoe。http://www.roaringpenguin.com/pppoe。当然如果你用的ADSL具有路由功能,那么你就设置dhcp,直接上网享受吧:)


2.传输线缆

物理层的目的是将原始的位流从一台机器传输到另一台机器上,这可以通过多种物理介质来实现。根据物理介质的特性,可将它们粗略分为有导向的介质(比如铜线和光纤)和无导向介质(比如无线电波和激光)。

目前网络布线中的中坚力量便是双绞线(twisted pair)和光纤。目前我们桌面使用的一般都是5类和超5类线,在一些IDC机房通常会给服务器连上6类线。光纤一般用于长途路径。

从上面的ethtool命令中,我们可以看到,这块网卡是10/100/1000M、半/全双工、自动协商的,而且还可以看到接口类型便是双绞线(Twisted Pair)。


3.交换设备

我们仅靠网卡和网线,便可以实现多台机器之间的互连了,当然操作系统要有TCP/IP协议。但是对于多个LAN,它们两个显然力不从心了。难道需要一台一 台电脑这样的用网线接续地>连接下去?不可能。于是出现了中继器(repeater)、网桥(bridge)、交换机(switch)、集线器 (hub)和路由器(router)。

中继器并不理解数据传输中所谓帧、分组和头的概念,它只理解电压值,它要做的只是将传到它这里的信号放大,然后继续传下去。它是一个模拟设备,连接两根电缆段。以太网允许4个中继器。

集线器有许多条输入线路,它将这些输入线路连接起来。在任何一条线路上到达的帧都将被发送到所有其他的线路上。中继器与集线器都工作在物理层上。

网桥的设计目标是用来连接LAN的;交换机则通常连接独立的计算机。交换机根据转发方式>大致可以分为两种:直通型交换机(cut- through switch)和存储-转发(store and forward)交换机。故名思义,直通型交换机一旦发现目标头域已经进来,尽管帧的其余部分还未到达,只要输出线路可用,交换机就开始转发该帧。与此相 反,存储转发交换机的控制器先将输入端口到来的数据包缓存起来,检查数据包是否正确,并过滤掉冲突包错误,然后将该包发送出去。它是计算机网络领域使用得 最为广泛的技术之一。

要解释路由器的概念,首先得知道什么是路由。所谓“路由”,是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的 机器,它的英文名称为router,是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行>“翻译”,以使它们能够相互 “读懂”对方的数据,从而构成一个更大的网络。

此外,交换机现在有各种叫法,从2层到7层都有,其实2层交换机就是最普通的广义上的交>换机,而3层交换则是相对于传统交换概念而提出的。 简单地说,3层交换技术就是:2层交>换技术+3层转发技术。而4层指的实际上是一种功能。它决定传输不仅仅依据MAC地址(第二层网桥)或源/目 标IP地址(第三层路由),而且依据TCP/UDP(第四层)上的应用端口号。有一>些大型网站,便经常使用4层设备,对外是一个虚拟IP,而对内 则指向了多个物理服务器,>而且是面向应用的,同时也实现了服务器的负载均衡。第7层交换可以实现有效的数据流优>化和智能负载均衡,目前这 类第7层功能的标准还没有。


4.无线网络

即将更新……


5.关于本文

本文算是网络设备的一个总结性的文档。这篇文档看来几乎没有太大的用处。由于大家所用的网络设备可能不一样,所以有必要写一写。有时间,我会把 LinuxSir.Org 硬件讨论区的有些硬件成功解决方案整理在在文档管理系统中。把这篇文档做为一个目录性质的文档。我想这就是本文的作用。

写网络文档看来是有点麻烦,出乎我的意料,再加上大家用的设备千奇百怪,而这些设备,对我来说却是一片迷茫。所以这方面的文档还是需要大家帮助的。比如在本文后面报告你的设备信息。


6.更新日志

2006.06.04 v0.1b;
2006.07.04 v0.2b;


7、参考文档;

《计算机网络》 Andrew S. Tanenbaum


8、相关文档;


此处不通吧

集线器对接入所有主机,都共享一个带宽。比如集线器拥有8个接口,接 8台主机, 每台主机带宽是1.25M。集线器则不同,比如 100M的集线器,拥有 8个接口,每个接口的带宽依然是 100M。

其实linux下面可以直接使用很多无线网卡

其实linux下面可以直接使用很多无线网卡了,当然,以PCI接口的为主,而且大多是已经有驱动程序了,我想在几个比较大的Linux社区都有讨论。
此外有一个程序ndiswrapper方法可以加载Win32平台的驱动,我的无线网卡就是采用这样分方法驱动的。

我想这应该就是为啥叫8139too的原因吧!

From linux-kernel-2.4.32/Documentation/networking/8139too.txt:

The "8139too" Fast Ethernet driver for Linux 2.4.0 is a substantial
modification of the experimental rtl8139 driver from Donald Becker,
some versions of which appeared in 2.2.x and 2.3.x kernels.

我想这应该就是为啥叫8139too的原因吧!

网卡装不上啊!

各 位大哥,麻烦大家帮帮忙,我电脑主板是华硕P5PL2,板载千兆网卡,系统是FC5,但是网卡就是认不出来,按照北南南北大哥的方法察看了硬件配置,在网 上下载了一个网卡驱动,装不上,用主板自带光盘上的linux驱动还是不行,报告的都是同样的错误,恳请大哥们帮帮忙啊!

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.15-1.2054_FC5 #1 SMP Tue Mar 14 15:48:20 EST 2006 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# lspci
00:00.0 Host bridge: Intel Corporation 945G/P Memory Controller Hub (rev 81)
00:01.0 PCI bridge: Intel Corporation 945G/P PCI Express Graphics Port (rev 81)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controllers cc=IDE (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:02.0 Multimedia audio controller: VIA Technologies Inc. VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (rev 01)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Unknown device 8168 (rev 01)
04:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600 PCIe] (rev a2)
[root@localhost ~]# cd /usr/src/r1000
[root@localhost r1000]# ls
Makefile README release_note.txt src
[root@localhost r1000]# make
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.15-1.2054_FC5/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/kernels/2.6.15-1.2054_FC5-x86_64'
make[2]: *** 没有规则可以创建目标“modules”。 停止。
make[2]: Leaving directory `/usr/src/kernels/2.6.15-1.2054_FC5-x86_64'
make[1]: *** [modules] 错误 2
make[1]: Leaving directory `/usr/src/r1000/src'
make: *** [modules] 错误 2
[root@localhost r1000]#

不太对吧?如果是10M的集线器,那每个口依然是1

***********************************************************************
比如集线器拥有8个接口,接 8台主机, 每台主机带宽是1.25M。集线器则不同,比如 100M的集线器,拥有 8个接口,每个接口的带宽依然是 100M。
***********************************************************************

不太对吧?如果是10M的集线器,那每个口依然是10M,并不会平分带宽。这一点是和交换机一样的。不同的是HUB会把包发给每一个接口,而交换机则会"记住"每个口的mac,包只发给对应的端口

文档还是应该写清楚些

集 线器和交换机工作的TCP/IP层都不一样,hub是工作在物理层的运行csma/cd协议,共享带宽,10M的hub,8个口,当然是均分带宽;交换机 是工作在数据链路层的,它的交换矩阵上有一个mac地址表,是以mac地址来寻址的,100m的交换机,8口的话,每个口带宽都是100m,总的带宽是 100m*8=800m。

文档还是应该写清楚些

集 线器和交换机工作的TCP/IP层都不一样,hub是工作在物理层的运行csma/cd协议,共享带宽,10M的hub,8个口,当然是均分带宽;交换机 是工作在数据链路层的,它的交换矩阵上有一个mac地址表,是以mac地址来寻址的,100m的交换机,8口的话,每个口带宽都是100m,总的带宽是 100m*8=800m。

兄弟好。我是北南

我对网络设备不太了解,我的了解也只是表面上的。

兄弟能否维护此文档。如果可以,我就把权限放给兄弟。谢谢。。。。

最为真诚邀请。。。。

北南 呈上

关于HUB和SWITCH的区别

HUB会在所有端口上转发数据,SWITCH只会往目标端口发送数据,安全性与效率更高。

另外HUB上的UPLINK口一般是用来作级联用的

笔误吧

集线器则不同,比如 100M的集线器,拥有 8个接口,每个接口的带宽依然是 100M。
^^^^^^

我想你说的不对哦~

集线器是共享带宽,交换机不是的。所以100M的集线器的带宽接口不会是每个都是100M。

有个错误

以太网卡不是乙太网卡

英译名,没有关系的。

就看自已的了

 

相关文章推荐

Linux网络设备驱动概述

Linux网络设备驱动概述 一、概述             Linux网络设备驱动程序遵循通用的接口,设计时采用的是面向对象的方法,一个设备就是一个对象(net_devi...

网络设备驱动第二课----框架

一些接口函数:1.创建设备/* * 功能:创建一个以太网设备对象 * 输入参数:私有数据大小 * 返回值:成功:设备句柄 失败:NULL */ struct net_device *allo...

网络设备解析:中继器、集线器、网桥、交换机、路由器、网关的区别

原文:http://blog.csdn.net/trochiluses/article/details/21070807?locationNum=2 摘要:在学习计算机网络的时候,你是不是经...

无线网络设备

1、无线网卡:作为无线局域网的接口,实现与无线局域网的连接。无线网卡根据接口类型的不同,主要分为三种类型,即PCMCIA无线网卡、PCI无线网卡和USB无线网卡。    PCMCIA无线网卡仅适用于...

编写Linux网络设备驱动(上)

http://lib.csdn.net/linux/knowledge/1399 本文介绍基于Realtek 8139芯片PCI接口的网卡驱动程序。我选择了Realtek芯片有两个原因:首先...

linux下创建tuntap网络设备

我们在VMware和Ubuntu中建立bridge虚拟网桥、eth虚拟网卡、tuntap接口设备。通过ping来传递报文,通过tuntap使用户应用程序来收发报文。

网络设备与集成作业

一、填空题: 1、最早的智能建筑是出现在(1984)年,由美国联合技术公司(UTC)在美国康涅狄格州(Connecticut)哈特福德市(Hartford)改建的都市花园大厦(City Palace...

网络设备商定制网管系统实现方案

对设备商来说,借助优秀的网管软件,可以形成完整的产品解决方案,直接提升产品的形象和适用范围。同时还可以通过网管软件,切入到外围的产品及集成领域,并在用户后续的升级改造活动中占据有利位置。所以网管软件对...

Linux 上的基础网络设备详解

这几天一直在看docker网路配置,其中涉及了网桥、veth设备的概念,在IBM上看到了关于linux网路设备的介绍,在此收录。链接如下: Linux 上的基础网络设备详解 Linux...

网络设备驱动及程序实现步骤

网络设备驱动及程序实现步骤 1、网络数据封装过层 dev_queue_xmit(struct sk_buf *skb); //上层协议发送数据包 int netif_rx(struct ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)