Ipv6实验

一、华为

思科与华为在接口启用ipv6

思科会自动产生local地址

华为不会自动产生local地址

以太网接口有mac地址,所以肯定是有eui64

serial接口是没有mac地址,他主要是使用ppp pppo的各种协议数据。但是可以使用背板的mac形成eui64,但是有很多serial接口使用一个背板接口mac产生的后64位的eui64是相同的,但是不会产生冲突,因为不同的接口用于不同的网络,链路的前缀是不相同的,所以eui64的前64位是不同的,所以后64位接口ID相同没有问题。

思科全局下不启用ipv6 unicast-rout,接口下启用ipv6可以使用,但是默认路由只能访问到互联路由器的ipv6地址,跨设备不能访问。

R2------------------------------R1

G0/0/1                         G0/0/0

R2:

ipv6  1.开启ipv6功能,可以配置ipv6地址。2.允许使用ipv6路由协议

interface gi 0/0/1

ipv6 enable  1.华为开启ipv6功能

1.思科表示开启ipv6功能

2.自动产生eui64地址

ipv6 address fe80::2 link-local   link-local没有掩码

display ipv6 inter gi 0/0/0

查看ipv6 mac

查看被请求节点组播地址FF02::1

FF02::2代表开启了动态路由选择功能

FF02::1如果没有开启动态路由选择功能,仅仅是普通路由器只能看到这个信息

R1:

ipv6

int g0/0/0

ipv6 enable

display ipv6 interface brief  看到FF:FE标识,那么就是EUI64获得的地址

show ipv6 interface brief

int g0/0/0

ip add fe80::1 link-local

R1:

ipv6

intr gi 0/0/0

ipv6 enable

ipv6 address auto link-local   link-local没有掩码

ping ipv6 fe80::2 -i gi 0/0/0

1.对ipv6做ping测试,由于所有的link-local都是fe80,所以使用结点ping ipv6要告诉路由器出接口,如果不指定出接口的话是不会知道要ping哪个link-local对象的。

2.link-local效率高,一般路由协议路由地址下一跳为link-local地址。AGUA可以用来做下一跳地址,但是会改变。AGUA下一跳效率低。

======================================================

二、思科

全局不开启ipv6功能,也可以在接口配置ipv6地址,但是这么使用路由器就是单纯的PC

不会有FF02::2的组播地址

不会有200s一次的RA给其他节点,对端节点不会动态的获得AGUA地址

R2------------------------------R1

E1/1                             E1/0

R1:

int e1/0

ipv6 enable

show ipv6 interface brief  看到FF:FE标识,那么就是EUI64获得的地址

int e1/0

ipv6 address autoconfig

作为SLAC客户端,设置为无状态自动获取IP地址,通过NDP的RA做地址通告

show ipv6 interface brief

int e1/0

ip add fe80::1 link-local

show ipv6 int e1/0

Ethernet1/0 is up, line protocol is up

IPv6 is enabled, link-local address is FE80::CE00:34FF:FE84:10

No Virtual link-local address(es):

No global unicast address is configured

Joined group address(es):

FF02::1

FF02::1:FF84:10

MTU is 1500 bytes

ICMP error messages limited to one every 100 milliseconds

ICMP redirects are enabled

ICMP unreachables are sent

ND DAD is enabled, number of DAD attempts: 1

ND reachable time is 30000 milliseconds

R1:

Ipv6 unicast-routing启用ipv6路由协议功能

show ipv6 int e1/0

看到

ff02::2

ND routr advretismnt通告

ND advertised retransmit interval is 0 milliseconds

ND router advertisements are sent every 200 seconds

ND router advertisements live for 1800 seconds

R1将ND通告给R2,令R2通过SLAAC的方式获取IPV6地址,这就要注意R1接口的RA要开启来,就是ipv6 unicast-routing开起来,动态路由选择功能开启来,接口才能发送RA报文。

--------思科接口默认开启RA

--------华为设备默认关闭RA通告,接口下使用undo ipv6 nd ra halt

为什么华为要关闭,当一条链路1.不需要nd ra获得agua地址,2.没有ipv6 dhcp也不需要开启这个功能。这可以节省资源,不影响接口带宽,保证安全性:被探测到网关信息,前缀信息。

思科关闭RA,使用ipv6 nd ra supprss

