首页 > 编程知识 正文

网络层的ip协议解决的是什么问题,网络层和传输层的区别

时间:2023-05-03 16:12:59 阅读:27710 作者:193

网络层是信使的子网边界和通信设备协议的顶层。 其功能负责地址管理和路由(根据想去的地方为各网络内的数据选择合适的路径),典型的协议是IP协议,典型的设备是路由器)。

类似于IP协议IP协议的工作邮政服务。 不需要事先通知收件人。 邮政服务收到信件,并根据邮政途径发送给收件人。 无连接数据通信也不向终端主机通知而发送IP分组。 IP协议被设计为低开销协议,它只提供网络系统将数据包从源主机传输到目标主机所需的功能,而不负责跟踪和管理数据包的流动。 因此,在网络层,因特网识别未连接数据报服务的设计构想http://www.Sina.com/: IP v4/ipv 63358 www.Sina.com/: IP报头的长度最多60字节) 3358www.Sina.com/)用于确定每个数据报的优先级级别版本号)是报头和数据之和的长度,单位是字节,因此数据报的最大长度最大数据链路层传输单元MTU http://www.Sina.com/:如果IP消息大小大于在数据链路层指定的MTU,但与数据长度字段匹配,则此数据将在数据链路层进行数据分片。 用于唯一标识主机发送的消息。 如果IP消息在数据链路层被切片,则每个切片中的此id相同

假设以太网网络方式的默认MTU=1500,假设消息长度为1500,并且进行片操作的图解如下

由于mtu的原因,完整的消息可能在数据链路层被数据分片。 这些切片需要在另一侧进行切片重组。 重新组合是完整消息首部长度:1位保留,称为1位非切片位FD,仅当DF为0时才允许切片。 如果DF为1,则禁止分片,并且如果分组大于MTU,则路由器丢弃分组。 另外一位是更多片MF,MF为1时表示后面有片; 如果MF为0,则表示是最后一个片的服务类型:如果在另一侧重组了片,则必须确定其在原始包中的相对位置。 偏移单位可以是8字节,即13位的最大值可以表示2^13*8=65536。 因此,每个分片(不包括最后一个)的长度是8的整数倍(报文总长度)表示消息的最大生命周期,每次通过路由器时为-1。 如果此值为0,路由器将销毁数据报)。 默认值为64,现在为128 ),主要防止循环问题。 http://www.Sii典型值为01-ICMP、06-TCP、17-UDP 标识:检查数据完整性(每层均有相应设备的数据检查,并检查其他层

地址管理----网段分区IP地址=网络号主机号

网络编号:网络的标识符。 在每个网络上分配的IP地址将使用此网络编号。 网络号也称为网段

主机编号标识同一网络中的不同主机。 也就是说,同一网络有相同的网络号,也有不同的主机号

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

IP地址是计算机动态分配的(DHCP ),但计算机分配IP地址时,如何防止所有主机发生分配冲突呢?--- http://www.Sina .

初始的网段划分是将IP地址分为五类

(a )用于构建大型网络,前一位固定为0、7位网络号和24位主机号; 网络编号范围: 0到127,IP地址范围:0.0.0. 0到127.255.255

(b )为了建立中型网络,前2位固定为10、14位网络号、16位主机号; 网络号码范围: 128.0~ 191.255,IP地址范围: 128.0.0.0~191.255.255

(c )为了构建小型网络,前3位固定为110,2位网络号码,8位主机号码; 网络号码范围: 192.0.0~ 223.255.255,IP地址范围: 192.0.0~ 223.255.255

d :特殊IP地址

e :特殊IP地址

标志由于存在大量IP地址浪费(大量公司申请的是b类网络),b类地址很快被分配,但a类浪费了大量地址)

CIDR分区方案片偏移

说明0.0.0.0可以标识当前主机上任何网卡的地址,可以是服务端监听地址(表示绑定监听本机上所有IP地址) 255.255.255全网广播地址)之一

本地的网络通信测试,给自己发送数据查看网络是否正常)主机全为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地址

网关就类似于一个中转站,两个主机之间要进行通信,就必须经过网关。
互联网中路由器上记录的路由表,包含的不仅仅是与自己相连接的网络的路由信息,与自己不相连的也会记录

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。