TCP/IP协议的三次握手

以太网的数据是以帧为单位进行传输的,每一帧(MAC封包)数据分为header和data两部分。data部分最大为1500byte,当然这个大小是可以设置的(要遵寻标准,改了后果可能很严重)。

传输数据的时候MAC封包的data部分包裹着IP封包,IP封包也是由header和data组成,IP封包的data部分又包裹者TCP封包,TCP也由header和data组成,TCP封包data部分又包裹着应用层协议封包如HTTP,

接受数据也由对应的层层层解析。IP封包最大65535byte,如果IP封包大于MAC封包最大值,则切分成多个MAC封包进行传输。

TCP封包格式

Source Port(来源端口)

Destination Port:(目的端口)

Sequence Number(封包序号):

由于 TCP 封包必须要带入 IP 封包当中,所以如果 TCP 数据太大时(大于 IP 封包的容许程度), 就得要进行分段。这个 Sequence Number 就是记录每个封包的序号,可以让收受端重新将 TCP 的数据组合起来

Acknowledge Number:

为了确认主机端确实有收到我们 client 端所送出的封包数据,我们 client 端当然希望能够收到主机方面的响应,那就是这个 Acknowledge Number 的用途了。 当 client 端收到这个确认码时,就能够确定之前传递的封包已经被正确的收下了。

Code (Control Flag, 控制标志码)

当我们在进行网络联机的时候,必须要说明这个联机的状态,好让接收端了解这个封包的主要动作。 这可是一个非常重要的句柄喔!这个字段共有 6 个 bits ,分别代表 6 个句柄,若为 1 则为启动。分别说明如下:

URG(Urgent):若为 1 则代表该封包为紧急封包, 接收端应该要紧急处理,且图 2.4-1 当中的 Urgent Pointer 字段也会被启用。

ACK(Acknowledge):若为 1 代表这个封包为响应封包, 则与上面提到的 Acknowledge Number 有关。

PSH(Push function):若为 1 时,代表要求对方立即传送缓冲区内的其他对应封包,而无须等待缓冲区满了才送。

RST(Reset):如果 RST 为 1 的时候,表示联机会被马上结束,而无需等待终止确认手续。这也就是说, 这是个强制结束的联机,且发送端已断线。

SYN(Synchronous):若为 1,表示发送端希望双方建立同步处理, 也就是要求建立联机。通常带有 SYN 标志的封包表示『主动』要连接到对方的意思。

FIN(Finish):若为 1 ,表示传送结束,所以通知对方数据传毕, 是否同意断线,只是发送者还在等待对方的响应而已。

三次握手过程

http是建立在TCP上的应用层协议,我以访问http://www.centoscn.com/CentosServer/www/2015/0422/5245.html进行分析

打开wireshark,过滤规则里输入http,找到GET /CentosServer/www/2015/0422/5245.html HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream"

看到在进行HTTP数据传输之前,我的本机和120.76.14.151互相发送了3个TCP数据包,这就是3次握手的包。

第一次握手数据包,TCP的controlFlags SYN为1,sequence num 963326680

第二次握手的数据包,由三次握手的图示我们可以得出 第二次握手数据包ControlFlgas 的SYN位为1,ACK位为1,Acknowledge Number=963326680+1=963326681

第三次握手数据由图得出ControlFlgas 的ACK为1, Acknowledge Number=475266512+1=475266513

后面再分析下四次挥手

时间: 2024-10-26 22:09:11

TCP/IP协议的三次握手的相关文章

tcp/ip协议的三次握手4次断开

tcp/ip协议的3次握手4次断开: (注:syn用来建立连接 sck用来确认连接 rst用来复位连接错误 ) (listen监听状态 syn_sent 在发送连接请求后等待匹配的连接请求 syn_RECEIVED 在收到和发送一个连接请求后等待对连接请求的确认  established 完成连接,可以传送数据 Sequence     number顺序号码 Acknowledge number确认号码 FIN(finish结束)URG(urgent紧急)PSH(push传送)) 三次握手: c

