还是上一篇的问题
在一内部局域网中,
client  内网地址为 10.0.0.2    
web  服务器内网地址为 10.0.0.1    外网地址为  211.6.15.1    域名为  xx.love.com

问题:在内网10.0.0.2的机器上访问   外网地址 211.6.15.1 或者域名  xx.love.com  都无法访问,

上一篇中提到的cisco asa设备 不能访问是因为 asa 它不允许数据流从内部流到外部再流回内部,所以连接会超时


     这里从tcp协议的角度来分析下:
 包  动作 包 目的地址                 包  源地址                
  10.0.0.2发出包(第一次握手)   211.6.15.1  10.0.0.2
 到达路由器外网端口  nat 转换后   10.0.0.1  10.0.0.2
 10.0.0.1接包后  回复包(第二次握手)   10.0.0.2  10.0.0.1
 包到达交换机 直接被转发(不过路由器)    
 10.0.0.2 接到包  10.0.0.2  10.0.0.1
 10.0.0.2此刻在等待211.6的第二次握手    
 10.0.0.2却接到10.0.0.1的第二次握手  丢弃    
     
 10.0.0.1 却还在等待 10.0.0.2的第三次握手    
 没有结果的等待……    
!在这一步中  包也可能经过交换机到达路由器的内网接口,由于是发往内部主机的,路由器还是不会启用pat转换,而是通过直连路由直接转发给你的客户机10.0.0.2,这样你的客户机10.0.0.2仍然收不到源地址为211.6.15.1的回应包,还是不能成功建立连接。

!在这里还有一种情况   ,如果路由器将你发往211.6.15.1的数据包算做是发往外网,对其做了pat转换,或路由器是强制地址转换的,那么该数据包的源地址将变为211.6.15.1到达路由器外部接口,而路由器如果有相关防错功能,也许该数据包就直接被干掉了。
       如果可以继续转发那么该数据包将以源地址为200.200.200.1目标地址192.168.0.1到达web服务器。而服务器回应的数据包就会以目标地址200.200.200.1 源地址200.200.200.1到达路由器外部接口。而路由器外部接口此时就晕了。
   解决方法:
      有些路由器内部设置可以  纠正此问题。
      如果不通过路由器解决,可以在内网建一台dns服务器。
      自建dns太费时间,也可以修改机器的host文件

还是端口回流问题 TCP协议解析的更多相关文章

  1. TCP协议解析

    本文摘抄自:http://www.kuqin.com/shuoit/20141018/342719.html 本文描述了TCP协议,首先简单介绍了TCP完成了一些什么功能:介绍了TCP报文格式,以及典 ...

  2. 【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信

    前言:随着工业化的发展,目前越来越多的开发,从互联网走向传统行业.其中,工业领域也是其中之一,包括各大厂也都在陆陆续续加入工业4.0的进程当中. 工业领域,最核心的基础设施,应该是与下位硬件设备或程序 ...

  3. TCP协议解析及相关问题

    TCP协议是什么: TCP是一种传输控制层的协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议.也就是要 ...

  4. 初识TCP协议

    一.引言 发送一段TCP数据大致需要经过:用户封装 –> TCP封装 –> IP封装 –>帧封装 Note:用户封装没啥好说的,都是客户自己决定的,在一些简单的应用情况下,这个步骤可 ...

  5. 第3章 TCP协议详解

    第3章 TCP协议详解 3.1 TCP服务的特点 传输协议主要有两个:TCP协议和UDP协议,TCP协议相对于UDP协议的特点是 面向连接使用TCP协议通信的双方必须先建立连接,完成数据交换后,通信双 ...

  6. TCP协议调试工具TcpEngine V1.3.0使用教程

    简介   这里说的TCP协议调试定义是在开发长连接TCP协议应用时,为了验证代码流程或查找bug,需要与对端交互数据过来,当需要时可以暂停发送:单条发送:跳过发送:正常发送:发送时修改数据等.   T ...

  7. 传输层tcp协议以及scoket套字节方法

    一.传输层 1.传输层的由来: 网络层的IP帮我们区分子网 以太网的Mac帮我们找到主机 所以通过IP和Mac找到了一台特定的主机 如何找到该特定主机的应用程序呢? 答案是通过端口,端口即应用程序与网 ...

  8. syslog-ng 配置(tcp协议)

    一.概况 两台服务器,都安装syslog-ng,一台服务端,一台客户端: server:192.168.209.19 client:192.168.209.18 二.安装 采用yum安装,执行: yu ...

  9. TCP协议疑难杂症全景解析

    说明: 1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人. ...

随机推荐

  1. Java 设置Word页边距、页面大小、页面方向、页面边框

    本文将通过Java示例介绍如何设置Word页边距(包括上.下.左.右).页面大小(可设置Letter/A3/A4/A5/A6/B4/B5/B6/Envelop DL/Half Letter/Lette ...

  2. JMeter——jmx脚本文件解析

    <!--Jmeter版本信息--> <?xml version="1.0" encoding="UTF-8"?> <jmeterT ...

  3. 异数OS TCP协议栈测试(三)--长连接篇

    异数OS TCP协议栈测试(三)--长连接篇 本文来自异数OS社区 github:   异数OS-织梦师(消息中间件)群: 476260389 异数OS TCP长连接技术简介 说起长连接,则首先要谈对 ...

  4. 「 神器 」快速启动应用Wox

    每天进步一丢丢,连接梦与想 合理的的要求是锻炼 不合理的要求是磨练 过分的要求是锤炼 今天分享一个会让你爱不释手的神器,Wox Wox 是一款国产开源免费的软件快捷启动工具,它可以快速搜索并打开你电脑 ...

  5. selenium获取页面源码,判断是否存在指定内容,执行不同的操作

    本案例用于解决selenium UI自动化,判断页面是否存在指定文字,执行后续不同的操作 主要用到browser.page_source 如,保存百度分享文件到自己的百度盘中,会出现文件被删除无法保存 ...

  6. 谈谈 InnoDB引擎中的一些索引策略

    如果我们在工作能够更好的利用好索引,那将会极大的提升数据库的性能. 覆盖索引 覆盖索引是指在普通索引树中可以得到查询的结果,不需要在回到主键索引树中再次搜索 建立如下这张表来演示覆盖索引: creat ...

  7. 聊一聊 MySQL 中的数据编辑过程中涉及的两阶段提交

    MySQL 数据库中的两阶段提交,不知道您知道不?这篇文章就简单的聊一聊 MySQL 数据库中的两阶段提交,两阶段提交发生在数据变更期间(更新.删除.新增等),两阶段提交过程中涉及到了 MySQL 数 ...

  8. layui+springmvc实现文件异步上传

    一.单文件上传 前端代码 <div class="layui-upload"> <div class="layui-upload-list"& ...

  9. STL中的vector 和list

    参考书目:visual c++ 入门经典 第七版 Ivor Horton著 第十章 认识两个容器:vector和list 容器:是STL(Standard Template Library 标准模板库 ...

  10. Arduino通信篇系列之print()和write()输出方式的差异

    我们都知道,在HardwareSerial类中有print()和write()两种输出方式, 两个都可以输出数据,但其输出方式并不相同. 例子: float FLOAT=1.23456; int IN ...