网络 网络层 | 您所在的位置:网站首页 › ip路由选择协议 › 网络 网络层 |
网络层是用信子网的边界,是通信设备的协议最高层.其功能是负责地址管理与路由选择(为每一条网络中的数据根据想去的地方选择合适的路径),典型的协议是IP协议,典型的设备是路由器 IP协议IP协议的工作类似于邮政服务,事先不需要通知收信人,邮政服务会接收信件,并将其按照邮递路线送给收信人。无连接数据通信也是不通知终端主机就将IP数据包发送出去。IP协议是作为低开销协议设计的,它只提供网络系统从源主机向目的主机传送数据包所必须的功能,该协议并不负责跟踪和管理数据包的流动。因此Internet在网络层就是采用无连接的数据报服务设计思路 IP地址 = 网络号 + 主机号 网络号:一个网络的标识,由个网络中所分配的IP地址都会带有这个网络号,网络号也叫网段 主机号:标识同一网络中的不同主机,也就是同一网络有同一网络号,但是有不同的主机号 IP协议版本有两种,IPV4和IPV6,IPV4,IPV4地址类型是uint32_t,总共40多亿个IP地址,用于在网络中唯一标识主机 IP地址是计算机进行动态分配的(DHCP),但是计算机在分配IP地址时是如何做到所有主机不会产生分配冲突的呢----网段划分 早期的网段划分是将IP地址分成五类
缺点:存在大量IP地址的浪费(大量公司的申请的都是B类网络),导致B类地址很快就分配完了, 而A类却浪费了大量地址 CIDR划分方案特殊的IP地址: 地址描述0.0.0.0可以识别当前主机上的任意网卡地址,常用于服务端的监听地址(表示绑定监听本机上的所有IP地址)255.255.255.255全网广播地址(任意一个主机收到这个地址的数据,都会认为是发送给自己的,适配所有IP地址,常用语DHCP请求地址)127.0.0.1本地虚拟回环网卡的IP地址(常用与本地的网络通信测试,给自己发送数据查看网络是否正常)主机全为0实际就是网络号,是网络的表示,因此全为0的主机号是不能分配给网络中的主机主机号全为1实际是UDP局域网广播地址(适配与当前网络中的所有主机,因此全为1的主机号是不能分配给网络中的主机CIDR方案就是引入子网掩码来划分网络 子网掩码是uint32_t类型的数字,这个数字由连续的二进制1来组成,通常用一串0来收尾,例如我们平时家用网络的子网掩码一般都是255.255.255.0 假设一个公司要申请了一个C类网络,IP地址为200.161.30.0,现在公司中有4个部门,希望从这个网络中平均划分出四个子网供给各个部门使用,请计算每个子网的网络号为多少,和对应的子网掩码为多少,且IP地址的范围又为多少? 答:C类网络中的子网掩码为255.255.255.0,即前3个字节200.161.30为网络号,子网划分将从第四个字节的第一个比特位开始。现需要划分为4个子网,即需要2个比特位,因此子网掩码为255.255.255.11000000,即255.255.255.192 子网1的网络号:200.161.30.00000000;即200.161.30.0 子网2的网络号:200.161.30.01000000;即200.161.30.64 子网3的网络号:200.161.30.10000000;即200.161.30.128 子网4的网络号:200.161.30.11000000;即200.161.30.192 每个子网都有64个主机号,则有效主机IP地址范围为(去除主机号全为1和全为0的ip) 子网1:200.161.30.00 000001 ~ 200.161.30.00 111110;即200.161.30.1 ~ 200.168.30.62 子网2:200.161.30.01 000001 ~ 200.161.30.01 111110;即200.161.30.65 ~ 200.168.30.126 子网3:200.161.30.10 000001 ~ 200.161.30.10 111110;即200.161.30.129 ~ 200.168.30.190 子网4:200.161.30.11 000001 ~ 200.161.30.11 111110;即200.161.30.193 ~ 200.168.30.254 注:当要划分不是2的次方整数倍时,需要向上划分。例如划分5个子网,此时必须划分为8个子网。也就是前3个比特位为网络号 公网与私网公网也称外网,也就是我们所说的互联网;私网也称内网,仅限于内部通信 IP地址的数量是有限的,只有40多亿个,DHCP动态地址分配并不能完全解决这个问题。此时就引入了NAT来解决IP地址不够用的问题 NAT全称(Network Address Translation,网络地址转换),主要用于组建私网,将私网的IP地址转换为对外的IP地址。 私网中的主机都有各自的IP地址,而私网对外只有一个IP地址。也就不同私网的主机,即使IP地址相同,也没有关系。因为他们对外上网的时候会通过NAT服务转换为对外的IP地址进行上网。但是要注意私网之间,网络不能相邻,否则就会造成冲突 路由器的功能就是实现数据包的寻址和转发 路由选择:就是路由器的寻址,寻址数据包到达目的IP地址的最佳路径 路由表:路由表存储了有关本地网络和远程网路的数据转发信息 在Linux操作系统下,可以使用route命令查看路由表信息 假如主机1要给主机2发送数据,并不会直接将数据发送给主机2,而是要先将数据发送给路由器1,然后路由器进行路由选择,先查看主机1是否属于自己的私网,利用主机1的IP地址和自己组建的私网的子网掩码相与得到一个网络号,如何得到的网络号和自己组建时的网络号相同,则表示主机1属于自己的私网,这时候就可发送给主机2。但是发送给主机2之前,先要确认主机2是否属于自己的私网,也是要拿主机2的IP地址和自己组建的私网的子网掩码相与,如果与自己组建的网路号相同,就才会发送给主机2 假如主机1要上百度上网,会将数据发送给路由器1,然后路由器要发送给百度,百度的IP地址为39.156.69.79,然后发送时将这个IP地址依次从表格的上到下和子网掩码相与,看有没有相同的网络号,如果没有就可以通过eth1网卡发送到default的网关上,此时数据就到达了运营商路由器。运营商路由器也有自己的路由表,然后根据自己的路由表寻找目的地。以此类推,最后才将数据发送给百度 私网之间的主机是无法直接进行通信的,例如主机1不能和主机3和主机4直接进行通信的 主机1要和主机3通过qq进行网络通信,会先将数据发送到路由器1,再将数据发送到运营商服务器,再发送到互联网,互联网再发送到qq服务器,然后qq服务器再发送至互联网,再到运营商服务器,然后再到路由器2,再发送到主机3。这里发送数据时都路由器都会记录两网卡之间的映射关系,是由哪个源IP地址和端口发送到哪个目标IP地址和端口,这个技术叫做NAPT。例如路由器1与记录主机1之间的映射关系 192.168.3.2 192.168.2.2 相邻网络:一个路由器上边连接的网络,对于这个路由器都是相邻网络。例如下图中的路由器1和路由器2并不相邻,路由器1和路由器2都和运营商路由器相邻 相邻网络不能使用同一个网络号,如果使用了用同一个网络号,此时路由器会记录两个同样的网络号,如果发送数据,就不知道发送给谁了 私网之间是不能通信的,他们有可能具有相同的IP地址 |
CopyRight 2018-2019 实验室设备网 版权所有 |