打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
计算机网络(二)

OSI参考模型

MAC地址

网络通信的最边缘便是LAN(局域网)了,我们来看看在LAN中是如何寻址的。

MAC子层和MAC地址

LAN主要使用广播通信,在其内部,许多主机连在相同的通信通道上,通信时的关键问题是当竞争存在时如何决定谁使用通道。解决此问题的协议是属于链路层的子层,称为MAC(Medium Access Control,介质访问控制)子层。MAC子层在LAN中特别重要,因为广播通信是由它控制的。

网络中的节点(主机或者路由器)都有链路层地址。事实上,并不是节点上有链路层地址,而是节点的适配器(NIC)有。链路层地址通常叫做LAN地址、物理地址或者MAC地址。MAC地址的长度为6个字节,每个字节都用一对十六进制表示,如XX-XX-XX-XX-XX-XX。

适配器在生产时就被永久地安排了一个MAC地址,它被烧录在适配器的ROM中,是不可改变的。另外,MAC的地址空间是由IEEE管理的,它保证所有适配器的MAC地址都不相同。

局域网通信

当适配器想要发送一个帧到其他适配器时,发送适配器将目的适配器的MAC地址插入到封包中,然后以广播的方式将此封包发送到LAN中的每一台主机(除了它自己)。每个接收到封包的适配器都会查看包中的目的MAC地址是否和自己的MAC地址相同,如果相同就提取出包含的 数据报(Datagram),并将其传递到该协议堆栈的上层(网络层),如果不同就直接丢弃。

有时候发送适配器想要LAN中的所有其他适配器都接收它发送的帧,这种情况下,发送适配器在目的地址域中插入特定的MAC广播地址即可。对于使用6字节的的地址的LAN来说,广播地址的48位全设为1的地址,即FF-FF-FF-FF-FF-FF。

广域网通信

MAC地址仅应用在LAN中,一旦封包从LAN中的网关出来进入Internet,链路层地址(MAC地址)就无效了。这时候,各路由器是依靠网络层的IP地址来寻找目标主机或目标主机所在的LAN的。

IP地址(Internet Protocol Address,网际协议地址)

互联网上的每个主机和路由器都有IP地址,它将网络号和主机号编码在一起。此组合是唯一的。原则上,互联网中没有两个机器有相同的IP地址。所有的IP地址都是32位长,IP地址在IP封包中的源地址和目的地址域中使用(网络层)。IP地址指定的并不是主机,而是网络接口(如网卡)。

IP格式和分类

类别A、B、C,分别允许128个网络和16000000个主机、16384个网络和64K个主机、2000000个网络和256个主机。类别D用于多播,在这里,数据报被发送到多个主机。类别E保留供今后使用。

IP地址0.0.0.0由主机在引导时使用。网络号为0的IP地址表示当前网络。这些地址使得网络内的机器在不知道网络号的情况下就可以引用自己所在的网络(当是它们必须要知道它的类,以便知道要包含多少个0)。完全包含1的地址允许在本地网络(通常是LAN)上广播。带有恰当网络号和主机域全为1的地址允许机器发送广播包到Internet上的任何远程LAN。最后,所有127.xx.xx.xx形式的地址都被保留用作回环测试。发送到这个地址的封包不会被输出到线路上,它们被当作到来的封包直接在本地上处理,这允许封包发送到本地网络二发送者不需要知道网络号。

子网寻址

为了更有效地利用IP地址,人们又将单个网络分成几个部分在内部使用,网络(这里是以太网)中的每个部分称为子网(subnet),一个LAN就可以是一个子网。

一个网络分成多个子网之后,对外面的世界而言,它仍然是一个单独的网络。典型的如校园网络(图1.5 所示)。它们使用一个主路由器连接ISP或者其他地方网络,大量以太网分散在校园的不同部门。每个以太网有自己的路由器,它们连接在主路由器上。

当一个封包到达主路由器时,它如何知道要传给哪个子网呢?通常的做法是:单独的B类地址中14位是网络号,16位是主机号,现在从主机号中拿出几位(二进制位)来创建子网号。例如,如果大学有35个部门,它可以拿出6位作子网号,10位作主机号,从而允许最多增加64个以太网,每个以太网最多可以容纳1022个主机。如果需要的话,还可以再重新划分。

