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