原理 - 不能忽略的网卡启动过程j9九游会最新网址IPv6通讯

来源:j9九游会网络 时间:2024-06-06 08:40:08

                                                    本文以CentOS 7为实验环境▽◆▲◆■○,创建两个network namespace(名字分别为ns1和ns2)▪▲▽◁■,并通过veth网卡桥接到同一个linux bridge(名字为br0)○■▽,来模拟最简单的环境-=▷◁◇,即两台同二层服务器◆◇。

                                                    也就是俗称的公网地址和私网地址○-▽★。并等待回应•☆□☆•■,专业解释■=▷□-:发送一个地址解析包(Neighbor Solicitation▪▪•,请求解析的地址就是自己的地址▲◇◁…=■,即可认为地址可用▪•=◇◁。简称NS)◁△…▪◁■,

                                                    举个例子★▼□◇:我想给我家小狗取名j9九游会最新网址◇◁▪▪■,叫▷▲△-☆☆“球球■★”○□◇◇▲☆,但不想和邻居家的小狗重名▼◁□☆▼,于是我大声喊◁▲=•■:●☆◆“球球◁◇☆-▷▼”•◆◁。如果没有任何狗狗看过来▲★▲◆=▽,那就可以认定此名字没有冲突◆◁▽中国主导全球市场再生!。

                                                    注■☆◇☆★▼:这里说的IP地址-▲○,简称NA)◇▲…▷-,由于本次实验中没有路由器j9九游会最新网址•-▽,若超时仍未得到回应(Neighbor Advertisement◆-◁•,是指--=■◆“全球单播地址◇△…□◁○”或者◇…▷●“唯一本地地址•▪□◁”=-★,因此截图中仅能看到主动发送的RS报文▽○,而不是…◇…“链路本地地址=△●”▽•◁-原理 - 不能忽略的网卡启动过。而没有得到回应◇★…□▽。

                                                    当他人想解析我的MAC地址时▼△•,发送一个…■•●□◁“地址解析请求包◆▼=▽”到这个多播地址△-,然后属于该多播地址的成员(也就是◇◆-▼“我△-△-◇”)就会收到该数据包▼★▽◆▲◁,最后●•☆▽“我▽=○□◆”返回MAC地址给对方□▲…▪。这样就完成了◁○☆▪▪“地址解析▪○”的流程=◆。

                                                    在IPv6的世界中◆■,每生成一个ip地址(准确说是单播地址)■•=◇,无论什么类型△▪□★,都会对应生成一个△▷-“被请求节点多播地址▪□◆▼▪○”(Solicited-Node multicast address)▽▼●◆■。

                                                    组成方式•▼○▽◇▲:FF02△●▪:-…:1△○-△☆▪:FF00▷●=△-▲:0/104 + 单播地址的最后24bit△◆•▽▲▷程j9九游会最新网址IPv6通讯。可以看到•★,该地址是通过单播地址推导而成•★○=,不是随机的◆◇☆。上图中红框里的地址就是=▽…“链路本地地址-………◆”对应的•■•“被请求节点多播地址●-★◁”△★▲▷。

                                                    当收到路由器回应的RA报文后▪☆★▪▽•,就会根据报文中的IP前缀信息▪▷□△--,自动生成IP地址j9九游会最新网址•…★,并将网关指向该路由器的…●▪◁“链路本地地址■▽■-△☆”▪▽▼◇•◆。

                                                    可以看到★☆…--,此时网卡已启动……◇▷★■,并获得了一个链路本地地址(图中fe80开头的)▼-。

                                                    别人请求解析我的地址★=▲△☆,那么我就是被请求的节点▽◇▼•…。我生成▼-▷▲“被请求节点多播地址▪●★”的目的◆○▽,就是让别人能够请求到我▪…□□□◁。

                                                    网卡启动过程一共有5步=○,详见示意图(右边的数字-●▽◇★,表示对应抓包图中的第几个包)◁□▼◁: