2源码安装网络协议

2.2源码安装/网络协议

一、源码包应用场景

有时我们所用的内核版本太旧,系统自带的库(如libstdc++.so.6)版本低或者依赖的其他软件版 

本较低,导致无法安装目标软件。 

软件/库其实是对机器汇编指令集的封装,在X86体系下,不同版本的内核其实指令集差别不是很 

大,所以我们可以在机器上自己编译新版本的软件依赖库,进而安装我们需要的软件。 

二、如何下载源码包

访问软件所在官网下载

三、源码包管理nginx

下载地址

第一次

[root@localhost yum.repos.d]# yum provides rz
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :base
匹配来源:
文件名    :/usr/bin/rz

[root@localhost yum.repos.d]# yum -y install lrzsz-0.12.20-36.el7.x86_64

[root@localhost ~]# cd /tmp/
[root@localhost tmp]# ls
ks-script-56Az9Y
systemd-private-73b88e2c4e7d40bb9f4516ba2b8c6e11-chronyd.service-L55bw8
systemd-private-98980b0ca4ee463487df90d316b39f28-chronyd.service-Rmum9Y
yum.log
[root@localhost tmp]# rm -rf *
[root@localhost tmp]# rz
[root@localhost tmp]# ls
tengine-2.2.0.tar.gz

[root@localhost tmp]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base extras updates
Cleaning up list of fastest mirrors
[root@localhost tmp]# yum makecache

 [root@localhost tmp]# yum -y install gcc make zlid-devel pcre pcre-devel openssl-devel
 
安装:
[root@localhost tmp]# tar xvf tengine-2.2.0.tar.gz 
[root@localhost tmp]# cd tengine-2.2.0
 [root@localhost tmp]#./configure \
> --user=www \
> --group=www \
> --prefix=/usr/local/nginx \
> --with-pcre

[root@localhost tengine-2.2.0]# useradd www
[root@localhost tengine-2.2.0]#make
[root@localhost tengine-2.2.0]#make install

[root@localhost tengine-2.2.0]# yum -y install lsof
[root@localhost tengine-2.2.0]# lsof -i:80

启动
[root@localhost tengine-2.2.0]# /usr/local/nginx/sbin/nginx 
[root@localhost tengine-2.2.0]# lsof -i:80
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   42249 root    6u  IPv4 227199      0t0  TCP *:http (LISTEN)
nginx   42250  www    6u  IPv4 227199      0t0  TCP *:http (LISTEN)

停止
[root@localhost tengine-2.2.0]# /usr/local/nginx/sbin/nginx  -s stop

[root@localhost tengine-2.2.0]# lsof -i:80
[root@localhost tengine-2.2.0]# rm -rf /usr/local/nginx
[root@localhost tengine-2.2.0]# cd /tmp/
[root@localhost tmp]# ls
tengine-2.2.0  tengine-2.2.0.tar.gz
[root@localhost tmp]# rm -rf tengine-2.2.0
[root@localhost tmp]# ls
tengine-2.2.0.tar.gz
还原机器
[root@localhost tmp]# yum -y remove gcc

第二次

查看使用的命令
[root@localhost tmp]# history

没有环境 会提示这个
[root@localhost tengine-2.2.0]# ./configure --prefix=/usr/local/nginx
checking for OS
 + Linux 3.10.0-1160.el7.x86_64 x86_64
checking for C compiler ... not found

./configure: error: C compiler cc is not found

[root@localhost tengine-2.2.0]# yum -y install gcc

[root@localhost tengine-2.2.0]# ./configure --prefix=/usr/local/nginx

[root@localhost tengine-2.2.0]# make
[root@localhost tengine-2.2.0]# make install

[root@localhost tengine-2.2.0]# cd /usr/local/
[root@localhost local]# ls
bin  etc  games  include  lib  lib64  libexec  nginx  sbin  share  src

[root@localhost local]# /usr/local/nginx/sbin/nginx 
[root@localhost local]# /usr/local/nginx/sbin/nginx  -s stop

