无法通过远程桌面连接到服务器,[转载]深入:无法通过IP地址远程桌面连接服务器...

昨天遭遇了使用远程桌面连接Windows Server

2008时通过IP地址连接服务器时,显示“由于数据加密错误,这个会话将结束。请重新连接到远程计算机”的错误。a4c26d1e5885305701be709a3d33442f.png

当该错误出现后,远程桌面连接会立即断开,但当我使用机器名进行连接时却没有这样的问题,一直感到很奇怪。昨天借解决Hyper-v网络性能低下的问题之际发现了两个源自相同的网卡驱动程序IPv4

Large send

offload配置,只要从网卡驱动程序属性的高级选项卡将这个选项禁用即可实现正常连接。那么,这个功能是干什么用的呢?

原来,Large send offload分为两个版本,version 1 (LSOV1)和version 2 (LSOV2)

通过使用LSOV1,TCP/IP传输可以卸载对于IPv4较大TCP数据包(最多64K)的分段(segmentation)负载。LSOV2接口是对LSOV1的一个增强版本,它支持IPv6,IPv4,并且对于较大TCP数据包的分段支持可以超过64K。

所以,根据名称来判断,IPv4 Large send offload是LSOV1的版本。

===================================我是懒惰的分隔线================================

发现问题的过程很简单,当我Ping服务器名称时,得到了下面的结果:

a4c26d1e5885305701be709a3d33442f.png

看起来有些奇怪,实际上现在的Ping使用的是IPv6的Ping,而不是IPv4下的Ping,也就是说现在所看到的Ping的结果,是通过IPv6协议得到的结果。为了确认这一点,我使用Microsoft

Network Monitor进行了数据包抓取,当使用IP地址连接时,得到以下数据包示例

Frame:

+ Ethernet: Etype = Internet IP (IPv4)

+ Ipv4: Next Protocol = TCP, Packet ID = 15510, Total IP Length =

154

+ Tcp: Flags=...PA..., SrcPort=63136, DstPort=MS WBT Server(3389),

Len=114, Seq=1243821551 - 1243821665, Ack=554923188, Win=64221

(scale factor not found)

RDP:

而当使用机器名进行连接时,得到以下数据包示例

Frame:

+ Ethernet: Etype = Internet IP (IPv4)

+ Ipv4: Next Protocol = IPv6 over IPv4, Packet ID = 17291, Total IP

Length = 192

+ Ipv6: Next Protocol = TCP, Payload Length = 132

+ Tcp: Flags=...PA..., SrcPort=63210, DstPort=MS WBT Server(3389),

Len=112, Seq=526046828 - 526046940, Ack=2299961791, Win=16465

(scale factor not found)

RDP:

虽然帧类型还是IPv4但它这际上封装的是IPv6数据包,估计IPv4 Large send

offload不会应用在这种数据包上,所以就能正常连接服务器了。

说白了,并非出现了不可思议的情况,而是因为使用了另一种数据传输方式所以绕过了会出错的处理途径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值