TCP链接,为什么要三次握手?
昨天面试,面试官问:为什么TCP建立连接时需要第三次握手
讲真的,我不知道,我真的不知道,
然后就有了这篇文章,简单记载一下
简单随笔,不喜勿喷
Tcp的定义以及如何连接的我在这就不记了
直接上为什么?
原因一:防止重复链接
防止旧的重复链接引起链接混乱
比如:一个网络很乱的环境,如果只有两次握手,那分不清楚这次的请求是正常的请求,还是由于网络环境问题而导致的过期请求,如果是新的请求还可以,但是如果是旧的链接发送的超时链接请求呢?
原因二:同步初始化序列化
防止数据包重复发送,以及确定数据包接受时的顺序
他会有一个偏移量,客户端发送的syn 以及 服务端的ack,这两个参数确定客户端以及服务端的相同的偏移量
嗯~就是这两个原因,这就是为什么tcp需要进行第三次握手
可能会有人再问:那为什么要进行4次挥手呢?
好的,这就是我的下一片文章的内容了
拜谢
TCP链接,为什么要三次握手?相关推荐
- Python常见面试题:TCP 协议中的三次握手与四次挥手相关概念详解
今天来聊聊Python常见面试题中面试频率特别高的一个题目:TCP 协议中的三次握手与四次挥手. 涉及到的知识点有: 1.TCP.UDP 协议的区别 2.TCP 头部结构 3.三次握手与四次挥手过程详 ...
- startupinfo为什么需要初始化_为什么 TCP 建立连接要三次握手
为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...
- 为什么TCP建立连接需要三次握手
为什么TCP建立连接需要三次握手 很简单,因为TCP的目的是相对高效地建立可靠的连接. 虽然说2次握手,请求方就已经能够确认双方路径已经没有问题了.但是接受方这边接收到的信息却仅仅是,你发起了建立连接 ...
- mobaxterm为什么无法连接_为什么 TCP 建立连接需要三次握手
为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...
- 网络:七层,HTTP应用层、TCP传输层、IP网络层,拔网线TCP还在,三次握手保证双向与减少因延时传输错误
网络七层 应,表,会,传,网,数,物 HTTP应用层 TCP传输层 IP网络层 应用层 与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的.例如,一个没有通信功能的字处理程序就不能执行通信的 ...
- 十人面试就我通过,只因我答对了这题TCP协议为什么需要三次握手
一位5年工作经验的小伙伴面试被问到这样一道面试题,说,TCP协议为什么要设计三次握手.当时这位小伙伴被问得哑口无言.后来,他找到我,说希望做一期视频分享一下.今天,我给大家分享一下我的理解. 1 TC ...
- TCP协议为什么需要三次握手?
TCP实现原理和为什么需要三次握手?两次握手不可以?四次握手不可以?读者可以带着疑问,看一遍本篇博客的详细讲解 ok,首先解释原因之前还是要先复习一下TCP的基本知识和三次握手协议: 1.什么是TCP ...
- TCP建立连接的三次握手
TCP建立连接的三次握手 TCP头的构成 TCP建立连接的过程就是三次握手,三次握手成功完成,TCP连接就建立了.在三次握手之前先看一下TCP报文中的TCP头由哪些部分组成. 上图中有几个字段需要重点 ...
- 建立TCP连接时的三次握手与四次挥手问题
1. 字段含义 1.1 状态字段 ACK 报文是用来应答的,SYN 报文是用来同步的 LISTEN:侦听来自远方TCP端口的连接请求 SYN-SENT:在发送连接请求后等待匹配的连接请求 SYN-RE ...
- 图解TCP协议中的三次握手和四次挥手
最近在复习计算机网络,看到TCP这一章,总结一下. 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 1.jpg 先来看看如何建立连接的: 2.png 首先Client端 ...
最新文章
- bugku 杂项 就五层你能解开吗_你能解开这个和数字有关的逻辑解谜游戏吗? | 每日一考...
- 从3D人脸到自动驾驶,CVPR2020十个顶级开源数据集
- php excel cpu高,phpexcel读文件的时候cpu99%
- 《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序...
- raspberry pi_通过串行蓝牙从Raspberry Pi传感器单元发送数据
- 重口味动漫_每种口味的图标样式
- oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)
- vivado 启动过程中报错
- DataGrid的ViewState
- php ci xss_clean,php – codeigniter 2以及如何为TinyMCE禁用xss
- 【论文】赛尔原创 | EMNLP 2019基于知识库检索器的实体一致性端到端任务型对话系统...
- SQL Server和Oracle数据库索引介绍
- 测试化妆品真假软件,检验化妆品真假app怎么用
- MessageBox用法大全
- 在虚拟机中安装windows server 2008
- 基于Nextcloud,挂载Google drive,搭建Aria2+AriaNg,实现在线下载BT磁链/在线观看/全功能文件管理/无限容量云盘
- wap网页如何跳转到微信一键关注公众号
- Python 进阶视频课 - 12. Nelson-Siegel 构建债券收益率曲线
- 想要好看的设计?收下这份网页背景设计指南吧!
- 阿里p7 p8的要求看看你会了多少