为了实施子网,主路由器需要子网掩码,它指定了“网络+子网+主机”的各个部分,子网掩码也以点分十进制的形式写出,外加一个斜线,后跟“网络+子网”部分的位长度。例如,在图1.6中,子网掩码可以写成255.255.252.0,也可以写为“/22”,表示子网掩码有22位长。

在网络外面,子网的划分是不可见的,因此申请一个新的子网不必惊动ICANN。在上例中,第1个子网可以使用从130.50.4.1开始的IP地址,第2个子网从130.50.8.1开始,第3个子网从130.50.12.1开始,以此类推。为了看到为什么子网间间隔是4,看看这些地址对应的二进制数据就知道了。(|)竖直线 的左边是6位子网号,右边是10位主机号。

子网的工作方式

为了看清楚这些子网是如何工作的,有必要解释一下IP封包是如何在路由器中进行处理的。每个路由器有一个表,列出了这样的IP地址——(网络,0)和这样一些IP地址——(本网络,主机)。第一种说明了封包如何进入远程网络。第二种说明了封包如何到达本地主机。

当IP封包到达时,路由器在路由表中查找它的目的地址。如果封包是到远程网络的,它就会在表中记录的接口上被转发到下一个路由器,如果封包是到达本地主机的,就会被发往目的地。如果表中没有记录,就会被转发到有着更大的路由表的默认路由器上。这种方法意味着,每个路由器仅知道其他网络和本地主机,而不是(网络,主机),这极大地减小了了路由表的大小。

当引入子网划分时,路由表也要改变,添加表的入口——(本网络,子网掩码,0)和(本网络,本子网掩码,主机)。这样,在子网K上的路由器便知道如何到达所有其他的子网,也知道如何到达子网K上的主机,而不必要知道其他子网上主机的详细信息。事实上,要做的所有改变是使每个路由器对网络的子网掩码做一个AND运算来去掉主机号,然后在表中查找它的地址。例如,一个封包寻址 130.50.15.6,到达了主路由器,使用掩码255.255.252.0 /22 作AND运算之后,得到地址130.50.12.0,然后在路由表中查找此地址以便知道使用哪条线路可以到达 子网。

10000010 00110010 00001111 00000110 (130.50.15.6)

11111111 11111111 11111100 00000000 (255.255.252.0)

AND

——————————————————————————————————

10000010 00110010 00001100 00000000 (130.50.12.0)

端口号

网路层IP地址用来寻址指定的计算机或者网络设备,而传输层的端口号用来运行目的设备上的哪个应用程序应该接受这个封包。端口号是16位的,端口号的范围从0到65535。

许多知名公共服务都使用固定的端口号,如WWW默认使用80端口,FTP使用22号等。

物理地址转换(NAT)

NAT名字很准确,网络地址转换,就是替换IP报文头部的地址信息。NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。

RFC1918规定了三个保留地址段落:

10.0.0.0-10.255.255.255;

172.16.0.0-172.31.255.255;

192.168.0.0-192.168.255.255。

这三个范围分别处于A,B,C类的地址段,不向特定的用户分配,被IANA作为私有地址保留。这些地址可以在任何组织或企业内部使用,和其他Internet地址的区别就是,仅能在内部使用,不能作为全球路由地址。这就是说,出了组织的管理范围这些地址就不再有意义,无论是作为源地址,还是目的地址。对于一个封闭的组织,如果其网络不连接到Internet,就可以使用这些地址而不用向IANA提出申请,而在内部的路由管理和报文传递方式与其他网络没有差异。

对于有Internet访问需求而内部又使用私有地址的网络,就要在组织的出口位置部署NAT网关,在报文离开私网进入Internet时,将源IP替换为公网地址,通常是出口设备的接口地址。一个对外的访问请求在到达目标以后,表现为由本组织出口设备发起,因此被请求的服务端可将响应由Internet发回出口网关。出口网关再将目的地址替换为私网的源主机地址,发回内部。这样一次由私网主机向公网服务端的请求和响应就在通信两端均无感知的情况下完成了。依据这种模型,数量庞大的内网主机就不再需要公有IP地址了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
路由器下面再接一个路由器的接法
WRH54G linksys 路由器使用说明书
西门子S7-1200PLC编程之——PROFINET通讯(2)
无线网络经常掉线的情况(2)_无线网络经常掉线的12种情况_网络_比特网
IP、子网掩码、网关、DNS、DHCP到底都是什么意思
从头开始 家用路由器高级功能全面解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服