-
网络类型和拓扑结构
互联网是由大大小小的网络、 设备连接起来的大网络。 而网络类型可以根据覆盖的地理范围, 划分成局域网和广域网,如图所示:
-
局域网LAN
局域网是将小区域内的各种通信设备互联在一起所形成的网络,覆盖范围一般局限在房间、大楼或园区内。局域网一般指分布于几千米范围内的网络,局域网的特点是距离短,延迟小,数据速率高,传输可靠。
局域网络建设时常用网络部件有以下几种。
线缆:局域网的距离扩展通常需要通过线缆来实现,不同的局域网有不同的连接线缆,如光纤、 双绞线 ,同轴电缆等。
网卡:插在计算机主板插槽中,负责将用户要传递的数据转换为网络上其他设备能够识别的格式,通过网络介质传输。
集线器:是单一总线共享式设备,提供很多网络接口,负责将网络中的多个计算机连接在一起。所谓共享, 是指集结器所有端口共用一条数据总结,同一时刻只能有一个用户传输数据,因此平均每周户(端口)传递的数据量、速率等受活动用户(端口)总数量的限制。
交换机:也称交换式集线器( Switched Hub )。它同样具备许多接口,提供多个网络节点互联。但它的性能却较共享集线器大为提高,相当于拥有多条总结, 使各端口设备能独立地进行数据传递,而不受其他设备影响,表现在用户面前即是各端口有抽立、 固定的带宽。 此外,现在的交换机还具备集线器欠缺的功能, 如数据过滤 、网络分段、广播控制等。一般工作在数据链路层。
路由器:是一种用于网络五联的计算机设备, 它工作在OSI参考模型的第三层(网络层),为不同网络之间的报文寻径并存储转发。 通常路由器还会支持两种以上的网络协议以支持异种网络互联,一般的路由器还会运行动态路由协议以实现动态寻径。
防火墙:也称为防护墙, 位于内部网络与外部网络之间。 通过设定特定的规则, 允许或者限制传输的数据通过。某些情况下, 也会作为网关, 承担网络地址转换NAT。
2.广域网WAN
WAN的连接范围比较大,一般是一个国家或者洲。其中的代表技术有:
专线( Leas ed Line ),在中国称为 DDN, 提供点到点的连接方式,速度为64 kbit/s -2.048 Mbit/s。
帧中继,是在×.25基础上发展起来的技术,速度为64 kbit/s~2.048 Mbit/s。帧中继一的特点是灵活、 有弹性,可实现 点对多点的连接。
异步传输模式,是一种信元交换网络,最大特点是速率高,延迟小,传输质量有保障。
3网络拓扑类型
拓扑结构定义了组织网络设备的方法。现网网络中的拓扑结构有总线型,星型,环形等。
-
-
以太网
-
以太网基本概念
以太网是当今网络采用的主要局域网技术,它的概念诞生于1973年,由位于加利福尼亚PaloAlto的Xerox公司提出并实现。RobertMetcalfe博士研制的实验室原型系统运行速度是2.94兆比特每秒(2.94Mbit/s),他也被公认为以太网之父。
以太网技术指的是由Xerox公司创建并由Xerox,Intel和DEC公司联合开发的基带局域网规范。以太网络使用CSMA/CD(载波监听多路访问及冲突检测技术)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。以太网不是一种具体的网络,是一种技术规范。
1995年,IEEE正式通过了802.3u快速以太网标准。
1998年,IEEE802.3z吉以太网标准正式发布。
1999年,发布IEEE 802.3ab标准,即1000BAS E-T标准。
2002年7月 18日,IEEE通过了802.3ae, 即10 Gbit/s以太网,又称为万兆以太网,它包括 了10GBase-R, 10 GBase-W 、 10 Gbase-LX4这3种物理接口标准。
2004年3月,IEEE批准铜缆 10G以太网标准 8023拙,新标准作为10 GBase-C×4实施, 提供双轴电缆上的 10 Gbit/s的速率。
-
以太网帧结构
上文在描述TCP/IP模型的时候,曾经简单介绍过数据链路层的结构。数据链路层又可以分为LLC子层和MAC子层。其中 ,LLC子层定义了链路层服务;MAC子层则完成物理链路的访问 、 链路级的站点 标识(即MAC地址),同时接收LLC子层过来的数据,附加上MAC地址和控制信息后把数据发送到物理链路上 。
MAC子层定义的物理地址由IEEE统一管理,一共48位,称为12位的点分十六进制数。例如,48位的MAC地址0000000011100000111111000011100110000000001
10100,表示为OOeO.fc39.8034。MAC地址中的第2位指示该地址是全局唯一还是局部唯一,以太网一直使用全局唯一地址。
MAC地址又可以分为单播MAC地址、广播MAC地址、多播MAC地址。单播MAC地址唯一地标识了以太网上的一个终端,这个地址是固化在硬件(如网卡)里面的;广播MAC地址用来表示网络上的所有终端设备,全为1,表示为ffff.ffff.ffff;多播MAC地址用于代表网络上的一组终端,第8位为1,例如
01005e010101。
如下图为以太网帧结构
-
以太网交换机的工作原理
集线器也有转发功能,为啥不用集线器呢,原因有,第一,转发效率低,第二,集线器工作的时候是把收到的数据帧转发到其余所有的端口,除接收端口,容易出现广播风暴,如果有两个端口接收同一数据,那么会出现冲突。也没有安全性,例如,在一个网吧内使用集线器上网,如果你在聊天,或者其它隐私交流,按照集线器的转发规则,是很容易被其余设备获取的。因此这种设备已经淘汰很少使用。还有就是宽带资源负担很大。
有别于Hub基于物理层工作的机制,以太网交换机工作在数据链路层Ethernet II或者802.3封装报文中的MAC地址来进行寻址。两层交换机工作模式如上图所示:
数据从网络层发送到数据链路层后, 加上目的MAC地址和自己的MAC地址(源MAC地址),计算出数据帧的长度,形成以太网帧。以太网帧根据目的MAC地址在二层交换网络中转发,直到被发送到对端设备。 在数据转发中,交换机的工作主要包含以下两个方面。
-
基于源MAC地址的学习。
交换机转发数据帧是基于MAC地址表进行的, 而MAC地址表的建立则是交换机基于源MAC地址学习得到的。交换机通过构 建MAC地址和交换机端口之间的映射关系形成MAC地址表。交换机在初始化时, MAC地址表为空。
如图,交换机的端口1通过Hub接入了PCA和PC B,端口2则接入了PC C和PC D。当PC A发送数据的时候. 交换机从端口1接收到这个帧,交换机查看该帧的源MAC地址,把端口1和PC A的MAC映射关系维护在交换机上, 以此类推, 每个站点都眼直接连接的端口建立好映射关系, 最终端口1和端口2上会各自学习到所连接PC的MAC地址, 形成MAC地址表。
-
基于目的的MAC地址的转发
交换机通过源MAC地址的学习, 可以构建MAC地址表。借助于MAC地址表, 交换机可以完成数据帧的转发。 交换机在接收到数据帧后,检查数据帧的目的MAC地址, 然后, 将目的MAC地址和MAC地址表进行匹配,匹配到的MAC地址表项的接口即为数据帧的出接口。如果出接口与入接口相同,则表明目的地址和源地址在同一个冲突域,从而不需要交换机转发, 交换机将丢弃该帧。
如图所示,交换机收到的数据帧的目的MAC地址是MACD, 源MAC地址是MACA, 跟MAC地址表进行匹配, 找到出接口2, 该数据帧被发送到接口2继续往外转发。
交换机转发以太网帧依据MAC地址表,但如果没有匹配的MAC地址表项, 那数据帧该如何转发?如果数据帧是广播、 多播地址, 又该如何转发?如上图中对交换机的转发情况进行了描述。
交换机接收网段上的所有数据帧, 利用接收数据帧中的源MAC地址来建主MAC地址表, 使用地址老化机制进行地址表维护(默认为300 s , 如果300 S内没收到源自该地址的帧, 该表项就因老化而删除)。
如果数据帧是单播数据帧, 交换机在MAC地址表中查找数据帧中的目的MAC地址, 找到对应的表项后就将该数据帧发送到相应的端口(不包括源端口)。如果找不到,就向所有的端口发送(不包括源端口)。如果数据帧是广播和多播帧,则向所有端口转发 (不包括源端口)。
从上面的交换机的工作原理,可以看出交换机与Hub有着本质上的区别。交换机和 Hub 的网络拓扑类型也不一样Hub是总线型的拓扑结构,连接的网络同处于一个冲突域,同一时刻只能有一个用户进行数据发送,否则会发生冲突。 交换机的网络是一个星形网络,交换机位于中心点,汇接各种终端的接入,能够为每个终端提供独立的数据传输通道,所以,对于交换机来说 , 每一个端口都是一个独立的冲突域。
交换机的交换模式有Cut-Through、 Store-and-Forward、 Fragment-free 这 3 种。在Cut-Through模式下,交换机在接收到目的地址后即开始转发过程, 交换机不检测错误, 直接转发数据帧,延迟小。在Store-and-Forward 模式下,交换机接收完整的数据帧后才开始转发过程. 交换机检测错误,一旦发现错误,数据报将会丢弃,延迟较大。在 Fragment-free 模式下 ,交换机接收完数据报的前64字节(一个最短帧长度),然后根据帧头信息查找转发表,此交换模式结合了直通方式和存储转发方式的优点。考虑到大多数错误是由于冲突引起的,冲突导致的数据帧错误一般会在64字节中体现出来,因此不用等待接收完整的数据帧后才转发,只要接收了64字节即可转发。在 Fragment-free 的转发模式 中,如果在前64字节中检测到了帧错误,则直接丢弃整个数据帧。
交换机彻底解决了以太网的冲突问题,但是还是存在部分缺陷,譬如广播泛滥和安全性无法保证等。
-
-
ARP
-
ARP工作原理
下图主机A尝试着从局域网中的另一台主机8上进行FTP文件下载,在FTP的客户端界面上输入了FTP服务器的IP地址,成功登录了FTP服务器。在这个过程中,主机A 和主机B之间进行了数据的交互 ,局域网也完成了数据的转发。
按照之前介绍的内容,主机A往网络上发送数据的时候, 需要进行数据的封装;从以太网的工作原理又可以了解到,如果数据链路层采用了 Ethernet ||标准, 则数据帧中应该包含源MAC地址、 目的MAC地址和TYPE类型字段。主机A可以获知自身的IP地址和MAC地址。 同样通过登录FTP的操作, 可以获知服务器的目的IP地址,但以太网帧头部中的目的MAC地址如何获知?
ARP,地址解析协议, 在IP地址和对应的硬件地址之间提供动态映射。仍然以上图为例,为获知主机B的MAC地址,主机A 发送一份称作ARP请求的以太网数据帧给以太网上的每台主机,这个过程称作广播。ARP请求数据帧中包含目的主机的IP地址,意思如图中①所示 "我需要10.1.1.1 的MAC地址, 作为这个IP地址的拥有者,请回答你的硬件地址" 。接收到该ARP 请求报文的主机, 如果自身 IP不是 10.1.1.1,则不予回应 , 如果是10.1.1.1,则构建一个 ARP应答报文发送给主机A,这个应答报文中包含了IP地址及对应的硬件地址,如图中②所示。收到ARP应答后,后续的报文就可以传送了。
ARP的请求报文以广播的方式发送,报文的目的MAC地址被填充为ff:ff:ff:ff:ff , ARP的应答报文只需要回应给请求方即可,因此以单播的方式进行应答。
-
RARP工作原理
在进行地址转换时,有时还要用到逆向地址解析协议(Reverse Address Resolution Protocol,RARP) 。 RARP常用于无盘工作站,这些设备知道自己的MAC地址,需要获得IP地址。为了使RARP能工作,在局域网中至少有一台主机要充当RARP服务器。无盘工作站获得自己的IP地址的过程如图所示。向网络中广播RARP请求,RARP服务器接收广播请求,发送应警报文,无盘工作站获得IP地址。
3.ARP代理
如果两台PC在同一网段却不在同一物理网络上,中间被路由器隔离。在通常情况下,当一台路由器收到一条ARP请求报文时,路由器将进行检查,查看该ARP请求的目的地址是否是自己,如果是,发出ARP应答报文。如果不是,丢弃该报文。所以,通常情况下,ARP请求无法跨越路由器进行传递,被路由器隔离的两台同网段主机无法进行通信。
如果路由器使能了代理ARP功能,当路由器R收到一条ARP请求报文时 , 发现该报文的目的地址不 是自己,路由器并不立即丢弃该报文,而是查找路由表,如果路由器有到达该目的地址的路由,则路由器将自己的MAC地址发送给ARP请求方。ARP请求方就将到该目的地址的报文发送给路由器,路由器再将其转发出去。这个过程就被称作委托ARP或ARP代理( proxyARP)。
4.免费ARP
Gratuitous ARP (免费ARP)是一种特殊的ARP报文,正常情况下,主机发送ARP请求报文去请求目的终端的MAC地址,但免费ARP报文请求的是自己的IP地址对应的MAC地址。如果网络上没有另一台主机设置了相同的IP地址,则主机不会收到回答。而当主机收到该请求的回答时,则表示有另一台主机 设置了与本机相同的IP地址。于是主机会在终端曰志上生成一个错误消息,表示以太网内存在一台相同IP 的主机。
所以,概括来说,免费ARP报文有以下两个作用。
-
通过发送免费ARP可以确认IP地址是否有冲突。当发送方收到一条免费ARP请求的回答时,表示当前网络中存在着一个与该IP地址相冲突的设备。
-
更新旧的硬件地址信息。当发送免费 ARP的主机正好改变了硬件地址,如更换网卡,免费ARP就可以起到更新硬件地址信息的功能。当接收方收到一条ARP请求时,并且该ARP信息在ARP表中已经存在,则接收方必须用新的ARP请求中的地址信息更新旧的ARP信息表。
-