`
tyytzy
  • 浏览: 36972 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

TCP三次握手各种异常

 
阅读更多

 

和TCP三次握手有关的面试题

分类: 网络 673人阅读 评论(0) 收藏 举报

在面试的过程中,TCP三次握手是一个出现频率比较多的话题。三次过程如下图所示:

           Client                             Server

              |------------SYN1----------->|

              |                                       |

              |<------SYN2+ACK1---------|

              |                                       |

              |--------- ACK2------------->|

 

下面列一些常见的几个问题。

1. Q:向一个不存在但合法的公网IP任意端口发送SYN包会出现什么情况?

    A:返回ICMP主机不可达。

 

2. Q:向一个存在的IP但未绑定的端口发送SYN包会出现什么情况?

    A:返回TCP RST segment。

 

3. Q: 第一个SYN包丢失了,客户主机(主动连接方)会采取什么动作?

    A:重传,重试几次后(一般是3次)失败后,连接失败。

 

4. Q: 为什么连接建立的过程作3次TCP segment交互,而不是4次?

    A:Server端的SYN&ACK在一个TCP segment传给了Client。

 

5. Q:什么情况下将会出现4次TCP segment交互?

    A: 连接的两端同时打开。

 

6. Q: 第二个SYN2(就是图示中的SYN2+ACK1)丢失了,将出现什么情况?

    A: Client收不到SYN2而不发送ACK2,Server端将超时重发。

 

7. Q: ACK2丢失了将会怎样?

    A: Server端认为Client没收到SYN2+ACK1,重发SYN2+ACK1;另外连接处于未完成的状态,如果出现大量的ACK2丢失,未完成的连接队列会出现“满”的状态,从而不能再接收SYN1。这就是DOS。

 

还有一些和Socket APIs结合起来的问题,比如connect内部做了什么?accept做了什么?accept执行速度慢了将会出现什么现象?等等。这个问题可以参考上一篇文章:

      http://blog.csdn.net/herm_lib/archive/2010/11/14/6008281.aspx

分享到:
评论

相关推荐

    TCPIP详解--共三卷

    TCP/IP详解 卷1:协议 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 ...

    面试集锦:收集JAVA的各种面试题目,以及解题思路或者答案,解题技巧

    1、说几种常见的攻击方式及预防手段。 ... 3、mysql查询语句怎么做性能分析。 4、你知道哪几种排序算法?...9、TCP和UDP的区别,TCP为什么是三次握手,不是两次。 10、说说数据库设计的三范式,可以违反三范式吗?

    TCP_IP详解卷1

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCP/IP详解part_2

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    SYN flood C源代码

    SYN flood是属于DOS攻击的一种典型方式,其发生方式就出现在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手...

    linux网络编程

    IP数据报格式 网际校验和 路由 04TCPIP基础(四) TCP特点 TCP报文格式 连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06...

    网络安全实验--洪泛攻击.docx

    问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试...

    C++教程网《Linux网络编程》视频百度云地址

    连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络...

    2018年C++教程网的linux网络编程视频共41集百度云下载链接.rar

    连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络字节序 字节序...

    Linux网络编程 视频 教程

    连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络...

    C++教程网视频:linux网络编程

    连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络...

    c++教程网的linux网络编程视频下载

    连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络...

    [免费]2018年C++教程网的linux网络编程视频百度云下载链接.rar

    连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络...

    TCPIP详解卷[1].part04

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part09

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part03

    tcp ip 详解 入门 教程 该文件共分12个压缩包,必须下载到同一个文件夹后解压。 简介: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中...

    TCPIP详解卷[1].part07

    tcp ip 详解 入门 教程 该文件共分12个压缩包,必须下载到同一个文件夹后解压。 简介: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中...

    TCPIP详解卷[1].part10

    tcp ip 详解 入门 教程 该文件共分12个压缩包,必须下载到同一个文件夹后解压。 简介: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中...

    TCPIP详解卷[1].part05

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part06

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

Global site tag (gtag.js) - Google Analytics