TCP三次握手简介

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:

1、主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;

2、主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;

3、主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。

三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

小结TCP与UDP的区别:

1.基于连接与无连接;

2.对系统资源的要求(TCP较多,UDP少);

3.UDP程序结构较简单;

4.流模式与数据报模式 ;

5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

时间: 2024-11-10 00:59:11

TCP三次握手简介的相关文章

学习c/c++遇到问题找不到资料,关于实现tcp三步握手以及c是怎样实现弱口令检测的问题

问题描述 学习c/c++遇到问题找不到资料,关于实现tcp三步握手以及c是怎样实现弱口令检测的问题 刚学完synflood的源码,但是有疑问,是不是synflood只做到了第二步就完毕了,谁有有源码可以给我看看 完整的tcp握手三步是怎样完成的.? 还有 ,对于一些远程主机扫描 弱口令检测等等的,很好奇是怎么实现的,求解.例如ipc 等等.注入类此.希望在csdn能得到高手指教. 新手一枚,求解. 解决方案 可以参考以下链接 TCP三步握手建立连接(1)-----主动连接syn包发送http:/

TCP三次握手及其背后的缺陷

概述 总结一下TCP中3次握手过程,以及其原生的缺陷 引起的SYN Flood的介绍 [1]TCP三次握手 [2]SYN Flood 1.TCP连接建立--三次握手 几个概念: [1]seq:序号,占4个字节,范围[0,4284967296],由于TCP是面向字节流的,在一个1个TCP连接中传送字节流中国的每一个字节都按照顺序编号,此外序号是循环使用的 [2]ACK: 仅当ACK=1时确认字段才有效,当ACK=0时确认字段无效,并且TCP规定,在连接建立后所有的传送报文段都必须要把ACK置为1

TCP ,UDP概念和TCP三次握手连接 的知识点总结

OSI 计算机网络7层模型 TCP/IP四层网络模型 传输层提供应用间的逻辑通信(端到端),网络层提供的是主机到主机的通信,传输层提供的是可靠服务. TCP 中常说的握手指的是:连接的定义和连接的建立的过程.IP 协议是无连接的,但是 TCP 是有链接的. 端口:数据链路层依靠 mac 地址寻址,网络接口层依靠 ip 地址寻址,传输层依靠端口号寻址,端口就是应用层的各种协议进程和传输实体之间进行层间交换的地址. 端口号:标识不同进程的号码,16位,2的16次方个,只在本地有意义.一共有三类,一是

TCP三次握手&Render Tree页面渲染=>从输入URL到页面显示的过程?

最近工作之余一直在温故js系列,想知新,想提升,以小技术点为节奏去回顾.今天突然想到回顾一下这个http知识,http知识有太多深层次需要学习,今天简要回顾,浅析下这个技术点. 主要通过五个步骤浅析这个过程,有错误的地方,烦请斧正,互相学习. 艾玛,我只是浅析一下,深析请见:http://fex.baidu.com/blog/201... 这个知识太复杂了,以前看的时候头晕O(∩_∩)O~ 1.发送URL,请求IP地址 当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每

wireshark抓包图解 TCP三次握手/四次挥手详解

一. TCP/IP协议族       TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能.包含以下四个层次: 1. 链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节. 2. 网络层,也称作互联网层,处理分组在网络中的活动,例如分组的选路.网络层协议包括IP协议(网际协议).ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协

Wireshark基本介绍和学习TCP三次握手

之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包. 记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实.有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段.更能加深我们对网络协议的理解.对我而言, wireshark

tcp ip 内核 linux-完成tcp三次握手,是内核的哪个进程?

问题描述 完成tcp三次握手,是内核的哪个进程? 完成tcp三次握手,是内核的哪个进程?压测抓包发现,三次握手,处理得有些问题 解决方案 Unix网络编程里面不是有个图么,服务器调用accept阻塞,然后客户端connect完成三次握手后,accept返回.不是哪个阶段,accept与三次握手应该没关系.3次握手发生在客户端 connect 时 而服务器accept 只是从内核取出可以已完成握手的队列中取出一个而已. 解决方案二: 不就是你启动的那个进程暧吗?直接抓服务端那个端口的所有包就行了,

tcp 三次握手和四次断连深入分析:连接状态和socket API的关系

说到tcp协议,凡是稍微看过的人都能顺口说出三次握手和四次断连,再牛逼的一点的就能够把每个状态(SYNC_SENT.CLOSE_WAIT......等)都能背出来, 而说道socket编程,基本上写过网络编程的人都会熟悉那几个标准的API:socket.connect.listen.accept......等 但是,我敢打赌很少有人明白tcp状态和socket编程API之间的关系.不信? 看看如下几个问题你是否知道吧: 1)什么时候客户端才能够连接上server端, 是server端调用bind

TCP三次握手应用及原理

TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol.可靠的主机到主机层协议.这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种.两个TCP意思非相同. ).TCP是一种可靠的面向连接的传送服务.它在传送数据时是分段进行的,主机交换数据必须建立一个会话.它用比特流通信,即数据被作为无结构的字节流. 通过每个TCP传输的字段指定顺