IP他负责的是把IP数据包在不同网络间传送,这是网络设计相关的,与操作系统没有关系。所以这部分知识,不是网络的重点。IP和路由交换技术联系紧密。但是要作为基本知识点记住。

一、基本概念

        网络层作用:实现主机与主机之间通信。

        IP作用:在复杂网络环境中将数据包 发送给目的主机。

IP与MAC都是针对俩个主机之间通信,有啥区别?

答:MAC负责直连的俩设备之间的通信传输;IP负责非直连的俩网络之间的通信传输。

网络中数据包传输中也是如此,源IP地址和目标IP地址在传输过程中是不会变化的(前提:没有使用 NAT 网络),只有源 MAC 地址和目标 MAC 一直在变化。

IP分类

        优点:
路由器主机解析IP地址时通过首四位0、10、110、1110、1111,即可判断出属于哪一类IP,进而快速得知网络号和主机号。咱们人也可以根据IP范围快速得到IP地址属于哪一类。

         缺点:同一网络下无地址层次,缺少地址灵活性;无法与现实世界匹配。

公有&私有IP地址

公有 IP 地址是由 ICANN 组织管理,公有 IP 地址在整个互联网范围内保持唯一。(万维网使用)

私有IP地址是由内部的 IT 人员管理。(局域网使用)

因此公有IP不可能相同,不同公有IP网段中可能存在相同的私有IP!

192.168开头就是私有地址,范围:192.168.0.0 ~ 192.168.255.255

本地回环地址:127.0.0.1 永远只会寻找当前本机

无分类地址CIDR

        形式 a.b.c.d/x,其中 /x 表示前 x 位属于网络号,后32-x为主机号。

        x即为子网掩码位数

子网划分

        作用:对网络地址合理利用,避免浪费IP地址。

        子网划分是将主机地址分为两个部分:子网网络地址和子网主机地址

 IP分片与重组

每种数据链路的最大传输单元 MTU 都是不相同的,以太网的 MTU 是 1500 字节。

当 IP 数据包大小大于 MTU 时, IP 数据包就会被分片。

分片与重组,均由主机完成。

在分片传输中,一旦某个分片丢失,则会造成整个 IP 数据报作废,所以 TCP 引入了 MSS 也就是在 TCP 层进行分片不由 IP
层分片。UDP尽量不要传超过MTU的数据包。

MSS=MTU-20字节TCP报头-20字节IP报头

二、IP协议相关技术(六)

* DNS 域名解析
* ARP 与 RARP 协议
* DHCP 动态获取 IP 地址
* NAT 网络地址转换
* ICMP 互联网控制报文协议
* IGMP 因特网组管理协议
DNS域名解析

        IP与域名相互映射,因此可以相互推导。

        在实际中,客户机向本地域名服务器查询是递归查询,本地域名服务器向其他域名服务器是迭代查询。主机请求信息一次,本地域名服务器请求信息多次。

递归查询是:客户机发送一条查询请求到本地域名服务器,发现缓存中没有主机名和IP地址对的信息,那么本地域名服务器就往上继续查询,发送一个查询报文,如果在某一级域名服务器找到了主机名和IP地址对信息,就直接返回。如果找不到,那么这个域名服务器又会作为客户机去请求上一级域名服务器,直至根域名服务器,根名称服务器收到DNS请求后,把所查询得到的所请求的DNS域名中发送给顶级域名服务器,让顶级域名服务器去往下级域名服务器请求查找,如果找到了就原路返回。某域名服务器-->...->顶级域名服务器-->根域名服务器-->下一级域名服务器-->...-->本地域名服务器-->客户机。

递归查询是A访问B,B再访问C,C访问D,直到查询到,然后依次返回,D返回给C,C再返回给B,B再返回A。

迭代查询是A访问B,B把C的地址返回给A,A再去请求查询C,C再把D的地址返回给A,A再去访问D。

ARP(地址解析协议)

        由IP地址广播得到MAC地址。

RARP(地址逆解析协议)由MAC地址得到IP地址。需要假设RARP服务器。

DHCP(动态获取IP)

        通常都是通过 DHCP 动态获取 IP 地址,大大省去了配 IP 信息繁琐的过程。

        DHCP 客户端进程监听的是 68 端口号,DHCP 服务端进程监听的是 67 端口号

4步获取IP: DHCP 交互中,全程都是使用 UDP 广播通信

* 客户端首先发起 DHCP 发现报文(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道 DHCP
服务器的地址,所以使用的是 UDP广播通信,其使用的广播目的地址是 255.255.255.255(端口 67) 并且使用 0.0.0.0(端口 68)
作为源 IP 地址。DHCP 客户端将该 IP 数据报传递给链路层,链路层然后将帧广播到所有的网络中设备。
* DHCP 服务器收到 DHCP 发现报文时,用 DHCP 提供报文(DHCP OFFER) 向客户端做出响应。该报文仍然使用 IP 广播地址
255.255.255.255,该报文信息携带服务器提供可租约的 IP 地址、子网掩码、默认网关、DNS 服务器以及IP 地址租用期。
* 客户端收到一个或多个服务器的 DHCP 提供报文后,从中选择一个服务器,并向选中的服务器发送 DHCP 请求报文(DHCP REQUEST
进行响应,回显配置的参数。
* 最后,服务端用 DHCP ACK 报文对 DHCP 请求报文进行响应,应答所要求的参数
路由器不会转发广播包,一般主机与DHCP服务器不会在一个局域网,因此使用DHCP中继代理

DHCP中继代理作用:对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。

*
DHCP 客户端会向 DHCP 中继代理发送 DHCP 请求包,而 DHCP 中继代理在收到这个广播包以后,再以单播的形式发给 DHCP 服务器。

*
服务器端收到该包以后再向 DHCP 中继代理返回应答,并由 DHCP 中继代理将此包广播给 DHCP 客户端 。

NAT(网络地址转换)

之前讲了私有IP与公有IP,内网的的私有IP想要与外网的设备通信就需要转换为公有IP,NAT就是进行私有IP与公有IP相互转换。

为了实现私有IP与公有IP 1:N的映射关系,每个私有IP与公有IP映射中在私有IP加入端口号,则可以保证每个私有IP与一个公有IP存在着唯一的映射关系。

 NAT缺点:

* 外部无法主动与 NAT 内部服务器建立连接,因为 NAPT 转换表没有转换记录。
* 转换表的生成与转换操作都会产生性能开销。
* 通信过程中,如果 NAT 路由器重启了,所有的 TCP 连接都将被重置。
解决方法:

1、使用IPv6

2、使用NAT穿透技术

        就是客户端主动从 NAT 设备获取公有 IP 地址,然后自己建立端口映射条目,然后用这个条目对外通信,就不需要 NAT 设备来进行转换了。

ICMP(互联网控制报文协议)

ICMP 主要的功能包括:确认 IP 包是否成功送达目标地址、报告发送过程中 IP 包被废弃的原因和改善网络设置等

ICMP 大致可以分为两大类:

* 一类是用于诊断的查询消息,也就是「查询报文类型」
* 另一类是通知出错原因的错误消息,也就是「差错报文类型」

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信