网络 网络层 您所在的位置:网站首页 ip路由选择协议 网络 网络层

网络 网络层

2024-04-08 15:02| 来源: 网络整理| 查看: 265

网络层是用信子网的边界,是通信设备的协议最高层.其功能是负责地址管理与路由选择(为每一条网络中的数据根据想去的地方选择合适的路径),典型的协议是IP协议,典型的设备是路由器

IP协议

IP协议的工作类似于邮政服务,事先不需要通知收信人,邮政服务会接收信件,并将其按照邮递路线送给收信人。无连接数据通信也是不通知终端主机就将IP数据包发送出去。IP协议是作为低开销协议设计的,它只提供网络系统从源主机向目的主机传送数据包所必须的功能,该协议并不负责跟踪和管理数据包的流动。因此Internet在网络层就是采用无连接的数据报服务设计思路 在这里插入图片描述 版本号:包含IP版本号,例如IPV4/IPV6 首部长度:标识IP报头的长度,以4字节为单位(最小20字节/最大60字节) 服务类型:用于确定每个数据报的优先级级别 报文总长度:指头部和数据之和的长度,单位为字节,因此数据报的最大长度不超过64k,总长度必须不超过数据链路层中的最大传送单元MTU 标识:若IP报文大小大于数据链路层中指定的MTU,但是又符合数据长度字段,则这条数据会在数据链路层中进行数据分片。用于唯一的标识主机发送的报文. 如果IP报文在数据链路层被分片了, 那么每一个片里面的这个id都是相同的 假设以太组网方式默认MTU=1500,假设报文长度为1500,下面是进行分片操作图解 在这里插入图片描述 一个完整的报文,有可能因为mtu的因素,在数据链路层中进行数据分片,而这些分片在对端就需要分片重组,重新组合称为一个完整报文 标志:1位保留,1位不分片位FD,当DF为0时才允许分片;如果DF为1则,表示禁止分片,如果数据包大于MTU,则该路由器将数据包丢弃。还有1位是更多分片MF,当MF为1是表示后面还有分片;当MF为0则表示是最后一个分片 片偏移:当分片在对端进行重组时,就需要确定这个分片在原数据包中的相对位置,偏移单位为8字节,也就是13位最大能够表示2^13*8=65536,所以每个分片(除了最后一个)长度都是8的整数倍 生存时间TTL:表示报文的最大生命周期,每经过一次路由器就会-1,当该值为0时,路由器会将丢弃数据报(默认为64,现在大多为128),主要是防止路由环路的问题 协议:记录传输层所使用的协议,便于目的主机解析格式时应该对应用哪种协议。典型的值有01-ICMP,06-TCP,17-UDP 校验和:校验数据的一致性(每层都会有相应设备对数据的校验,不会去校验其他层,所以每层都会进行校验) 源IP/目的IP:描述通信中的两台主机在网络层中的地址 选项数据:提供一种途径允许后续版本协议包含原设计中未出现的信息

地址管理----网段划分

IP地址 = 网络号 + 主机号 网络号:一个网络的标识,由个网络中所分配的IP地址都会带有这个网络号,网络号也叫网段 主机号:标识同一网络中的不同主机,也就是同一网络有同一网络号,但是有不同的主机号

IP协议版本有两种,IPV4和IPV6,IPV4,IPV4地址类型是uint32_t,总共40多亿个IP地址,用于在网络中唯一标识主机

IP地址是计算机进行动态分配的(DHCP),但是计算机在分配IP地址时是如何做到所有主机不会产生分配冲突的呢----网段划分

早期的网段划分是将IP地址分成五类

在这里插入图片描述 A:用于组建大型网络,高1位固定为0,7位网络号,24位主机号;网络号范围:0~ 127,IP地址范围:0.0.0.0~127.255.255.255 B:用于组建中型网络,高2位固定为10,14位网络号,16位主机号;网络号范围:128.0~ 191.255,IP地址范围:128.0.0.0~191.255.255.255 C:用于组建小型网络,高3位固定为110,,2位网络号,8位主机号;网络号范围:192.0.0~ 223.255.255,IP地址范围:192.0.0.0~223.255.255.255 D:特殊IP地址 E:特殊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 在这里插入图片描述 子网掩码与IP地址相与得到当前的网络号 255.255.255.0 & 192.168.137.1 = 192.168.137.0 子网掩码取反就可以获得这个网络中的主机号范围 ~255.255.255.0 = 0.0.0.255,则这个网络中的主机号范围为:0 ~255

假设一个公司要申请了一个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地址进行上网。但是要注意私网之间,网络不能相邻,否则就会造成冲突 在这里插入图片描述 但是私网的网络号也不能随便使用,万一与公网上的某个网络号冲突了就不合适了。在RFC文档1918规定,能够用于组建私网的网络号有以下几种 10.* . *. *----用于组建大型私网 172.16. * . * ~ 172.31. * . *----用于组建中型私网 192.168. *. *----用于组建小型私网

路由选择

路由器的功能就是实现数据包的寻址和转发 路由选择:就是路由器的寻址,寻址数据包到达目的IP地址的最佳路径 路由表:路由表存储了有关本地网络和远程网路的数据转发信息

在Linux操作系统下,可以使用route命令查看路由表信息 在这里插入图片描述 重要名词解释 Destination:目标网络 Gateway:网关地址 Genmask:子网掩码 Iface:连接指定网络的网卡

在这里插入图片描述

DestinationGatewayGenmaskIface192.168.3.0255.255.255.0eth0192.168.2.0255.255.255.0eth1default192.168.2.1eth1

假如主机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 实验室设备网 版权所有