网络层:最主要的功能就是:在复杂的网络环境中确定一个合适的路径。
如何在网络层中准确的找到合适的路径发送数据呢?
这就需要我们的IP协议了。
IP协议基本概念:
主机:配有IP地址,但是不能进行路由控制的设备
路由器:即配有IP地址,又能进行路由控制
节点:主机和路由器的统称
我们看下一个IP协议的格式:
IP地址:网络号和主机号
网络号:保证相互连接的两个网段具有不同的标识
主机号,同一个网段中,主机之间具有相同的网络号,但是主机号必须不相同
DHCP技术
每次都能够自动的给子网内的新增主机分配不同的IP地址,避免了手动去分配。
一般的路由器都有DHCP功能,路由器也可以叫做一个DHCP服务器
IP地址由32位组成,如何划分IP地址呢?
过去的划分有 A,B,C,D,E五类的IP地址,但是IP地址浪费的太严重,目前使用的划分方案是CIDR
CIDR
1.引入一个额外的子网掩码来区分网络号和主机号
2.子网掩码是一个32为的正整数
3.将IP地址和子网掩码进行“按位与”操作,得到的结果是网络号
如下一例子:
特殊的IP地址
1.将IP地址中的主机地址全部设置为0,就成为了网络号,代表这个局域网
2.将IP地址的主机地址全部设置为1,就称为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包
3.127.* 的IP地址是本机环回地址测试
我们知道IP地址是由32位组成的,那么一共就只有2的32次方个IP地址(43亿),除去一些特殊的IP地址,不到43亿了,这么少,肯定不够全世界的人使用。
1.动态分配IP地址,只给连接如网络的设备分配IP地址,因此同一个MAC地址的设备每次接入到互联网,都有可能得到的IP地址不同
2.NAT技术
3.IPv6,使用128位来表示IP地址(与IPv4不兼容)
NAT技术
IP地址严重的不足,所以引出了NAT技术。
什么是NAT技术?
NAT技术能够将本地IP地址在通讯的时候转化为全局IP地址,也就是将本地IP地址和全局IP地址相互转化的技术方法
如,我们看砍我们现在本地私有的IP地址是多少?
私有IP:192.168.78.140
我们再看看我们百度IP地址是多少?
百度服务器上显示的IP:113.135.80.XXX
为什么都是同一台主机,为什么IP不同的呢?这就是NAT技术。可以大大的增大IP地址的使用,目前解决IP地址不够用的最好办法。
NAPT
如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的的IP地址是相同的,那么NAT路由器如何判定将这个数据包转发给那个局域网的主机呢?
NAPT 使用IP+port来建立这个关联关系
NAT技术的缺陷:
1.无法从NAT外部向内部服务器建立连接
2.转换表的生成和销毁都要额外的开销
3.通信过程中一旦NAT设备异常,即使存在热备,所有的TCP连接也都会断开