网络互联指将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统。中间设备又称中间系统或中继系统。根据所在的层次,中继系统分为以下4种:
- 物理层中继系统:中继器,集线器Hub(多端口集线器)
- 数据链路层中继系统:网桥,交换机Switch(多端口网桥)
- 网络层中继系统:路由器(Router)
- 网络层以上的中继系统:网关
使用物理层或数据链路层的中继系统时,只是把一个网络扩大了,从网络层的角度看仍然是同一个网络,一般并不称之为网络互联。因此网络互联通常是指用路由器进行网络互联和路由选择。路由器是一台专用计算机,用于在互联网中进行路由选择
TCP/IP体系在网络互联上采用的做法是在网络层采用标准化协议,但相互连接的网络可以是异构的。
路由器
- 在路由器互联的多个局域网结构中,要求每个局域网物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
路由器是第三层设备,向传输层及以上层次隐藏下层的具体实现,所以物理层、数据链路层、网络层协议可以不同。而网络层之上的协议数据是路由器所不能处理的,因此网络层以上的高层协议必须相同。使用特定的路由器连接IPv4与IPv6网络,就是典型的网络层协议不同而实现互联的例子。 - 广播域与冲突域
路由器工作在网络层,不转发广播包(目的地址为255.255.255.255的IP包),因此能够分隔广播域,抑制网络风暴,交换机工作在数据链路层,能够分隔冲突域,但不能分隔广播域。集线器和中继器是物理层设备,既不能分隔广播域又不能分隔冲突域。 - 路由表的内容
路由器是网络层设备,其任务是转发分组。每个路由器都维护一个路由表以决定分组的转发。为了提高路由器的查询效率并减少路由表维护的内容,路由表只保留到达目的地址的下一个路由器的地址,而不保留整个传输路径的信息。另外,采用目的网络可使每个路由表项包含很多目的主机IP地址,这样可减少路由表中的项目。因此,路由表通常包含目的网络和到达该目的网络路径上的下一个路由器的IP地址。
那么,每个路由器都根据它所拥有的路由表选择IP分组的下一跳地址,只有到了下一跳路由器,才能知道再下一跳应该怎样走。而源主机也只把IP分组发给网关,所以路由器和源主机都不知道IP分组要经过的完整路径。 - 路由器转发一个分组的过程
先接收整个分组,然后对分组进行错误检查,如果出错,那么丢弃错误的分组;否则存储该正确的分组。最后根据路由选择协议,将正确的分组转发到合适的端口,这种机制称为存储转发机制。
网桥Bridge
网桥工作在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目的是在连接的网络间提供透明的通信。
网桥的转发是依据数据帧中的源地址和目的地址来判断一个帧是否应该转发和转发到哪一个端口。帧中的地址称为MAC地址或硬件地址,一般就是网卡所在的地址
网桥的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到网桥的存在,设备之间的通信就如同在一个网上一样方便。由于网桥是在数据帧上进行转发的,因此只能连接相同或相似的网络(相同或相似的数据帧),如以太网之间,以太网与令牌环(token ring)之间的互连
网桥与路由器的区别
- 网桥只能连接两个逻辑相同的网络(同构网络),而路由器可以连接不同网络(异构网络),因为路由器在网络层,使用统一的网际协议(Internet Protocol,IP)
- 网桥基于MAC地址转发,路由器基于IP地址转发
- 网桥不隔离广播域,而路由器可以隔离广播域
- 网桥工作在链路层,路由器工作在网络层
网关(gateway)
网关实质是一个网络通向其他网络的IP地址
不同网络地址的网络A与网络B。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)、三层交换机等
网卡与网关:网卡(又叫网络适配器)负责的是物理层和数据链路层,网卡上有MAC地址,对应着网络层中的ip地址,同时网卡还负责将数字信号转换为光电等信号与电缆、光缆进行通信; 而网关是网络层的应用,主要负责ip地址的路由选择;
根据路由器学习路由信息、生成并维护路由表的方法包括直连路由(Direct)、静态路由(Static)和动态路由(Dynamic)
- 直连路由:路由器接口所连接的子网的路由方式称为直连路由
直连路由是由链路层协议发现的,一般指去往路由器的接口地址所在网段的路径,该路径信息不需要网络管理员维护,也不需要路由器通过某种算法进行计算获得,只要该接口处于活动状态(Active),路由器就会把通向该网段的路由信息填写到路由表中去,直连路由无法使路由器获取与其不直接相连的路由信息。
直连经常用在一个三层交换机连接几个VLAN时,通过设置直连VLAN间就能够直接通信而不需要设置其他路由方式了。如:一个三层交换机划分两个VLAN,VLAN1中有以PC1,地址为192.168.1.2/24,VLAN2有PC2,地址为192.168.2.2/24;假如它们两个不同VLAN间想通信,因为VLAN1,VLAN2都是与三层交换机直连,所以它们之间可以直接通信,而不需要设置其他路由协议。 - 非直连路由:通过路由协议从别的路由器学到的路由称为非直连路由,分为静态路由和动态路由。
- 静态:运行前配置好的
静态路由是由网络规划者根据网络拓扑,使用命令在路由器上配置的路由信息,这些静态路由信息指导报文发送,静态路由方式也不需要路由器进行计算,但是它完全依赖于网络规划者,当网络规模较大或网络拓扑经常发生改变时,网络管理员需要做的工作将会非常复杂并且容易产生错误。 - 动态:运行时动态生成的
而动态路由的方式使路由器能够按照特定的算法自动计算新的路由信息,适应网络拓扑结构的变化。如我们经常用于自治系统(AS:Autonomous System)内部网关协议有开放式最短路径优先(OSPF:Open Shortest Path First)协议和寻路信息协议(RIP:Routing Information Protocol)
默认路由(缺省路由):默认路由是一种特殊的静态路由,指的是当路由表中与目的地址之间没有匹配的表项时路由器能够做出的选择。(默认情况下在路由表中直连路由优先级最高,静态路由优先级其次,下来为动态路由,默认路由最低!)如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。(默认路由一般是在网段的边界配置的)
默认网关:一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。其实我们在PC机上配的默认网关就是默认路由
网关与路由器
网关:一个大概念,不具体特指一类产品,只要连接两个不同的网络的设备都可以叫网关
路由器:一般特指能够实现分组转发和路由选择的特定类产品,路由器很显然能够实现网关的功能(连接两个不同的网络)
路由
路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样的事。它们的主要区别在于桥接发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层(网络层)。这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。
端口
在网络技术中,端口有两层意思:
- 物理端口,即物理存在的端口,如:集线器、路由器、交换机、ADSL Modem等用于连接其他设备的端口
- 逻辑端口,用于区分服务的端口,一般用于TCP/IP中的端口,其范围是0~65535,,0为保留端口,一共允许有65535个端口比如用于网页浏览服务的端口是80端口,用于FTP服务的是21端口
端口号:由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,即就是端口号。
分类:1.按端口号划分
(1)公认端口(Well Known Ports)
0~1023,它们紧密绑定于一些服务,通常这些端口的通讯明确表明了某种服务的协议,如:80端口对应与HTTP通信,21端口绑定
与FTP服务,25端口绑定于SMTP服务,135端口绑定与RPC(远程过程调用)服务。
(2)注册端口(Registered Ports)
1024~49151,它们松散的绑定于一些服务,也就是说有许多服务绑定于这些端口,这些端口同样用于其他许多目的,如:许多系统
处理端口从1024开始
(3)动态和/或私有端口(Dyanmic and /or Private Ports)49152~65535,理论上,不应为服务分配这些端口,通常机器从1024开始分配动态端口。例外:SUN的RPC端口从32768开始。
2.按协议类型划分按协议类型划分可分为TCP端口、UDP端口、IP端口、ICMP(Internet控制消息协议)。
TCP端口:
即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP的21端口,Telnet的23
端口,SMTP的25端口,HTTP的80端口。
UDP端口:即用户数据报协议端口,无需在客户端和服务器端建立连接,安全性得不到保障。常见的DNS的53端口,SNMP(简单网络管理协
议)的161端口,QQ使用的8000和4000端口。
保留端口:UNIX有保留端口号的概念,只有超级用户特权的进程才允许给它自己分配一个保留端口号。这些端口号介于1~1023之间,一些应用
程序将它作为客户与服务器认证的一部分。