访问网站的全过程解析(www.sangfor.com.cn)

2024-02-24 04:20

本文主要是介绍访问网站的全过程解析(www.sangfor.com.cn),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以访问www.sangfor.com.cn为例,介绍网站访问的全过程
在这里插入图片描述
一般服务器都放到总部私网内,外网用户只能访问到公网地址。而且深信服官网服务器有两条线路,一条是电信的202.96.137.88另一条是网通的60.21.140.230 网站访问容易出现跨运营商访问,这是网络管理员不想看到的,
阶段一
PC获得www.sangfor.com.cn对应的ip地址。
用户pc首先输入www.sangfor.com.cn 访问网络 发送DNS请求 发送到dns服务器 dns服务器收到请求就会查找dns表 查找A记录(主机解析记录)和NS记录(域名解析记录) 当收到请求通过NS记录返回一个记录值,然后查找A记录 找到对应的地址 ,NS记录引导到AD负载均衡设备上来 如果不通过NS记录 DNS服务器就会直接发送一个ip地址给pc,无法判断选择返回的是网通地址还是电信地址 。 这个地址就是服务器出口地址,AD(负载均衡设备,根据访问数据包源ip地址进行解析 分析运营商类型,假解析是电信网络 AD就会把www.sangfor.com.cn对应的电信地址返回到PC上),AD通过NS配合进行选路。
阶段二
PC包
在这里插入图片描述
电脑将目的地址和本地地址做一个与运算,来判断本机和目的地址网络是否在同一个局域网内,查找自己的路由表,将数据包发到网关地址所在的路由器,在网关路由器上同样也要进行与运算,来判断源地址是否和目的地址是否在同一个网段,查找失败以后,数据包要继续进行转发 ,转发到互联网上,数据包在互联网上传输,源ip和目的ip不能是私网地址,所以要把数据包的源ip换成公网地址(SNAT源地址转换),最后传输到总部AD上,
在这里插入图片描述阶段三
AD地址并不是我们想要的www.sangfor.com.cn对应的ip地址 ,所以目的地址要发生改变,变成服务器对应的地址,进行DNAT转换

在这里插入图片描述AD设备继续查自己的路由表,发现在自己机房的设备上,然后发送给交换机,交换机发送到服务器。服务器收到请求,做一些处理打包返回到PC,成功访问网页。

这篇关于访问网站的全过程解析(www.sangfor.com.cn)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/740926

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数