尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

linux笔记归纳21:NAT、代理服务、内网穿透

linux笔记归纳21:NAT、代理服务、内网穿透 NAT、代理服务、内网穿透目录NAT、代理服务、内网穿透一、NAT技术1.1.NAT与IP转换1.2.NAPT1.3.NAT技术的缺陷二、代理服务器2.1.正向代理2.2.反向代理2.3.NAT和代理服务器三、内网穿透四、内网打洞五、交换机六、网络总结6.1.数据链路层6.2.网络层6.3.传输层6.4.应用层6.5.经典试题一、NAT技术解决IP地址不够的手段是路由器的一个重要功能NAT技术能够将私有IP对外通信时转为公网IP学校、家庭、公司内部的终端都会设置私有IP路由器或必要的服务器会设置公网IP公网IP具有唯一性而在不同的局域网中出现相同的私有IP不影响1.1.NAT与IP转换NAT路由器发送数据到外部时将10.0.0.10私有IP替换成202.244.174.37公网IPNAT路由器接收数据到内部时 将202.244.174.37公网IP替换成10.0.0.10私有IP在路由器内部有一张自动生成的表用于地址转换建立私有IP与公网IP的映射关系1.2.NAPTNAPT带端口转换的NAT技术NAT的过程不仅内网的私有IP地址要转换端口号也可能要转换为了避免同一内网中多个客户端的端口号相同在转换后发生冲突进程唯一性私有IP确保唯一性 自己的端口号内网中唯一的一个进程公网IP NAT分配的端口号确保唯一性全网中唯一的一个进程1.3.NAT技术的缺陷NAT转换只能从内网向外部服务器建立连接无法从外部向内网服务器建立连接转换表的生成和销毁需要额外的开销通信过程中一旦NAT设备异常存在热备所有的TCP连接都会断开二、代理服务器2.1.正向代理正向代理Forward Proxy代表客户端向目标服务器发送请求工作原理客户端将请求发送给代理服务器代理服务器接收请求根据配置对请求进行处理将请求发送给目标服务器目标服务器处理请求将响应返回给代理服务器代理服务器将响应返回给客户端Linux Nginx搭建正向代理功能特点缓存功能缓存经常访问的资源当客户端再次请求该资源可以从缓存中获取内容过滤根据预设规则对请求与响应进行过滤屏蔽广告、阻止恶意网址等等访问控制实现对特定网站的访问控制限制员工在工作期间访问娱乐网站等等隐藏客户端身份隐藏客户端的真实IP地址保护客户端的隐私负载均衡在多个目标服务器之间分配客户端的请求应用场景企业网络管理、公共网络管理、内容过滤保护、提高访问速度、跨境电商与海外访问2.2.反向代理反向代理Reverse Proxy代表目标服务器接收客户端的请求工作原理客户端发起请求到达反向代理服务器反向代理服务器根据配置规则将请求转发给后端的Web服务器Web服务器将响应发送给代理服务器反向代理服务器将响应返回给客户端应用场景负载均衡将客户端的请求分发给多个后端服务器安全保护隐藏后端Web服务器的真实IP地址能够配置防火墙等安全策略缓存加速缓存后端Web服务器的响应内容对于重复请求可以直接从缓存中响应内容过滤与重写对客户端的请求进行过滤与重写实现用户认证、URL重写等特定业务动静资源分离将静态资源部署在反向服务器无需向后端服务器发起请求CDNContent Delivery Network内容分发网络2.3.NAT和代理服务器应用方面NAT技术在路由器内部进行配置解决IP地址不足问题代理服务器贴近具体应用比如科学上网游戏加速器底层实现NAT技术工作在网络层直接对IP地址替换代理服务器往往工作在应用层使用范围NAT技术一般在局域网的出口部署代理服务器可以在局域网部署也可以在广域网部署也可以跨网部署位置NAT技术集成在防火墙、路由器等硬件设备代理服务器软件程序部署在服务器上Nginx三、内网穿透FRP软件把内网服务暴露在公网常用于内网穿透四、内网打洞p2p技术的原理五、交换机作用工作在数据链路层用于划分碰撞域缓解局域网中主机过多产生的数据碰撞六、网络总结6.1.数据链路层作用两个设备之间进行数据传递以太网技术标准包含了数据链路层与网络层的内容以太网的帧格式、MAC地址、ARP协议、MTU最大传输单元6.2.网络层作用在复杂的网络环境中确定一个合适的路径IP地址、IP协议格式、网段划分理解解决IP地址不足问题理解网络层IP地址路由理解IP数据包分包原理了解ICMP协议了解NAT设备的工作原理6.3.传输层作用负责数据能够从发送端传输接收端理解端口号认识UDP协议、了解UDP特点认识TCP协议、了解TCP特点TCP协议的状态转换掌握TCP连接管理、确认应答、超时重传、滑动窗口、流量控制、拥塞控制、延迟应答、捎带应答理解TCP面向字节流、粘包问题与解决方案基于UDP实现可靠传输理解MTU对TCP/UDP影响6.4.应用层作用满足日常需求的网络程序根据自己的需求设计应用层协议、了解HTTP协议、理解DNS原理与工作流程6.5.经典试题描述浏览器发起HTTP请求得到网页的整个过程越详细越好、客户端应用层浏览器查询浏览器缓存没有则向DNS服务器发送DNS查询报文把域名解析为服务器公网IP传输层客户端使用TCP协议通过三次握手和目标服务器建立TCP连接将应用层构造的HTTP请求报文交给传输层TCP分段后加上首部交给网络层网络层封装IP数据包填写源IP、目的IP查询路由表通过ARP获取下一跳的MAC地址经过NAPT路由器时完成网络地址与端口的转换跨网段传输数据链路层封装以太网帧填入源MAC、目的MAC、FCS校验。物理层转化为比特信号网线或者光纤传输。服务器收到数据包逐层解包处理HTTP请求构造HTTP响应报文反向逐层封装返回给浏览器浏览器接收HTML解析渲染页面通信结束后传输层四次挥手两端断开TCP连接释放资源七、DNS与ICMP7.1.DNS系统DNSDomain Name System一整套从域名映射到IP的系统TCP/IP中用IP地址和端口号确定网络中一台主机的一个进程最初用hosts文件描述主机名与IP地址的映射关系由互联网信息中心管理该文件如果一个新计算机要接入网络或某个计算机IP变更都需要申请变更hosts文件但这种方式过于麻烦于是产生了DNS系统一个组织的系统管理机构维护系统内每个主机IP与主机名的对应关系如果新的计算机接入网络该计算机的信息会被注册到数据库中用户输入域名时会自动查询DNS服务器检索数据库得到对应IP地址7.2.域名www.baidu.comcom一级域名表示一个企业域名同级还有net网络提供商、org非盈利组织baidu二级域名公司名www习惯用法用来表示主机支持的协议
返回列表