R1#ping FE80::CE01:34FF:FE84:11

Output Interface: ethernet1/0

======================================================================================

三、地址自动获取

华为:

R2------------------------------R1

G0/0/1                         G0/0/0

1.开启AGUA地址自动选举:

R2:

ipv6

interface gi 0/0/1

ipv6 enable

ipv6 address auto global

自动获取AGUA地址,如果是PC那么自动产生网关默认路由指向发送给你RA的路由器。

如果是一台路由器,收到别人发送的RA,那么通过EUI64形成AGUA,但是不会自动指默认路由。要想拿到指向网关的路由需要配置为:

ipv6 address auto global default

指向网关的路由,路由是通过AGUA报文拿到的,要开放使能AGUA功能

由于华为默认关闭AGUA,所以开启AGUA功能

R1:

ipv6

interface gi 0/0/0

undo ipv6 nd ra halt

R2:

dis ipv6 interface gi 0/0/1

global unicast address:

2001::12:2e0:5849

dis ipv6 route

Destination  : ::                             PrefixLength : 0

NextHop      : ::2001::12:2e0:5849                          Preference   : 0

Cost         : 0                               Protocol     : Direct

RelayNextHop : ::                              TunnelID     : 0x0

Interface    : InLoopBack0                     Flags        : D

2.多个网关优先级选取

interface gi 0/0/0

ipv6 nd ra preference high

思科:

R2------------------------------R1

E1/1                             E1/0

R2:

interface e1/1

no shutdown

ipv6 address autoconfig

自动获取AGUA地址,如果是PC那么自动产生网关默认路由指向发送给你RA的路由器。

如果是一台路由器,收到别人发送的RA,那么通过EUI64形成AGUA,但是不会自动指默认路由。要想拿到指向网关的路由需要配置为:ipv6 address autoconfig default

R1:

interface e1/0

no shutdown

ipv6 address autoconfig

ipv6 nd router-preference high

多个网关优先级选取,默认为high

路由器的常规操作

R2:

interface e1/1

no ipv6 address autoconfig

先清除再添加,不能覆盖

ipv6 address autoconfig default

show ipv6 interface brief

通过NDRP获得默认路由

show ipv6 route

hsrpv2或者vrrpv3优先级由于ipv6网关优先级 nd router-preference high

四、DHCP

1.由于AGUA只能使邻居获得一个AGUA地址和网关,默认路由,除此之外没有其他功能,所以使用dhcp补足

主要地址信息SLAAC:ip地址、掩码、网关

辅助地址信息:DNS服务器、域名

2.DHCP+DNP SLAAC称为有状态地址自动配置:

2.1.dhcpv6有状态地址自动配置:dhcpv6功能强,除了网关地址以外,所有其他信息都能拿到。

2.2.dhcpv6无状态地址自动配置:只能获得辅助地址信息,所有主要信息都是通过NDP获得。

3.DHCPv6必须配合NDP获得地址,没有NDP,DHCPv6无法正常使用。

R2--------------R1---------------R3 dhcp

G0/0/1     G0/0/0 0/0/1      G0/0/0

R1:

inter g0/0/1

ipv6 enable

ipv6 address 2001:0:0:13::1/64

R3:

inter g0/0/0

ipv6 enable

ipv6 address 2001:0:0:13::3/64

ipv6 route-static 2001:0:0::12:: 64 gi 0/0/0 R1-linklocal地址

dhcp enable

dhcpv6 pool deer

address prefix 2001:0:0:12::/64

dns-domain-name deer.net

dns-server 1::1

excluded-address 2001:0:0:12::1 to 2001:0:0:12::10

dhcp服务器注意剔除网关地址

inter g0/0/0

dhcp select global 使用ipv4的命令,ipv6中不需要

dhcpv6 server tigerlab

当我收到dhcp的solicy之后,使用地址池的地址做回应

R1:

inter g0/0/0

ipv6 enable

ipv6 address 2001:0:0:12::1/64

undo ipv6 nd ra halt

ipv6 nd autoconfig managed-address-flag

ipv6 nd autoconfig other-flag

对于客户端通过dhcp拿到地址信息,RA报文设置M位与N位的配置都为1,如果都是0 0告诉你通过NDP来拿地址,就是LAAC无状态地址配置。

dhcpv6 relay destination 2001:0:0:13::3

