我是一个无情的搬运工,以下内容都整理自百度。
1.什么是网关
大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。也就是网络关卡。
网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络A向网络B转发数据包的过程。
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关。默认网关一般填写x.x.x.1。默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
2.什么是子网掩码
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。
2.1 子网掩码的作用和功能
子网掩码是在IPv4地址资源紧缺的背景下为了解决lP地址分配而产生的虚拟lP技术,通过子网掩码将A、B、C三类地址划分为若干子网。通过逻辑运算,将IP地址划分为网络标识(Net.ID)和主机标识(Host.ID),只有网络标识相同的两台主机在无路由的情况下才能相互通信。
子网掩码是一个32位的2进制数, 其对应网络地址的所有位都置为1,对应于主机地址的所有位都置为0。
子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由。网络上,数据从一个地方传到另外一个地方,是依靠IP寻址。从逻辑上来讲,是两步的。第一步,从IP中找到所属的网络,好比是去找这个人是哪个小区的;第二步,再从IP 中找到主机在这个网络中的位置,好比是在小区里面找到这个人。
2.2 如何判断两个计算机是否属于同一网络
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
2.3 划分子网
子网掩码机制提供了子网划分的方法。其作用是:减少网络上的通信量;节省IP地址;便于管理;解决物理网络本身的某些问题。使用子网掩码划分子网后,子网内可以通信,跨子网不能通信,子网间通信应该使用路由器,并正确配置静态路由信息。划分子网,就应遵循子网划分结构的规则。就是用连续的1在IP地址中增加表示网络地址,同时减少表示主机地址的位数。例如,IP地址为130.39.37.100,网络地址为130.39.0.0、子网地址为130.39.37.0、子网掩码为255.255.255.0,网络地址部分和子网标识部分为“1”所对应,主机标识部分为“0”所对应。 使用CIDR表示为:130.39.37.100/24即IP地址/ 掩码长度。其中第三个字节上的255 所对应的8位二进制数值就是将主机地址位数借给了网络地址部分,充当了划分子网的位数。
2.3.1如欲将B类IP地址168.195.0.0划分成27个子网:
- 1)27=11011
- 2)该二进制为五位数,N = 5
- 3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0
- 即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网)。
2.3.2如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
- 1) 700=1010111100
- 2)该二进制为十位数,N = 10
- 3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255
- 然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000
- 即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。
2.4 IPV6 和子网掩码的关系
IPv6中没有子网掩码的概念,也没有网络号与主机号的概念。在IPV6中前缀长度就可以当作子网掩码来理解。接口ID可以当作主机号来理解。在Windows XP中,IPv6地址的前缀长度默认为64位。IPv6的地址空间过于广大,可能一个子网的子网都要比整个IPv4的世界要大很多,所以子网的概念在IPv6世界里已经淡化了。但是,同一站点的主机要想直接通信(不经过路由器),还是要求前缀相同才行的。
3.交换机工作原理
交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在,广播到所有的端口,接收端口回应后交换机会“学习”新的MAC地址,并把它添加入内部MAC地址表中。
交换机属于OSI第二层即数据链路层设备。它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生。交换机最大的好处是快速,由于交换机只须识别帧中MAC地址,直接根据MAC地址产生选择转发端口算法简单,便于ASIC实现,因此转发速度极高。
3.2交换机与集线器区别
- 从OSI体系结构来看,集线器属于第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。也就是说集线器只是对数据的传输起到同步、放大和整形的作用,对于数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。
- 从工作方式看,集线器是一种广播模式,也就是说集线器的某个端口工作的时候,其它所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很大影响;而交换机就能够避免这种现象,当交换机工作的时候,只有发出请求的端口与目的端口之间相互响应而不影响其它端口,因此交换机就能够隔离冲突域并有效地抑制广播风暴的产生。
- 从带宽来看,集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其它端口只能等待,同时集线器只能工作 在半双工模式下;而对于交换机而言,每个端口都有一条独占的带宽,当两个端口工作时不影响其它端口的工作,同时交换机不但可以工作 在半双工模式下而且可以工作在全双工模式下。
3.3二层交换机、三层交换机、四层交换机
3.3.1 二层交换机
二层交换技术的发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
3.3.2 三层交换机
兼具有路由功能的二层交换机,在网际之间第一次通信时建立路由关系,在之后的多次通信就采用交换机的方式。在实际应用过程中,典型的做法是:处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,用三层交换机来代替路由器,而只有局域网与公网互联之间要实现跨地域的网络访问时,才通过专业路由器。
下面先来通过一个简单的网络来看看三层交换机的工作过程。
使用IP的设备A————————三层交换机————————使用IP的设备B
比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,这个缺省网关的IP对应第三层路由模块,所以对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址(由源主机A完成);然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据(三层交换机要确认是由A到B而不是到C的数据,还要读取帧中的IP地址。),就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。
3.3.3 四层交换机
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它所传输的业务服从各种各样的协议,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。