[root@localhost local]# yum -y install httpd
[root@localhost local]# yum -y remove httpd
[root@localhost local]# yum -y install httpd

[root@localhost local]# systemctl restart httpd
[root@localhost local]# lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   61252   root    4u  IPv6 313966      0t0  TCP *:http (LISTEN)
httpd   61253 apache    4u  IPv6 313966      0t0  TCP *:http (LISTEN)
httpd   61254 apache    4u  IPv6 313966      0t0  TCP *:http (LISTEN)
httpd   61255 apache    4u  IPv6 313966      0t0  TCP *:http (LISTEN)
httpd   61256 apache    4u  IPv6 313966      0t0  TCP *:http (LISTEN)
httpd   61257 apache    4u  IPv6 313966      0t0  TCP *:http (LISTEN)


端口会被占用
[root@localhost local]# /usr/local/nginx/sbin/nginx 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

停止才可以启动
[root@localhost local]# systemctl stop httpd
[root@localhost local]# /usr/local/nginx/sbin/nginx 
[root@localhost local]# lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   73133   root    6u  IPv4 334373      0t0  TCP *:http (LISTEN)
nginx   73134 nobody    6u  IPv4 334373      0t0  TCP *:http (LISTEN)


[root@localhost local]# userdel -r nginx
userdel:用户“nginx”不存在
[root@localhost local]# rm -rf /usr/local/nginx/
[root@localhost local]# lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   73133   root    6u  IPv4 334373      0t0  TCP *:http (LISTEN)
nginx   73134 nobody    6u  IPv4 334373      0t0  TCP *:http (LISTEN)


[root@localhost local]# kill -9 73133
[root@localhost local]# kill -9 73134
[root@localhost local]# lsof -i:80

或者使用
[root@localhost local]# killall nginx
-bash: killall: 未找到命令
[root@localhost local]# yum provides killall
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
psmisc-22.20-17.el7.x86_64 : Utilities for managing processes on your system
源    :base
匹配来源:
文件名    :/usr/bin/killall

[root@localhost local]# yum -y install psmisc-22.20-17.el7.x86_64
[root@localhost local]# killall nginx
[root@localhost local]# lsof -i:80

[root@localhost local]# cd /tmp/
[root@localhost tmp]# ls
tengine-2.2.0  tengine-2.2.0.tar.gz
[root@localhost tmp]# rm -rf tengine-2.2.0


[root@localhost tmp]# id www
uid=1000(www) gid=1000(www) 组=1000(www)
[root@localhost tmp]# userdel -r www
[root@localhost tmp]# id www
id: www: no such user

第三次

[root@localhost tmp]# tar xf tengine-2.2.0.tar.gz 
[root@localhost tmp]# ls
tengine-2.2.0  tengine-2.2.0.tar.gz

[root@localhost tmp]# cd tengine-2.2.0
[root@localhost tmp]# ./configure \
> --user=www \
> --group=www \
> --prefix=/usr/local/nginx \
> --with-pcre

[root@localhost tengine-2.2.0]# make && make install
[root@localhost tengine-2.2.0]# /usr/local/nginx/sbin/nginx 
nginx: [emerg] getpwnam("www") failed


[root@localhost tengine-2.2.0]# chattr +i /etc/passwd
[root@localhost tengine-2.2.0]# useradd www
useradd:无法打开 /etc/passwd
[root@localhost tengine-2.2.0]# /usr/local/nginx/sbin/nginx 
nginx: [emerg] getpwnam("www") failed

[root@localhost tengine-2.2.0]# chattr -i /etc/passwd
[root@localhost tengine-2.2.0]# useradd www
[root@localhost tengine-2.2.0]# /usr/local/nginx/sbin/nginx 

四、源码包安装软件包问题解析

讲师根据自己的理解讲解

五、源码安装实战

nginx下载地址

使用源码方式安装并简单管理nginx

停止 80 端口
[root@localhost ~]# lsof -i:80
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   91193 root    6u  IPv4 416398      0t0  TCP *:http (LISTEN)
nginx   91194  www    6u  IPv4 416398      0t0  TCP *:http (LISTEN)
[root@localhost ~]# /usr/local/nginx/sbin/nginx  -s stop
[root@localhost ~]# lsof -i:80
[root@localhost ~]# rm -rf /usr/local/nginx/