将对端发送的ipv6地址获取请求,将他转换为单播跨网段中继到服务器

R2:

interface gi 0/0/1

ipv6 address auto link-local

对于源地址客户端,要获得ipv6地址,必须有link-local地址,因为发送solicit报文必须要有link-local为源地址,没有link-local不能发送solict报文

interface gi 0/0/1

ipv6 address auto dhcp <rapid-commit>

正常情况下4步获得地址,但是网络中有且只有一台dhcp背景下要想2步获得ipv6地址,可以添加rapid-commit

inter gi 0/0/1

shutdown

undo ipv6 address auto dhcp

ipv6 address auto dhcp

出现地址冲突重新获取方法

自动获取的IPv6地址为128,需要额外手工指静态路由

思科DHCPv6

R2------------R1------------R3

E1/1      E1/0  E1/1      E1/0

R3:

ipv6 unicast-routing

inter e1/0

no shutdown

ipv6 address 2001:0:0:13::3/64

ipv6 route 2001:0:0:12::/64 ethernet e1/0 2001:0:0:13::1

ipv6 dhcp pool deer

address prefix 2001:0:0:12::/64

domain-name deer.net

inter ethernet 1/0

ipv6 dhcp server deer

ipv6 dhcp必须要接口绑定dhcp server,否则不会响应客户端请求

R1:

ipv6 unicast

inter e1/1

no shutdown

ipv6 address 2001:0:0:13::1/64

interface e1/0

ipv6 enable

ipv6 address 2001:0:0:12::1/64

ipv6 nd managed-config-flag

ipv6 nd other-config-flag

对客户端要使用dhcp获得主要,辅助信息。

ipv6 dhcp relay destination 2001:0:0:13::3  ipv6中继命令

ip help-address ipv4的中继命令

R2:

interface e1/1

ipv6 enable获得link-local地址,发送solicy报文请求dhcpv6

ipv6 address dhcp <rapid-commit>

show ipv6 interface brief

show ipv6 route

发现没有路由,是因为路由器(自尊心太强)通过LSAAC拿到AGUA地址,我也不会拿发送地址的互联节点当我的网关地址。如果是PC,自动拿对端地址当做网关。所以使用工具进行路由器的路由添加:

ipv6 nd autoconfig default route

shutdown

no shutdown

show ipv6 route

ping 2001:0:0:12::1

当主机B的地址为128掩码,A地址为64掩码,由于B地址没有cover到A地址,所以B不能ping通A

===========================================================

五、ipv6路由协议

ipv6静态路由,下一跳最好是使用link-local地址,效率更高

R2--------------R1---------------R3

G0/0/1     G0/0/0 0/0/1      G0/0/0

华为ripng

R1:

ipv6

inter g0/0/1

ipv6 enable

ipv6 address 2001:0:0:13::1/64

inter g0/0/0

ipv6 enable

ipv6 address 2001:0:0:12::1/64

R2:

ipv6

inter lo 0

ipv6 enable

ip address 2::2/128

inter g0/0/1

ipv6 enable

ipv6 address 2001:0:0:12::2/64

R3:

ipv6

inter lo 0

ipv6 enable

ipv6 address 3::3/128

inter g0/0/0

ipv6 enable

ipv6 address 2001:0:0:13::3/64

R1:

ping ipv6 2001:0:0:12::2

ping ipv6 2001:0:0:13::3

进程下:

filter-policy路由过滤发列=distribute list

import-route重发布

接口下:

ipv6路由宣告只能通过接口进行

ripng default-route originate 通告默认路由与明细

ripng default-route originate only 只有默认路由

对于互联网边界只通告默认路由,不发送明细

metricin偏移列表,对接收路由进行跳数增加,只改大

metricout,对发送的路由进行修改

poison-reverse毒性逆转,将目的网络路由设置为16跳。2代水平分割,1代水平分割只会不发送不会设置metric。

summary address路由汇总

管理距离涉及到高层协议比较preference。度量值,对路径进行比较 cost。

R1:

ripng 100

inter lo 0

ripng 100 enable

inter gi 0/0/0

ripng 100 enable

inter gi 0/0/1

ripng 100 enable

R2:

ripng 100

inter lo 0

ripng 100 enable

inter gi 0/0/1

ripng 100 enable

R3:

ripng

inter lo 0

