40. 网络层 —— 网络层主要解决的问题 / IP协议

1. 网络层主要解决的两个问题

1.地址管理:
【网络上的这些主机和节点都需要使用一种规则来区分,就相当于是一种身份标识】
2.路由选择:
【从主机A传输到主机B,由于A和B需要跨越很多网络设备,数据在传输过程中需要选择路径】

2.IP协议

2.1地址管理解决方案

每一个主机都会有一个身份标识,这个标识是由32位数字组成的,但是现在连接网络的设备太多了,光靠这32位已经没有办法分配了,于是就有了一下解决方案:
1.动态分配IP地址:
【只有联网了才给分配,不联网的时候就不分配(这种方法在一定程度上可以说是解决了问题,但是治标不治本)】
2.NAT机制:
【网络地址转换,也就是允许局域网内部的IP地址重复,使用一个IP来表示一批局域网内部的设备,这样的地址转换过程一般是由路由器来负责的,但是只允许局域网之间有重复的IP,广域网上的IP仍然是不能重复的,NAT可以用一个外网IP来表示一系列的内部网络设备】
3.IPV6
【这是从根本上解决了IP不够用的问题,IP地址很长,有16个字节(128位),但是与IPV4不兼容】

2.2 网段划分:划分局域网

划分局域网是把一个IP地址(IPV4)分成两个部分,一部分是网络号,一部分是主机号

划分规则

  • 1.同一个局域网内部的设备,网络号都是相同的,但是主机号是不相同的
  • 2.两个相邻的局域网(同一个路由器连接的),要求网络号不能相同

划分方式
子网掩码

例如IPV4的地址为:192.168.0.1
子网掩码为:255.255.255.0

那么得到的网络号应该是IPV4和子网掩码相与的的结果:192.168.0.0
(和这个电脑在同一区域的其他主机的网络号都是这个)

2.3 路由转发

假如从主机A出发传输数据到主机B,需要经过很多层查找转发,可以通过IP报文中的TTL字段来看出来一共转发了多少层

例如:

TTL=48,初始值是64,那么中间经过了16层路由器的跳转
TTL=45,初始值是64,那么中间经过了19层路由器的跳转
TTL=64,我的电脑访问我的路由器,没有经过别的跳转

2.4 路由表怎么查

目的IP子网掩码在路由表中是匹配的关系,如果能找到匹配项就从对应的网络端口中继续进行转发,如果找不到匹配项,就从默认的下一个表项中继续转发,转发到一定程度之后,总会找到路由器认识的目的IP

你可能感兴趣的:(JavaWeb,网络)