确定是阿里源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo

确定环境
 yum -y install gcc make zlid-devel pcre pcre-devel openssl-devel
 
 确定环境
 [root@localhost yum.repos.d]# cd /tmp/
[root@localhost tmp]# ls
tengine-2.2.0  tengine-2.2.0.tar.gz
[root@localhost tmp]# rm -rf *

上传
[root@localhost tmp]# rz
[root@localhost tmp]# ls

解压
[root@localhost tmp]# tar xvf nginx-1.4.7.tar.gz 

[root@localhost tmp]# ls
nginx-1.4.7  nginx-1.4.7.tar.gz
[root@localhost tmp]# cd nginx-1.4.7
[root@localhost nginx-1.4.7]#  ./configure --prefix=/usr/local/nginx

[root@localhost nginx-1.4.7]# make 
[root@localhost nginx-1.4.7]# make install


[root@localhost nginx-1.4.7]# /usr/local/nginx/sbin/nginx 

[root@localhost nginx-1.4.7]# lsof -i:80
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   109609   root    6u  IPv4 504816      0t0  TCP *:http (LISTEN)
nginx   109610 nobody    6u  IPv4 504816      0t0  TCP *:http (LISTEN)


[root@localhost nginx-1.4.7]# ps aux | grep nginx
root     109609  0.0  0.0  24852   756 ?        Ss   19:51   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   109610  0.0  0.0  25248  1180 ?        S    19:51   0:00 nginx: worker process
root     110742  0.0  0.0 112824   988 pts/0    R+   19:52   0:00 grep --color=auto nginx


[root@localhost nginx-1.4.7]# /usr/local/nginx/sbin/nginx  -s stop
[root@localhost nginx-1.4.7]# lsof -i:80

六、走进网络的世界

1、通信的标准

IOS

国际标准化组织 ( International Organization for Standardization )

OSI

开放系统互联 ( open system interconnection )

分层

OSI 参考模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,其最主

要的功能就是帮助不同类型的主机实现数据传输

分层结构的优点
开放的标准化接口 

多厂商兼容性 

易于理解、学习和更新协议标准 

实现模块化工程,降低了开发实现的复杂度 

便于故障排除 

2、何为网络协议

网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集

合,它规定了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结

构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细

节对上一层加以屏蔽。

3、重要网络协议

TCP
TCP协议 

 Transmission Control Protocol 传输控制协议 

是一种面向连接的、可靠的、基于字节流的传输层(Transport layer)通信协议,由IETF的RFC 

793说明(specified)。TCP在IP报文的协议号是6。在OSI模型中,它完成第四层传输层所指定的 

功能 
tcp协议的3次握手
TCP(Transmission Control Protocol)是一种可靠的、面向连接的协议,它使用三次握手(Three-Way Handshake)来建立通信连接。三次握手是确保双方都能够正常收发数据的重要过程。下面是TCP三次握手的详细解释:

第一次握手(SYN):
客户端(Client)向服务器(Server)发送一个带有SYN(同步序列编号)标志位的数据包,用于请求建立连接。客户端选择一个初始序列号(ISN)并将其放入SYN数据包中。
第二次握手(SYN-ACK):
服务器接收到客户端的SYN数据包后,会发送一个带有SYN和ACK(确认序列编号)标志位的数据包作为回应。服务器也会选择一个初始序列号,并将其放入ACK数据包中。
服务器还会将客户端的SYN序列号加1,放入ACK数据包中,表示服务器已经收到了客户端的请求,并准备好建立连接。
第三次握手(ACK):
客户端接收到服务器的SYN-ACK数据包后,会向服务器发送一个带有ACK标志位的数据包作为确认。
客户端将服务器的ACK序列号加1,放入ACK数据包中,表示客户端确认服务器的回应,并同意建立连接。
服务器收到客户端的ACK数据包后,确认客户端的回应,此时连接建立成功。
通过三次握手,客户端和服务器彼此确认了对方的能力和准备就绪状态,建立了双向的通信连接。每一次握手都需要对方的确认,确保连接的可靠性。