TCP/IP协议的三次握手及实现原理

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

重学TCP/IP协议和三次握手四次挥手

计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的.计算机网络体系结构的抽象概念较多,在学习时要多思考.这些概念对后面的学习很有帮助. 网络协议是什么? 在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式.是否需要发送一个应答信息.这些规则被称为网络协议. 为什么要对网络协议分层? 简化问题难度和复杂度.由于各层之间独立,我们可以分割大问题为小问题. 灵活性好.当其中一层的技术变化时,只要层间接口关系保持不变,其他层不受影响. 易于实现

TCP/IP协议的三次握手过程及Socket套接字

socket 套接字:为了使得多主机多进程通信时,不至于发生混乱情况,必须把端口号和主机的IP地址结合起来使用, 称为插口或套接字. 由于主机的IP地址是唯一的,这样目的主机就可以区分收到的数据报的源端机了. 套接字包括IP地址(32位)和端口号(16位),共48位. 例如(124.33.13.55,200)和(126.45.21.51.25)就是一对套接字,再整个Internet中,再传输层上进行   通信的一对套接字都必须是唯一的. TCP连接的建立 第一次握手:客户端TCP首先给服务器端T

tcp/ip协议第三章 ip:网际协议

tcp/ip协议第三章读后总结 ip是tcp/ip协议族中最为核心的协议.ip提供不可靠传输,不可靠的意思是它不保证ip数据包能成功的到达目的地.ip仅提供最好的传输服务.任何要求的可靠性必须由上层来提供(如tcp) 子网的划分缩小了internet路由表的规模,因为许多网络经常可以通过单个表目就可以访问了. 接口网络的有关信息通过ifcongif和netstat命令可以获得,包括接口的ip地址.子网掩码.广播地址.以及mtu等

TCP/IP协议简介(三) 之 网络层

IP 网际协议 IP 协议位于网络层,它是 TCP/IP 协议族中最为核心的协议,所有的 TCP.UDP.ICMP 及 IGMP 数据都以 IP 数据报格式传输.IP 协议提供的是 不可靠 . 无连接 的数据报传送服务. 不可靠(unreliable):IP 协议不能保证数据报能成功地到达目的地,它仅提供传输服务.当发生某种错误时,IP 协议会丢弃该数据报.传输的可靠性全由上层协议来提供. 无连接(connectionless):IP 协议对每个数据报的处理是相互独立的.这也说明, IP 数据报

OSI模型和TCP/IP协议族(三)

TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前TCP/IP协议族被认为是一个五层模型,其层的命名类似于OSI模型中相应的层.如下图所示: OSI和TCP/IP协议族的比较 当我们比较这两个模型时会发现,再TCP/IP协议族中没有会话和表示这两层.即使在OSI模型发布后,TCP/IP协议族也没有因此而增加这两层.在TCP/IP协议族中通常认为应用层

TCP网络协议的三次握手及代码释义

讲解TCP协议,我们首先要了解什么是网络通讯协议. 1.网络通讯协议 两台计算机要想在网络中互相通讯,就必须要遵守一定的规定,并且只有通讯双方同时遵守了这些规定,才能够实现数据的相互传输.而这些规定,便是由网络通讯协议针对数据传输格式,传输速率,传输步骤等制定的. 2.网络协议分类 java.net 包中包含的类和接口,它们提供低层次的通信细节,其中包含了两种常见的网络协议的支持: 1)TCP(Transmission Control Protocal) 即传输控制协议,TCP协议是面向连接的通

TCP/IP链接的三次握手与四次挥手

一.概述图: 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源.Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了. 那如何断开连接呢?简单的过程如下: 二.注意点: (1).标志位: tcp标志位,有6种标示: SYN(synchronous建立联机) ACK(acknowledgement