From 28f46397fb74c2df7759f162a928ed4264d61c84 Mon Sep 17 00:00:00 2001 From: thehrz Date: Wed, 14 Aug 2024 20:53:28 +0800 Subject: [PATCH] docs: update corporation --- chapters/cloud.tex | 3 +++ chapters/corporation.tex | 51 ++++++++++++++++++++++++++++++++++++--- chapters/intro.tex | 2 +- figures/xianyu.pdf | Bin 0 -> 44579 bytes main.tex | 1 + ref/refs.bib | 15 ++++++++++++ 6 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 chapters/cloud.tex create mode 100644 figures/xianyu.pdf diff --git a/chapters/cloud.tex b/chapters/cloud.tex new file mode 100644 index 0000000..46bddab --- /dev/null +++ b/chapters/cloud.tex @@ -0,0 +1,3 @@ +% !TeX root = ../main.tex + +\chapter{云服务器商} \ No newline at end of file diff --git a/chapters/corporation.tex b/chapters/corporation.tex index 12632f3..bff4c76 100644 --- a/chapters/corporation.tex +++ b/chapters/corporation.tex @@ -1,10 +1,55 @@ % !TeX root = ../main.tex -\chapter[企业与政府侧]{企业与政府侧\footnote{本章节的企业指B端客户,即企业用户商家,除下章节云服务提供商企业。}} +\chapter{企业与政府侧} -企业与政府是网络服务的客户,由他们向用户开发服务,云服务器商提供云平台支持。 +企业与政府\footnote{本章节的企业指B端客户,即企业用户商家,除下章节云服务提供商企业。}是网络服务的主要客户,由他们向用户开发服务,云服务器商提供云平台支持。 2018年,工业和信息化部关于贯彻落实《推进互联网协议第六版(IPv6)规模部署行动计划》的通知中,指出开展政府网站IPv6改造与工业互联网IPv6应用。 各大互联网企业纷纷响应,从升级服务器网络配置到更新系统软件以使产品支持IPv6。 -目前国内主要商业网站及移动互联网应用IPv6支持率达到90\%以上。\footnote{在《深入推进IPv6规模部署和应用2024年工作安排》明确了2023年工作目标“国内主要商业网站及移动互联网应用IPv6支持率达到90\%”,而《深入推进IPv6规模部署和应用2024年工作安排》中指出“主要商业网站及移动互联网应用IPv6支持率达到95\%”为目标可得出结论。} \ No newline at end of file +\section{常见改造方式} + +\subsection{双协议栈} + +指一个网络服务上同时启用IPv4协议栈和IPv6协议栈。使得此服务既能与IPv4网络通信,又能和IPv6网络通信,目前许多大型网站采取这种方案。 +其服务在处理流量时可自动选择节点,按照用户的请求流量类型处理,若用户发IPv4数据包,则服务器返回IPv4数据包;若用户发IPv6数据包,则服务器返回IPv6数据包。 + +\subsection{隧道中间人} + +隧道中间人将IPv6流量封装在IPv4互联网的传输链接中,在IPv4互联网上建立起IPv6隧道以打通两个互联网之间的连接。 + +\subsection{NAT64} + +NAT64是一种将IPv6数据包转换为IPv4数据包的机制,反之亦然。 +转换是通过根据RFC6145中定义的IP/ICMP转换算法转换数据包头来完成的。 +IPv4主机的IPv4地址通过使用RFC6052中定义的算法和为此指定给有状态NAT64的IPv6前缀从算法上转换为IPv6地址。 +通过以正常网络地址端口转换(NAPT)方式安装映射,IPv6主机的IPv6地址可转换为IPv4地址或从IPv4地址转换为IPv6地址。\cite{rfc6146} +简单的NAT64安装可能只需要一个网关,它的两个接口分别连接到IPv4网络与IPv6网络。 +IPv6网络的流量经由网关路由,网关对两个网络之间传输的数据包进行所有必要的转换。 +但是,这种转换并不是对称的,因为IPv6地址空间比IPv4地址空间大得多,不可能进行一对一的地址映射。 + +\section{实例} + +目前国内主要商业网站及移动互联网应用IPv6支持率达到90\%以上。\footnote{在《深入推进IPv6规模部署和应用2024年工作安排》明确了2023年工作目标“国内主要商业网站及移动互联网应用IPv6支持率达到90\%”,而《深入推进IPv6规模部署和应用2024年工作安排》中指出“主要商业网站及移动互联网应用IPv6支持率达到95\%”为目标可得出结论。} + +以阿里巴巴旗下品牌闲鱼为例,该企业部署IPv6后网络结构拓扑图如图\ref{fig:xianyu}。 + +\begin{figure}[H] + \centering + \includegraphics[width=14.5cm]{xianyu.pdf} + \caption{} + \label{fig:xianyu} +\end{figure} + +\begin{itemize} + \item 首先请求DNS服务解析域名地址。 + \item 对于图片、JavaScript等静态资源直接请求CDN服务获取。 + \item 对于业务接口通过HTTPS请求到LVS负载服务,通过NAT技术转换成IPV4,然后转到AServer\footnote{阿里巴巴集团AServer接入网关,承载整个阿里巴巴集团入口流量},再通过MTOP将HTTP请求转换成RPC调用,最后到达后台服务。 +\end{itemize} + +对于该企业来说,现有基础设施存量大,网络业务量大,其采取NAT技术将IPv6流量转换为IPv4流量在内部处理。 +这有效解决了外部IPv6流量访问,完成了政策任务,也节省了改造成本。 + + + + diff --git a/chapters/intro.tex b/chapters/intro.tex index 7624afa..fd8acf7 100644 --- a/chapters/intro.tex +++ b/chapters/intro.tex @@ -59,5 +59,5 @@ IPv6第一版协议标准(RFC1883)早在1995年就已发布,由于IPv4存 \item[IPv4] 网际协议第4版(英语:Internet Protocol version 4)是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署和使用的版本。其后继版本为IPv6,直到2011年,IANA IPv4位址完全用尽时,IPv6 仍处在部署的初期。 \item[IPv6] 网际协议第6版(英语:Internet Protocol version 6)是网际协议的最新版本。用它来取代IPv4主要是为了解决IPv4地址枯竭问题,同时它也在其他方面对于IPv4有许多改进,在这提到了。 \item[IPv4/IPv6单协议栈] 一个网络服务上仅启用IPv4协议栈或IPv6协议栈。未来的互联网是基于IPv6单协议栈的。 - \item[双协议栈] 指一个网络服务上同时启用IPv4协议栈和IPv6协议栈。使得此服务既能与IPv4网络通信,又能和IPv6网络通信,目前大多网站采取这种方案。双协议栈是有通信优先级的,这引发了一些问题,这在提到了。 + \item[双协议栈] 指一个网络服务上同时启用IPv4协议栈和IPv6协议栈。使得此服务既能与IPv4网络通信,又能和IPv6网络通信,目前许多大型网站采取这种方案。双协议栈是有通信优先级的,这引发了一些问题,这在提到了。 \end{description} \ No newline at end of file diff --git a/figures/xianyu.pdf b/figures/xianyu.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8733e2827a1431f52d9d867ebf283ddd4f579c6f GIT binary patch literal 44579 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
    q7=gt(JuQ*?pA+f{v^f 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 <$2zYk>zr--ZSuj4XSsT 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