导图社区 Internet协议——IP
IP协议基础知识思维导图,包括:1.什么是IP;2.ARP—地址转换协议;3.RARP—反地址转换协议;4.ICMP—控制报文协议。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Internet协议——IP
1. 什么是IP
IP
IP是通信子网的最高层,是无连接的数据报传输,是点到点的,核心是寻径。配套还有三个协议一起使用:ICMP,ARP,RARP。
ARP
地址转换协议
RARP
反地址转换协议
ICMP
Internet控制报文协议
2. ARP—地址转换协议
ARP是用于通过IP地址获取物理地址的协议
每一个主机都有一个ARP高速缓存,用于存放IP地址到物理地址的映射。
当主机的ARP高速缓存中没有目标主机IP地址到物理地址的映射时,就会广播发送一个ARP请求分组来获取目的主机的物理地址。
其过程还要分为两种情况:
源主机和目的主机处于相同网段(二层转发):
1. 由于源主机只有目的主机的IP地址,所以只好向所在网段中的所有设备都发送一个ARP请求分组。这个请求分组中也会带有源主机自己的物理地址。
2. 其他主机收到这个请求分组之后就会拆分数据包,发现IP地址不是自己之后就会丢弃。当目的主机收到这个请求分组之后,发现就是对自己发的,就会封装一个ARP响应分组,里面带有自己的物理地址,发回给源主机。并且目的主机也会把请求分组中源主机的物理地址保存到自身ARP高速缓存中。
3. 源主机收到目的主机发来的响应分组之后就会在自己的ARP高速缓存中写入目的主机IP地址到物理地址的映射。源主机和目的主机就可以进行访问啦。
源主机和目的主机处于不同网段(三层转发):
1. 源主机先要判断目的主机和自己是不是在同一个网段,不在一个网段之后,需要由网关转发报文信息。
2. 源主机先在自己的ARP表中查找网关的Mac地址,如果有就直接访问,没有就发送ARP请求分组。
3. 目的网关收到请求分组之后,将源主机的Mac地址学习到自己的ARP表中,然后发送一个ARP响应报文。
4. 源主机收到ARP响应报文之后,将网关的Mac地址学习到自己的ARP表中,然后向网关发送报文。这时的目的IP和Mac地址就变成了网关的(IP数据报中的目的IP不会变,改变的只是以太网的首部)。
5. 网关收到报文之后,分析数据报,根据目的IP查找路由表。
如果目的IP在自己的直连网段中:
就查看自己的ARP表,如果有目的IP对应的Mac地址,就直接转发给目的IP;如果没有,就向目的IP发送ARP请求。把目的IP的Mac地址学习到自己的ARP表之后再向目的主机发送数据报文。
6. 目的主机收到数据报文之后再向网关发送响应报文,再由网关转发给源主机。
3. RARP—反地址转换协议
有地址转换协议相应的就会有反地址转换协议,用来根据物理地址得到IP地址。
RARP一般用于无盘系统,在开机引导的时候以广播的形式向所有服务器发送一个RARPrequest请求,里面封装的是自己的物理地址,服务器收到之后会回应一个RARPreply封包,主机收到之后就得到了自己的IP地址。
warn:RARP和RAP还有所不同,因为主机向本地网段发送RARP请求,网段上收到请求的服务器都会向源主机发送一个RARP响应包,这就可能会造成网络拥堵。
解决办法:
1. 给请求RARP的主机分配一个主服务器,其他服务器只需要记录请求的时间,如果主服务器没有在一定时间内作出响应,请求逾期之后请求主机会再次发送一个请求,这时其他非主服务器就会向请求主机发送RARPreply响应包。
2. 主服务器在收到请求之后会立即作出回应,每台非主服务器会随机等待一段时间再作出回应;如果主服务器没有作出回应的话,请求主机会再延迟一段时间再重新发送一个请求,来保证在这段时间收到来自非主服务器的响应。
4. ICMP—控制报文协议
ICMP主要分为两种报文:差错报文和询问报文。可以确认数据报有没有成功送达,如果数据报丢失的话会发返回一个丢失原因。
ICMP数据报格式:
Type和code字段表示含义:
源站抑制报文(属于请求报文):当源主机向另一个主机或路由器发送数据报时,如果目的主机或路由器速率较慢,可能会导致速率较慢的主机或路由器发生堵塞,就会丢弃一些数据报,然后源主机得知之后就又会重发这些数据报,就会导致更加拥堵。目的主机就会向源主机发送一个ICMP源站抑制报文,让源主机暂停发送数据报,等待一段时间再恢复发送。
还有比较常用的ICMP改变路由报文(属于差错报文):路由器可以向源主机发送路由改变报文,改变发送数据报时经过的路由。源主机收到之后就会重写自己的路由表。
Ping命令
ping 命令用来在IP 层次上调查与指定机器是否连通,调查数据包往复需要多少时间。为了实现这个功能,ping 命令使用了两个ICMP 报文(请求报文Type = 8,Code = 0和响应报文Type = 0,Code = 0)。
单播、多播、广播
单播
单播是点到点,TCP连接就是点到点
多播
多播是多点发送,向一组特定的主机发送数据。
广播
广播是向同一网段内全部主机发送
ARP攻击
ARP协议遵循后到优先原则,所以可以被进行ARP欺骗(ARP攻击)
源主机在向局域网中发送ARP请求分组时,处于相同网段的所有主机都会收到来自源主机的ARP请求分组。非目的主机正常情况下收到不是发给自己的数据包之后就会丢弃,但是可以通过监听的方式获取其IP地址和Mac信息,这样非目的主机也可以向源主机发送ARP响应包。只要不停的发送,遵循后到优先的原则,源主机最后使用的一定是非目的主机发送过来的ARP响应包。