需要注意的是,三次握手仅在建立连接时进行,数据传输完毕后,双方会进行四次挥手(Four-Way Handshake)来关闭连接。

TCP的三次握手是为了确保通信双方都能够正常收发数据,并且提供了一种可靠的连接建立机制。这种机制可以应对网络延迟、丢包和重复的情况,确保数据能够准确、可靠地传输。
tcp协议的4次挥手
1. 第一次挥手:Client将FIN置为1,发送一个序列号seq给Server;进入FIN_WAIT_1状态;

2. 第二次挥手:Server收到FIN之后,发送一个ACK=1,acknowledge number=收到的序列号+1;进入CLOSE_WAIT状态。此时客户端已经没有要发送的数据了,但仍可以接受服务器发来的数据。

3. 第三次挥手:Server将FIN置1,发送一个序列号给Client;进入LAST_ACK状态;

4. 第四次挥手:Client收到服务器的FIN后,进入TIME_WAIT状态;接着将ACK置1,发送一个

acknowledge number=序列号+1给服务器;服务器收到后,确认acknowledge number后,变为

CLOSED状态,不再向客户端发送数据。客户端等待2*MSL(报文段最长寿命)时间后,也进入CLOSED状态。完成四次挥手
UDP

User Datagram Protocol 用户数据包协议

是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。在OSI模

型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包

进行排序的缺点,也就是说当报文发送之后,是无法得知其是否安全完整到达的。

UDP的特性

非面向连接:不用先与对方建立连接,不握手

不可靠的:没有确认机制

因为它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普

通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太

大影响。

udp的可靠性不是靠协议,是靠应用程序,靠程序员
udp一般用于
\1. 即时通信:qq聊天 对数据准确性和丢包要求比较低,但速度必须快 

\2. 在线视频:RTSP(Real Time Streaming Protocol 一个应用层协议)速度一定要快, 

保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的 

\3. 网络语音电话:VoIP 语音数据包一般比较小,需要高速发送,偶尔断音或串音也没问题 

\4. dns:dns同时占用tcp和udp的53号端口,其中tcp/53一般在从服务器同步主服务器的时候 

用 
IP
IP协议是TCP/IP协议族中最为核心的协议。所有TCP、UDP、ICMP及IGMP数据都以IP数据报格式 传输。 
特点
不可靠(unreliable) 

它不能保证IP数据报能成功地到达目的地。IP仅提供尽力而为的传输服务。如果发生某种错误 

时,如某个路由器暂时用完了缓冲区, IP有一个简单的错误处理算法:丢弃该数据报,然后发送 

ICMP消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。 


无连接(connectionless) 

这个术语的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立 

的。这也说明, IP数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据 

报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B可 

能在A到达之前先到达。
ARP
arp协议作用
ARP地址解析协议用于将网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826]。 

ARP协议是属于"数据链路层 or 网络层"的协议,在以太网中的数据帧从一个主机到达网内的另一 

台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核 

(如驱动)必须知道目的端的硬件地址才能发送数据 
ICMP
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一 

个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可 

达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于 

用户数据的传递起着重要的作用。 

ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文 

通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程 
其功能主要有

侦测远端主机是否存在。

建立及维护路由资料。

重导资料传送路径。

4、常见网络设备介绍

4.1、交换机介绍
交换机的作用

网络交换机,是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算

机。随着通信业的发展以及国民经济信息化的推进,网络交换机市场呈稳步上升态势。它具有性

能价格比高、高度灵活、相对简单、易于实现等特点。所以,以太网技术已成为当今最重要的一

种局域网组网技术,网络交换机也就成为了最普及的交换机。

交换机的分类

从广义上来看,交换机分为两种

广域网交换机和局域网交换机。广域网交换机主要应用于电信领域,提供通信基础平台。而局域 