ripng 100 enable

inter g0/0/0

ripng 100 enable

R2:

display ipv6 routing-table protocol ripng

ping ipv6 -a 2::2 1::1

ping ipv6 -a 2::2 3::3

思科ripng

R2------------R1------------R3

E1/1      E1/0  E1/1      E1/0

R1:

ipv6 unicast-routing

inter lo 0

ipv6 address 1::1/128

inter e1/1

ipv6 address 2001:0:0:13::1/64

no shut

inter e1/0

ipv6 address 2001:0:0:12::1/64

no shut

R2:

ipv6 unicast-routing

inter lo 0

ipv6 address 2::2/128

inter e1/1

ipv6 address 2001:0:0:12::2/64

R3:

ipv6 unicast-routing

inter lo 0

ipv6 address 3::3/128

inter e1/0

ipv6 address 2001:0:0:13::3/64

no shut

R1:

ping 2001:0:0:12::2

ping 2001:0:0:13::3

ripng默认组播地址发送为ff02::9 521端口

R2:

ipv6 router rip 100

inter range loopback 0 , ethernet 1/1

ipv6 rip 100 enable

ipv6 rip 100 参数

<default-information><metric-offset><summary-address>

R1:

ipv6 router rip 100

inter range loopback 0 , ethernet 1/0

ipv6 rip 100 enable

R2:

show ipv6 route

ping 3::3 source 2::2

思科eigrp:

1.进程下的路由宣告功能可能默认为关闭

2.default-metric seed-metric外部进入本地必须有度量值的重新计算

3.variance不等价负载均衡

4.eigrpv6 32度量值的空间范围是2的32次

接口下只能启用进程宣告路由,功能有限

新版升级为:eigrp 64位度量值的空间范围是2的64次,命名式eigrp

将开启了ipv6的接口进行邻居自动建立。

R2:

ipv6 router eigrp 90

eigrp router-id 2.2.2.2

no shutdown

inter range loopback 0 , ethernet 1/1

ipv6 eigrp 90

R1:

router eigrp cclj

address family ipv6 unicast autonomous system 90

eigrp router id 1.1.1.1

no shutdown

1.默认这里ipv6接口邻居自动建立,不建立的端口要进行关闭宣告:

passive interface e1/100

2.可以关闭默认宣告属性:af interface default

passive还原为常规模式

af-interface e1/1 <authen认证><bandwidth接口对eigrp带宽><bfd><shut><next-hop-self><passive>

R3:

rouer eigrp cclj

address family ipv6 unicast autonomous system 90

eigrp router id 3.3.3.3

show ipv6 route eigrp

show eigrp address-family ipv6 90 neighbors

show eigrp address-family ipv6 90 topology

默认64位eigrp的度量值巨大,可以改小基数,但是要全网修改

address family ipv6 unicast autonomous system 90

metric rib-scale 100 度量值除100

==========================================================

华为 ospf

1.ospfv3将ospfv2的工作架构进行修改,1类2类LSA只有拓扑信息,没有路由信息,加入8类 9类LSA,主要添加了link-local与AGUA路由信息。

2.v3进程只能支持ipv6进程

3.思科v3,一个进程可以支持v4,v6版本

R2:

ospfv3 10

router-id 2.2.2.2

area 0

interface lo 0

ospfv3 10 area 0

interface gi 0/0/0

ospfv3 10 area 0

ospfv3 <cost接口度量值><mtu-ignore><network-type><peer单播邻居>

first DBD选取主从,mtu开启一致性检测,同时两边mtu不一致,邻居不能建立,卡在exstart状态。

华为默认关闭mtu检测,思科默认开启mtu检测。

R1:

ospfv3 10

router-id 1.1.1.1

area 0

inter lo 0

ospfv3 10 area 0

inter g0/0/0

ospfv3 10 area 0

inter g0/0/1

ospfv3 10 area 0

R3:

ospfv3 10

router-id 3.3.3.3

area 0

inter lo 0

ospfv3 10 area 0

inter gi0/0/0

ospfv3 10 area 0

display ospfv3 peer

display ospfv3 lsdb

R1:

display ipv6 routing-table protocol ospfv3

ping ipv6 -a 1::1 3::3

思科 ospfv3

R2:

ipv6 router ospf 110

router-id 2.2.2.2

interface range lo 0 , eth 1/1

