【网络篇】IP知识
IPv4首部与IPv6首部
IPv4相对于IPv6的好处:
1.IPv6可自动配置,即使没有DHCP服务器也可以实现自动分配IP地址,实现即插即用。
2.IPv6包首部长度采用固定40字节,删除了选项字段,以及首部校验和,简化了首部结构,减轻了路由器负担,提高传输性能。
3.IPv6有应对伪造IP地址的网络安全功能以及防止路线窃听的功能,大大提升了安全性。
DNS
层级关系由高到低:
作用:将域名转换成IP地址。
具体流程:
1.将客户端要访问的域名传到本地DNS服务器,如果缓存中有就直接返回IP地址,如果没有,本地DNS服务器将询问它的根域名服务器。
2.根域名服务器收到后,发现是.com域,会把.com顶级域名服务器的地址给本地域名服务器。
3.本地域名服务器收到顶级域名服务器地址后,将请求发送给顶级域名服务器,此时顶级域名服务器会返回权威域名服务器的地址。
4.本地域名服务器询问权威域名服务器,权威域名服务器查询后将对应IP地址告诉本地DNS。
ARP与RARP
ARP
地址解析协议,根据IP地址获取MAC地址的一个TCP/IP协议,用于双端设备在通讯收发数据之前,如果不知道对端的MAC地址,就可以通过ARP协议获取。
具体流程:
RARP
与ARP作用相反,ARP是已知IP求MAC,RARP是已知MAC求IP。
DHCP
动态主机配置协议,用于动态获取IP地址。
具体流程:
问题:如果 DHCP 服务器和客户端不是在同一个局域网内,路由器又不会转发广播包, 那不是每个网络都要配一个 DHCP 服务器?
为了解决这一问题,就出现了 DHCP 中继代理。有了 DHCP 中继代理以后,对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。
具体流程:
NAT
5.NAT的缺点
6.如何解决 NAT 潜在的问题呢?
方法一:使用IPv6,NAT主要为了节省IP,IPv6地址足够多,用不着NAT进行转换了。
方法二:使用NAT穿透技术:客户端主动从NAT设备获取公共IP地址,自己建立映射条目,然后用这个映射条目对外通信,就不需要NAT设备来进行转换了。
ICMP
互联网控制报文协议,作用:确认IP包是否成功到达目的地址、报告发送过程中IP包被废弃的原因和改善网络设施等。
查询报文类型
回送消息:回送请求与回送应答
差错报文类型
目标不可达消息:
原点抑制消息:
重定向消息:
超时消息:
IGMP
ping的工作原理
ping命令执行的时候,源主机会构建一个ICMP回送请求消息的数据包,在数据包中有类型(回送请求对应字段为8)和序号字段(区分连续ping的时候发出的多个数据包,每发送一个,序号自动加1),还会在数据部分插入发送时间。然后再加上IP头、MAC头最终发送到目的主机。目的主机接收后,检查目的依次拆MAC头、IP头,最终将数据交给ICMP协议。
此时目的主机会构建一个ICMP回送响应消息的数据包,数据包中类型字段为0,序号为接收到的请求数据包中的序号,然后发送给源主机。在规定时间内,源主机如果没有收到ICMP应答包,则说明目标主机不可达;反之,说明目标主机可达。
源主机收到后会用当前时刻减去该数据包最初从源主机上发出的时刻,就是ICMP数据包的延迟时间。
traceroute——差错报文类型的使用
作用:
1.故意设置特殊的TTL,来追踪去往目的地时沿途经过的路由器:
traceroute 的参数指向某个目的 IP 地址:traceroute 192.168.1.2
这个作用是如何工作的?
发送方如何知道发出的 UDP 包是否到达了目的主机呢?
traceroute在发送UDP包时,会填入一个不可能的端口号作为UDP的目标端口号。当目的主机收到UDP包后,会返回差错报文,类型是端口不可达。当发送方收到差错报文类型是端口不可达时,说明发出的UDP包到达了目的主机。
2.故意设置不分片,从而确定路径的MTU:
关于ping了解多少?
什么是ping?
TCP发数据和ping有什么区别?
断网了,还能ping通127.0.0.1吗?
能。在有网的情况下,ping最终都是通过网卡将数据发送出去的。
ping环回地址和ping本机IP地址有什么区别?
没有区别。
127.0.0.1 和 localhost 以及 0.0.0.0 有区别吗?