网交换机则应用于局域网络,用于连接终端设备,如PC机及网络打印机等。

按照现在复杂的网络构成方式

网络交换机被划分为接入层交换机、汇聚层交换机和核心层交换机。其中,核心层交换机全部采 

用机箱式模块化设计,已经基本上都设计了与之相配备的1000Base-T模块。接入层支持 

1000Base-T的以太网交换机基本上是固定端口式交换机,以10/100M端口为主,并且以固定端口 

或扩展槽方式提供1000Base-T的上联端口。汇聚层1000Base-T交换机同时存在机箱式和固定端 

口式两种设计,可以提供多个1000Base-T端口,一般也可以提供1000Base-X等其他形式的端 

口。接入层和汇聚层交换机共同构成完整的中小型局域网解决方案。 

从传输介质和传输速度上分

局域网交换机可以分为以太网交换机、快速以太网交换机、千兆以太网交换机、FDDI交换机、 

ATM交换机和令牌环交换机等多种,这些交换机分别适用于以太网、快速以太网、FDDI、ATM和 令牌环网等环境。 

从规模应用上分

有企业级交换机、部门级交换机和工作组交换机等。各厂商划分的尺度并不完全一致,一般来 

讲,企业级交换机都是机架式,部门级交换机可以是机架式,也可以是固定配置式,而工作组级 

交换机则一般为固定配置式,功能较为简单。另一方面,从应用的规模来看,作为骨干交换机 

时,支持500个信息点以上大型企业应用的交换机为企业级交换机,支持300个信息点以下中型企 

业的交换机为部门级交换机,而支持100个信息点以内的交换机为工作组级交换机。

根据架构特点分

局域网交换机分为机架式、带扩展槽固定配置式、不带扩展槽固定配置式三种产品。机架式交换 

机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,如以太网、快速以 

太网、千兆以太网、ATM、令牌环及FDDI等,但价格较贵。不少高端交换机都采用机架式结构。 

带扩展槽固定配置式交换机是一种有固定端口并带少量扩展槽的交换机,这种交换机在支持固定 

端口类型网络的基础上,还可以通过扩展其他网络类型模块来支持其他类型网络,这类交换机的 

价格居中。不带扩展槽固定配置式交换机仅支持一种类型的网络(一般是以太网),可应用于小 

型企业或办公室环境下的局域网,价格最便宜,应用也最广泛。 

按照OSI的七层网络模型

交换机又可以分为第二层交换机、第三层交换机、第四层交换机等,一直到第七层交换机。基于 

MAC地址工作的第二层交换机最为普遍,用于网络接入层和汇聚层。基于IP地址和协议进行交换 

的第三层交换机普遍应用于网络的核心层,也少量应用于汇聚层。部分第三层交换机也同时具有 

第四层交换功能,可以根据数据帧的协议端口信息进行目标端口判断。第四层以上的交换机称之 

为内容型交换机,主要用于互联网数据中心。

按照交换机的可管理性

交换机分为可管理型交换机和不可管理型交换机,它们的区别在于对SNMP、RMON等网管协议 

的支持。可管理型交换机便于网络监控、流量分析,但成本也相对较高。目前,市面上生产可管 

理性交换机的厂商有华为,思科,飞鱼星等主要网络设备供应商。而有大中型网络在汇聚层应该 

选择可管理型交换机,在接入层视应用需要而定,核心层交换机则全部是可管理型交换机。 

按照交换机是否可堆叠

交换机又可分为可堆叠型交换机和不可堆叠型交换机两种。设计堆叠技术的一个主要目的是为了 

增加端口密度。 

按照最广泛的普通分类方法

局域网交换机可以分为桌面型交换机(Desktop Switch)、工作组型交换机(Workgroup 

Switch)和校园网交换机(Campus Switch)三类。桌面型交换机是最常见的一种交换机,使用 

最广泛,尤其是在一般办公室、小型机房和业务受理较为集中的业务部门、多媒体制作中心、网 

站管理中心等部门。在传输速度上,现代桌面型交换机大都提供多个具有10/100M自适应能力的 

端口。工作组型交换机常用来作为扩充设备,在桌面型交换机不能满足需求时,大多直接考虑工 

作组型交换机。虽然工作组型交换机只有较少的端口数量,但却支持较多的MAC地址,并具有良 

好的扩充能力,端口的传输速度基本上为100M。校园网交换机的应用相对较少,仅应用于大型网 

络,且一般作为网络的骨干交换机,并具有快速数据交换能力和全双工能力,可提供容错等智能 

特性,还支持扩充选项及第三层交换中的虚拟局域网(VLAN)等多种功能。 

根据交换技术的不同

交换机分为端口交换机、帧交换机和信元交换机三种。与桥接器不同的是,端口交换机转发延迟 

很小,操作接近单局域网性能,远远超过了普通桥接互联网之间的转发性能。端口交换技术最早 

出现在插槽式的集线器中,这类集线器的背板通常划分有多条以太网段,不用网桥或路由器连 

接,网络之间是互不相通的。以太主模块插入后通常被分配到某个背板的网段上。端口交换用于 

将以太模块的端口在背板多个网段之间进行分配、平衡。帧交换是目前应用最广泛的局域网交换 

技术,它通过对传统传输媒介进行微分段,提供并行传送的机制,以减小冲突域、获得高的带 

宽。ATM技术代表了网络和通信中众多难题的一剂“良药”。ATM采用固定长度为53个字节的信元 

交换。由于长度固定,因而便于用硬件实现。ATM采用专用的非差别连接,并行运行,可以通过 

一个交换机同时建立多个节点,但不会影响每个节点之间的通信能力。ATM还容许在源节点和目 

标节点之间的通信能力。ATM采用统计时分电路进行复用,因而能大大提高通道利用率。ATM的 

带宽可以达到25M、155M、622M甚至数G比特传送能力。 
4.2、路由器介绍
路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地 

址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的 

以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包 

的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各 

数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/ IP网络连接到因特网上。

5、虚拟局域网VLAN概念讲解

IEEE于1999年颁布了用于标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术的出现,使得 

管理员根据实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个 

VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是 

从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范 

围中,即这些工作站可以在不同物理LAN网段。由VLAN的特点可知,一个VLAN内部的广播和单 

播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网 

络的安全性。 

交换技术的发展,也加快了新的交换技术(VLAN)的应用速度。通过将企业网络划分为虚拟网络 

VLAN网段,可以强化网络管理和网络安全,控制不必要的数据广播。在共享网络中,一个物理的 

网段就是一个广播域。而在交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC 

地址)组成的虚拟网段。这样,网络中工作组的划分可以突破共享网络中的地理位置限制,而完 

全根据管理功能来划分。这种基于工作流的分组模式,大大提高了网络规划和重组的管理功能。 

在同一个VLAN中的工作站,不论它们实际与哪个交换机连接,它们之间的通讯就好象在独立的交 

换机上一样。同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的VLAN中 

去,这样可以很好的控制不必要的广播风暴的产生。同时,若没有路由的话,不同VLAN之间不能 

相互通讯,这样增加了企业网络中不同部门之间的安全性。网络管理员可以通过配置VLAN之间的 

路由来全面管理企业内部不同管理单元之间的信息互访。交换机是根据工作站的MAC地址来划分 

VLAN的。所以,用户可以自由的在企业网络中移动办公,不论他在何处接入交换网络,他都可以 

与VLAN内其他用户自由通讯。 

VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、 

FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等。 

VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构 

变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。 

物理位置不同的多个主机如果划分属于同一个VLAN,则这些主机之间可以相互通信。物理位置相 

同的多个主机如果属于不同的VLAN,则这些主机之间不能直接通信。VLAN通常在交换机或路由 

器上实现,在以太网帧中增加VLAN标签来给以太网帧分类,具有相同VLAN标签的以太网帧在同 

一个广播域中传送。
VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了
VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就
是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理
网络。

七、网络基础实战

1、熟记OSI/TCP模型
2、熟记重要网络协议

你可能感兴趣的:(网络协议,网络,学习,linux)