ipv6 ospf 110 area 0 老版本ospv3宣告,不支持ipv4

show ipv6 ospf database

R1:

router ospfv3 110    新版本ospfv3支持ipv4 ipv6

router-id 1.1.1.1

address-family ipv6 unicast

area 0

interface range lo 0 , eth 1/1

ospfv3 110 ipv6 area 0

也可以

ospfv3 110 ipv4 area 0

R3:

router ospfv3 110

router-id 3.3.3.3

address-family ipv6 uni  地址簇下优先级更高

show ospfv3 ipv6 neighbor

show ospfv3 ipv6 database

show ospfv3 ipv4 neighbor

R2:

show ipv6 route ospf

ping 3::3 source 2::2

============================================

IS-IS

华为:

R2:

isis 15

network-entity 49.0123.0000.0000.0002.00

log-peer-change topology

is-level level-2

cost-style wide

既支持ipv4 ipv6必须宽度量值

ipv6 enable topology <standard><compatible>

数据库用于ipv4还是ipv6,还是共享数据库。

standard表示使用独立的数据库,思科是single topology。multiple topology独立数据库。

compatible使用共享数据库:节省资源,但是必须在接口同时开启ipv4 ipv6,否则拓扑会有不一致隐患的问题。

默认是独立数据库,所有的设备模式必须都是一致的。

interface loop 0

isis ipv6 enable 15

inter gi 0/0/1

isis ipv6 enable 15

R1:

isis 15

network-entity 49.0123.0000.0000.0001.00

log-peer-change topology

is-level level-2

cost-style wide

ipv6 enable topology standard

inter lo 0

isis ipv6 enable 15

inter g0/0/0

isis ipv6 enable 15

inter g0/0/1

isis ipv6 enable 15

R3:

isis 15

network-entity 49.0123.0000.0000.0003.00

log-peer-change topology

is-level level-2

cost-style wide

ipv6 enable topology standard

inter lo 0

isis ipv6 enable 15

inter g0/0/0

isis ipv6 enable 15

R1:

display isis peer

display isis lsdb

思科:

R1:

ipv6 unicast-rout

inter lo 0

ipv6 address 1::1/128

inter e1/0

ipv6 add 2001:0:0:12::1/64

no shutdown

inter e1/1

ipv6 add 2001:0:0:13::1/64

no shutdown

R2:

ipv6 unicast-rout

inter lo 0

ipv6 address 2::2/128

inter e1/1

ipv6 add 2001:0:0:12::2/64

no shut

R3:

ipv6 uni

inter lo 0

ipv6 add 3::3/128

inter e1/0

ipv6 add 2001:0:0:13::3/64

no shut

R2:

router isis

net 49.0123.0000.0000.0002.00

log-adjacency all

is-type level-2

metric-style wide

address-family ipv6 unicast

multi-topology

独立使用数据库,默认是single topology

inter ran lo 0 , eth 1/1

ipv6 router isis

R1:

router isis

net 49.0123.0000.0000.0001.00

log-adjacen all

is-type level-2

metric-style wide

address-family ipv6 uni

multi-topolgy

inter range lo 0 , ethernet 1/0 - 1

ipv6 router isis

R3:

router isis

net 49.0123.0000.0000.0003.00

log-adjacency all

is-type level-2

metric-style wide

address-family ipv6 uni

multi-topology

inter ran lo 0 , eth 1/0

ipv6 router isis

R1:

路由信息显示与ipv6相同,因为他没变过

show isis neighbors

show isis ipv6 unicast

show clns neighbors

show isis database

ping 3::3 source 1::1

