- 浏览: 37945 次
- 性别:
- 来自: 安徽
最新评论
在面试的过程中,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
发表评论
-
PPPD拨号返回结果码
2015-09-18 11:12 72400: pppd已经断开,或者已经成功建立连接后请求方又中 断 ... -
3G相关定时器说明
2014-08-06 10:05 873计时器和计数器RNC 计 ... -
PDP激活被拒绝原因码表
2012-07-19 20:55 2817om: http://wireless.agilent.com ... -
PDP激活被拒绝原因码表
2012-07-19 20:15 0方便查询:这些值是真正的原因,但要注意分析问题时尤其对二次开发 ... -
TCP重传
2012-07-03 20:23 1150为什么TCP存在重传 TCP是 ... -
MTK NVRAM
2012-06-28 19:50 1652nvram是程序用来搭建FAT文件系统的那一块,是fla ... -
TBF与PDP激活
2012-06-18 21:28 1189PDP先激活,CCCH上下行TBF建立流程如下:1、下行TBF ... -
C语言中的内存对齐问题
2012-05-29 10:31 784.C语言中的内存对齐 ... -
MTK内存管理
2012-04-20 00:36 4579MTK 内存管理 分类: MTK2011- ... -
MTK Timer
2012-04-18 14:33 41231. GPTI_StartItem 要精准很多,但是只能 ... -
WinSocket编程——原始套接字[转]
2012-03-26 09:23 4897WinSocket编程——原始套接字[转] ... -
Windows API串口编程参考
2012-03-15 14:12 3429Windows API串口编程参 ... -
V.24 & V.35
2012-03-12 20:25 971V.24 & V.35 (2011-08 ... -
【C语言】while与for执行效率对比【转】
2012-03-12 19:00 1651【C语言】while与for执行效率对比【转】 C语言 ... -
[转]ASCII,Unicode,UTF-8,GB2312编码之间的关系
2012-03-12 18:59 937[转]ASCII,Unicode,UTF-8,GB231 ... -
NVRAM的简单添加 【转】
2012-02-29 10:14 845NVRAM的简单添加 MTK 在这里我只 ... -
MTK获取基站的cell_id 【转】
2012-02-29 10:07 1053MTK获取基站的cell_id 博客分类 ... -
MTK的HTTP连接方式
2012-02-29 10:08 883MTK的HTTP连接方式 博客分类: ... -
MTK中怎样创建和使用lib
2012-02-28 17:17 727MTK中怎样创建和使用lib 博客分类: MT ... -
MMI 和L4通信【转】
2012-02-28 17:16 1135MMI 和L4通信 博客分类: MTK ...
相关推荐
TCP三次握手和四次挥手是互联网中最重要的基础知识点之一,尤其在面试中,它们是检验应聘者是否具备扎实网络基础知识的常用问题。面试官通常会考察应聘者对这些过程的理解程度,以及能否准确描述其细节。以下是关于...
TCP的三次握手是建立可靠连接的重要过程,它确保了两个通信端点都能正确理解对方的意图,避免了数据丢失或重复发送的问题。 首次握手:在TCP连接建立之初,客户端会发送一个带有SYN(同步序列编号)标志的数据包给...
### TCP三次握手过程详解 #### 一、三次握手的基本概念 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。为了确保数据传输的可靠性和准确性,TCP采用了一种称为“三次握手”的机制来...
在TCP连接的建立和关闭过程中,三次握手和四次挥手确保了数据的可靠传输,防止了各种异常情况对连接的影响,如半开连接、重复报文等。这些机制是TCP作为可靠传输协议的基础,也是网络编程中不可或缺的知识点。
TCP三次握手和四次挥手是计算机网络中用于实现可靠传输的基础机制。TCP协议通过这两种机制确保数据能够准确无误地从发送端传输到接收端,同时保证连接的建立和关闭是有序的。 ### 三次握手 三次握手是TCP连接建立...
"TCP 三次握手四次挥手原理解析" TCP 协议是传输层的可靠数据传输服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。TCP 协议工作在传输层,位于 IP 层之上,IP 层是“不可靠”的,不保证网络包...
**一、TCP三次握手** 三次握手是TCP建立连接时的过程,确保双方都能正确地建立通信。这个过程分为以下三个步骤: 1. **SYN(同步序列编号)**:当客户端想要与服务器建立连接时,它会向服务器发送一个SYN报文段,...
TCP三次握手是建立连接的过程,包括以下步骤: 1. 客户端发送一个带有SYN标志的数据段,请求连接。 2. 服务器回应一个SYN+ACK,确认并同意连接请求。 3. 客户端再回应一个ACK,确认服务器的SYN,至此连接建立完成。 ...
总的来说,虽然JavaScript开发者不直接操作TCP层面的细节,但理解TCP三次握手对于优化网络应用性能、处理网络异常、设计更高效的网络通信策略等都是至关重要的。了解这一基础网络概念,有助于提升JavaScript编程的...
在TCP/IP协议栈中,TCP(传输控制协议)被设计...总的来说,TCP的三次握手是为了建立一个可靠的、双工的连接,避免由于网络问题或通信异常导致的数据丢失或误解。这个过程是TCP协议保证数据传输可靠性的重要机制之一。
在TCP三次握手的过程中,服务器会维护一个未连接队列。当服务器接收到客户端的SYN报文后,就会在未连接队列中为这个连接开辟一个条目,表示服务器已经收到了SYN包,并等待客户端的确认。一旦客户端发送确认包,...
1. **三次握手与四次挥手**:TCP连接的建立和断开都需要通过特定的握手过程。三次握手确保了连接的可靠性,而四次挥手则确保了数据传输完成后连接的正常释放。 2. **滑动窗口机制**:TCP使用滑动窗口来控制发送和...
卷3《TCP/IP详解:TCP事务协议》聚焦于TCP的事务处理,如TCP的三次握手和四次挥手过程,这是建立和断开TCP连接的关键步骤。同时,这本书也探讨了TCP的性能优化和异常情况处理,以及TCP与其他应用层协议的交互。 ...
TCP(传输控制协议)是一种...通过理解TCP三次握手过程以及ISN的生成机制,可以更好地掌握这种攻击的原理。同时,通过对TCP协议的改进、采用加密技术以及加强网络监控,能够有效预防和减轻TCP序列号攻击带来的危害。
TCP是一种面向连接的、可靠的传输协议,它通过三次握手建立连接,四次握手释放连接。在Floodlight控制器中,TCP连接异常通常表现为过多的“CLOSE-WAIT”状态,这暗示着连接的释放过程中存在问题。 1. **TCP连接的...
4. **连接管理**:TCP的三次握手建立连接,四次挥手断开连接,确保了设备之间的安全通信。MODBUS-TCP通信通常基于持久连接,即一次连接可以处理多个请求,直到连接被主动关闭。 5. **多设备通信**:在一个网络中,...
1. **连接测试**:用户可以设置源和目标IP地址以及端口号,模拟TCP三次握手建立连接的过程,检查网络连通性。 2. **数据传输**:工具允许用户自定义发送的数据包内容和大小,测试网络带宽、延迟和丢包率,这对于...
在这个项目中,学生会深入理解TCP的工作原理,包括连接建立(三次握手)、数据分片与重组、流量控制、拥塞控制等关键技术。通过实际编程实现,学生将学习如何创建TCP客户端和服务器,发送和接收数据包,并确保数据的...
TCP(Transmission Control Protocol)是一种基于连接的传输层协议,它保证了数据的可靠传输,通过三次握手建立连接,四次挥手断开连接。然而,在实际网络环境中,由于各种原因,如网络故障、主机崩溃等,可能导致...
1. **诊断连接问题**:通过查看TCP三次握手和四次挥手的过程,可以判断是否存在连接失败、超时或异常断开的情况。 2. **流量分析**:监控数据包的发送和接收速率,识别是否存在网络拥塞、丢包或延迟过大的问题。 3. ...