社区
C语言
帖子详情
tcp建立连接和关闭连接一定要三次和四次握手?????????????????
liulili19830401
2009-04-14 10:42:55
1建立连接时,如果客户机和服务器同时发出建立连接请求,那建立全双工的连接不是变成四次握手了???
2关闭连接时,如果客户机发出关闭请求,然后服务器收到关闭请求的同时也想发出关闭请求,把FIN和ACK一起发送,那不是变成三次握手不就可以了??
...全文
412
15
打赏
收藏
tcp建立连接和关闭连接一定要三次和四次握手?????????????????
1建立连接时,如果客户机和服务器同时发出建立连接请求,那建立全双工的连接不是变成四次握手了??? 2关闭连接时,如果客户机发出关闭请求,然后服务器收到关闭请求的同时也想发出关闭请求,把FIN和ACK一起发送,那不是变成三次握手不就可以了??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qinzh130
2009-08-05
打赏
举报
回复
1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
http://blog.pfan.cn/xman/44384.html 这里说的很明白。
lin_style
2009-04-15
打赏
举报
回复
time_wait(应该是这么写) 至少有两个作用
一个是端口下次的重用,二是断开的超时处理
lin_style
2009-04-15
打赏
举报
回复
楼主你的三次握手想法早已经有了。
具体看UNP。
至于为什么要四次,查看UNP。我这里可以提出一种情况,当你发到一半的时候突然硬关闭,比如断网了,拨掉网线了。你的端怎么办?是否还是要做个超时,所以最后一次断开状态是time_wait(应该是这么写)
猫已经找不回了
2009-04-15
打赏
举报
回复
1建立连接时,如果客户机和服务器同时发出建立连接请求,那建立全双工的连接不是变成四次握手了???
这个应该可以分别发起2个TCp连接吧,2者可以没有影响啊,反正2个连接双方的Sequence Number都不一样啊,建立的通信端口号也不一样啊。
hityct1
2009-04-15
打赏
举报
回复
mark
zhangzhao123
2009-04-15
打赏
举报
回复
study
liliangbao
2009-04-15
打赏
举报
回复
顶顶顶~~~
kiffa
2009-04-14
打赏
举报
回复
同时打开确实要发送4份报文,也即所谓的四次握手,比正常的三次多一次。需要注意的是同时打开的条件:
服务器:从本机8888端口建立连接到客户机的6666端口
客户机:从本机6666端口建立连接到服务器的8888端口
而且两端几乎同时发送SYN,这样才构成同时打开。并且这里的客户端和服务器只是为了描述方便,单从这个例子讲,两端处于对等地位,每端既是服务器,又是客户端。
若仅仅只是:
服务器:从本机8888端口建立连接到客户机的6666端口
客户机:从本机8888端口建立连接到服务器的6666端口
则只是建立两条独立的连接。
liliangbao
2009-04-14
打赏
举报
回复
TCP在建立连接时又分三步走:
第一步是请求端(客户端)发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;
第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。
第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。然后才开始通信的第二步:数据处理。
服务器是等待连接请求,而不发连接请求的~
baihacker
2009-04-14
打赏
举报
回复
呵,看看RFC文档...
因为你发起请求的时候,对方是在一个等待回应的状态,估计会处于错误状态吧.
比如A,B同时请示.A的请求到B,B是在等待回应,而没有得到,于是就出错了.(估计)
morris88
2009-04-14
打赏
举报
回复
1. 这种情况貌似有个专业术语,叫做同时打开
2. 这个貌似叫做捎带确认
3 次握手和 4 次握手,指的是正常情况是这样的...
liliangbao
2009-04-14
打赏
举报
回复
帮顶~
liulili19830401
2009-04-14
打赏
举报
回复
我们正常情况tcp建立连接和关闭连接一定要
三次
和
四次
握手??
1建立连接时,如果客户机和服务器同时发出建立连接请求,那建立全双工的连接不是变成
四次
握手了???
2关闭连接时,如果客户机发出关闭请求,然后服务器收到关闭请求的同时也想发出关闭请求,把FIN和ACK一起发送,那不是变成
三次
握手不就可以了??
oyljerry
2009-04-14
打赏
举报
回复
1.建立连接后就是全双工了,后面一次可以跳过了
2.关闭连接同样是双工,关闭了,就双方断开了
sherrik
2009-04-14
打赏
举报
回复
upupup
【Linux】
TCP
三次
握手
,
四次
挥手的过程
TCP
三次
握手
,
四次
挥手这是一个非常重要的知识点,我也来总结一下。 关于面试最经常问的问题无非就是:
握手
为什么是3次? 2次可以吗? 为什么不是4次呢? 你能不能详细的介绍一下
TCP
三次
握手
的详细过程? 能不能说一下服务端和客户端在
三次
握手
建立
连接
中的状态和行为? 挥手为什么是4次? 3次可以吗 ? (因为分开总比在一起难,哈哈) TIME_WAIT的作用? TIME_WAIT这个状态是保护谁?? 关于以上的问题,下面都会详细讲解到。
TCP
三次
握手
的过程
TCP
的面向
连接
特性: ** 双方通信之前需要
建立
连接
**
TCP
是一种有状态的协议,必须确定双方在线且准备就绪之后才可以进
python基础超强总结
Python Python深拷贝和浅拷贝的区别 Python的内存管理机制(垃圾回收+内存池) ⼀、引用计数 ⼆、垃圾回收 三、内存池机制 1、小整数池 2、大整数池( 字符串驻留池): intern机制 Python的GIL锁 ⼀、GIL锁简介 ⼆、python中为何会有GIL锁? 2.1 python的内存管理 2.2 GIL锁的产生 2.3不同语言中的GIL锁 三、GIL锁的影响 3.1 CPU限制程序 3.2 图像化展示GIL锁的影响 3.3 结论 四、解决方案 计算机网络 深入浅出
TCP
三次
握手
1、
TCP
是什么? 2、
TCP
首部格式 3、
TCP
的
连接
建立
4、
三次
握手
图文详解 5、
三次
握手
文字总结 6、是否可以使用“两报文
握手
”
建立
连接
? 7、两次
握手
文字总结 W、
三次
握手
过程中可以携带数据吗? X、SYN攻击是什么?
TCP
四次
挥手 N 什么是
四次
挥手 O 挥手为什么需要
四次
? P OMSL等待状态 Q
四次
挥手释放
连接
时, 等待OMSL的意义? S 为什么TIME_WAIT状态需要经过OMSL才能返回到CLOSE状态?
TCP
VS UDP ⼀、
TCP
/IP网络
计算机网络 传输层
TCP
和UDP协议
Re: 计算机网络 传输层
TCP
和UDP协议# 传输层协议
TCP
和 UDP 的应用场景 要发送的内容多,需要将发送的内容分成多个数据包发送(
TCP
) 要发送的内容少,一个数据包就能发送全部内容(UDP)# 传输层协议和应用层协议之间的关系 传输层协议加一个端口号来标识一个应用层协议, 展示了传输层协议和应用层协议之间的关系# 使用
TCP
/IP筛选实现网络安全 防火墙设置与端口# UDP协议特点和报文格式UDP是无
连接
的:即发送数据之前不需要
建立
连接
UDP使用尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的
连接
状态表#
TCP
协议特点和报文格式先
连接
后释放;点对点;可靠传输;全双工通信;面向数据流七项标记位停止等待协议与改进的停止等待协议滑动窗口技术详解:确认Seq与选择确认SACK 超时重传时间:查询计算与自动调整 流量控制功能:点对点的流量控制 拥塞控制:相对整体网络环境而言;慢开始算法和拥塞避免算法 改进的拥塞控制:快重传和快恢复
三次
握手
建立
TCP
连接
,
四次
挥手释放
连接
。#
TCP
协议面临的攻击 SYN 攻击:捏造的源地址; LAND攻击:自己就是源地址# 通过抓包工具,查看以上报文格式# 习题详解
计算机网络常见面试题
1、简单介绍一下HTTP的长
连接
和短
连接
? 2、简述计算机网络中的七层模型? 3、常见的HTTP状态码有哪些? 4、
TCP
的
三次
握手
过程?为什么会采用
三次
握手
,若采用二次
握手
可以吗? 5、请简述一下
TCP
的
三次
握手
和
四次
挥手协议? 6、
TCP
和UDP相关的协议分别有哪些? 7、
TCP
和UDP有什么区别? 8、Post和Get有什么区别? 9、在浏览器中输入www.baidu.com后执行的全部过程? 10、列举几种常见的协议,并简述他们的作用? 11、cookie 和session 有什么区别?
深入浅出
TCP
三次
握手
(多图详解)
文章目录前言1、
TCP
是什么?2、
TCP
首部格式3、
TCP
的
连接
建立
4、
三次
握手
图文详解5、
三次
握手
文字总结5、是否可以使用“两报文
握手
”
建立
连接
?6、两次
握手
文字总结 前言
TCP
三次
握手
和
四次
挥手是面试题的热门考点,它们分别对应
TCP
的
连接
和释放过程,今天我们先来认识一下
TCP
三次
握手
过程,以及是否可以使用“两报文
握手
”
建立
连接
?。 1、
TCP
是什么?
TCP
是面向
连接
的协议,它基于运输
连接
来传送
TCP
报文段,
TCP
运输
连接
的
建立
和释放,是每一次面向
连接
的通信中必不可少的过程。
TCP
运输
连接
有以下
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章