网络-7 IPv6(下)的更多相关文章

  1. 【转】非教育网中IPv4网络访问IPv6资源

    1. 背景知识 随着个人电脑.移动终端.乃至物联网的不断发展,有很大的IP地址需求.由于IPv4协议设计时没有料到日后网络会如此发达,IPv4网络中的IP数量相对今天的需求来说,显得捉襟见肘.加上IP ...

  2. ipv6下jdbc的连接数据库方式

    ipv6下jdbc的连接数据库方式 MySQL: ipv4 Driver URL:           jdbc:mysql://127.0.0.1:3306/database   ipv6 Driv ...

  3. IPv6下网络编程socket, TCP和UDP例子,以及兼容IPV4和IPV6的类

    一.TCP socket ipv6与ipv4的区别 服务器端源代码如下: #include <stdio.h> #include <stdlib.h> #include < ...

  4. 网络协议IPV6基础知识点集锦

    由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放.透明以及端到端的特性,因此IPV6地址协议应运而生. IPV ...

  5. day33 网络编程(下)

    目录 上节课回顾: 一.传输层 二.应用层 三.socket 四.如何获取目标ip地址 五.网络通信的流程 上节课回顾: 通过ip地址如何找到另外一台设备 ip地址分为子网部分和主机部分 我们要和其他 ...

  6. MIT研发的新型匿名网络Riffle,下一个Tor

    现在的隐私问题是一个网络热词,如果你担心你上网的隐私会泄露,最有效的解决办法就是使用Tor.这款免费的匿名通信软件,能够让人们在与其他人通信时隐藏自己真实的信息. 虽然Tor是一个很好的匿名网络系统, ...

  7. python3+django2 开发易语言网络验证(下)

    第六步:网络验证服务器端项目上线部署 功夫不负有心人,终于部署成功啦! 前期准备: 项目名:netauth 系统:百度云服务器下的Ubuntu16.4 软件:xshell(无论如何想办法用这个跟服务器 ...

  8. 解决java网络编程IPv6问题

    如果系统中开启了IPV6协议(比如window7),java网络编程经常会获取到IPv6的地址,这明显不是我们想要的结果,搜索发现很多蹩脚的做法是:禁止IPv6协议.其实查看官方文档有详细的说明: j ...

  9. Windows Embedded Compact 7网络编程概述(下)

    11.1.1 Select I/O模型 在Windows CE中,Select模型是唯一被支持的I/O模型.Select I/O模型就是利用select函数对I/O进行管理. 函数select的功能在 ...

  10. Tomcat启动报错java.net.AbstractPlainSocketImpl(java/net/AbstractPlainSocketImpl.java:178:-1)Struts在网络复杂情况下启动报错解决办法

    SSH项目 在网络复杂的情况(具体规律未知)下,Tomcat启动时,报如下错误: [ERROR] 2014-08-12 14:52:58,484 [org.apache.struts2.dispatc ...

随机推荐

  1. (三) MdbCluster分布式内存数据库——节点状态变化及分片调整

    (三) MdbCluster分布式内存数据库--节点状态变化及分片调整   上一篇: (二) MdbCluster分布式内存数据库--分布式架构   昨天我们在测试节点动态扩缩容时,发现了一个小bug ...

  2. Tesseract图片文字识别

    如何进行图文识别? 百度api收费的,自己训练模型集费时费力,有没有训练好的库,我们拿过来直接用的呢? 有,那就是tesseract. 安装 pipenv install pytesseract pi ...

  3. 【SDOI2015】寻宝游戏

    代码 (树链剖分) #include<cstdio> #include<set> using namespace std; typedef long long LL; cons ...

  4. helm在k8s上部署Elasticsearch和Kibana

    前提 在win上安装docker desktop,没有网络限制,而且,打开kubernetes之后,很快就安装启动好了. 在win上安装scoop,有网络限制,需要访问github raw的文件内容, ...

  5. Vue2安装less版本过高问题,需要降级

    安装指定less版本解决: -D: 本地安装 -g: 全局安装 npm install less@3.9.0 less-loader@5.0.0 -D

  6. mogdb的一主两备

    # 一.环境准备 |节点类别|主机名|IP||-|-|-||主节点|mogdb1 |192.168.3.68||备节点1|mogdb2 |192.168.3.69||备节点2|mogdb3|192.1 ...

  7. 微信JS-SDK自定义分享接入的注意点

    微信文档 ,https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html, 在用微信自定义分享,遇到了几个坑,记录一 ...

  8. 开始学python不知该怎么学?Python基础教程(第2版) 免费下载

    Python基础教程(第2版)pdf高清版免费下载  解压码:n0nl   内容简介  · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容 ...

  9. 【剑指Offer】【树】序列化二叉树

    题目:请实现两个函数,分别用来序列化和反序列化二叉树   二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存.序列化可以基于先序. ...

  10. 窗口退出&初始化

    class Test(QtWidgets.QMainWindow, Ui_dlg): def closeEvent(self, e): #to do super().closeEvent(e) def ...