一、传输层TCP数据报结构
1、Source Port,表示发起连接的源端口。该部分占16个BIT。通过此值,可以看出发起连接的计算机源端口号。
2、Destination Port=21(FTP-CTRL),表示要连接的目的端口为21。该部分占16个BIT。通过此值,可以看出要登录的目的端口号。21端口表示是FTP服务端口。
3、Initial Sequence Number=1791872318,表示初始连接的请求号,即SEQ值。该部分占32个BIT,值从1到2的32次方减1。
4、Next Expected SEQ Number=1791872319,表示对方的应答号应为1791872319,即对方返回的ACK值。该部分占32个BIT,值从1到2的32次方减1。
5、Data Offset=28 Bytes,表示数据偏移的大小。该部分占4个BIT。
6、Reserved Bites:保留位,此处不用。该部分占6个BIT。
7、Flags=02。该值用两个十六进制数来表示。该部分长度为6个BIT,6个标志位的含义分别是:
0 URG,紧急数据标志,为1表示有紧急数据,应立即进行传递。
0 ACK,确认标志位,为1表示此数据包为应答数据包
0 PSH,PUSH标志位,为1表示此数据包应立即进行传递。
0 RST:复位标志位。如果收到不属于本机的数据包,则返回一个RST
0 SYN:连接请求标志位。为1表示为发起连接的请求数据包。
0 FIN:结束连接请求标志位。为1表示是结束连接的请求数据包。
8、Window=64240,表示窗口是64240。该部分占16个BIT。
9、CheckSum=92D7(Correct),表示校验和是92D7。该部分占16个BIT,用十六进制表示。
10、Urgent Pointer=0,表示紧急指针为0。该部分占16个BIT。
11、Maximum Segment Size=1460,表示最大段大小为1460个字节。
二、网络层IP数据报结构
依次为:
1、Version=4,表示IP协议的版本号为4。该部分占4个BIT位。
2、Header Length=20 Bytes,表示IP包头的总长度为20个字节。该部分占4个BIT位,单位为4个字节,因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。
3、Type of Service=00,表示服务类型为0。该部分用二个十六进制值来表示,共占8个BIT。
8个BIT的含义是:
000 前三位不用
0 表示最小时延,如Telnet服务使用该位
0 表示吞吐量,如FTP服务使用该位
0 表示可靠性,如SNMP服务使用该位
0 表示最小代价
0 不用
4、Total Length=48Bytes,表示该IP包的总长度为48个字节。该部分占16个BIT,单位为Byte。由此可见,一个IP数据包的最大长度为2的16次方减1,即:65535个字节。因此,在以太网中能够传输的最大IP数据包为65535个字节。
5、Identification=363,表示IP包识别号为363。该部分占16个BIT,以十进制数表示。
6、Flags,表示片标志,占3个BIT。各位含义分别为:第一个“0”不用,第二个“0”为分片标志位,“1”表示分片,“0”表示不分版本。第三个0为是否最后一片标志位,0表示最后一片,1表示还有更多的片。
7、Fragment Offset=0,表示片偏移为0个Bytes。该部分占13个BIT。
8、Time to Live=128Secongs/Hops,表示生存时间TTL值为128。该部分占8个BIT。
9、Proctol=6(TCP),表示协议类型为TCP,协议代码是6。如果是UDP协议,则此处的协议代码应为17。如果是ICMP协议,则此处的协议代码应为1。该部分占8个BIT。
10、Header Checksun=4035(correct),表示IP包头校验和为4035,括号内的Correct表示此IP数据包是正确的,没有被非法修改过。该部分占16个BIT,用十六进制表示。
11、Source Address=[76.88.16.104],表示IP数据包源地址为:76.88.16.104。该部分占32个BIT。
12、Destination Address=[76.88.16.16],表示IP数据包目的地址为:76.88.16.16。该部分占32个BIT。
13、No Options,表示IP数据包中未使用选项部分。
三、三次握手和四次断开
ACK: TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号之前的数据段都收到了.比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0
时,确认号无效,这时会要求重传数据,保证数据的完整性.
SYN: 同步序列号,TCP建立连接时将这个位置1
FIN: 发送端完成发送任务位,当TCP完成数据传输需要断开时,提出断开连接的一方将这位置1
三次握手:
1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.--------发SYN
2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我.------返回ACK和SYN
3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:"我已收到回复,我现在要开始传输实际数据了.--------再发ACK
有人想是不是当三次握手后,就开始建立了连接了呢?
这就要分请求者和被请求者。请求者是在收到SYN和ACK后就开始建立连接,而被请求者是在第三次握手后才建立连接。
四次断开:
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个控制位FIN来终 止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接 在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
3 由B 端再提出反方向的关闭请求,将FIN置1
4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
分享到:
相关推荐
这份"TCP/IP学习笔记"涵盖了TCP/IP协议族的关键组成部分,包括分层模型、IP地址、TCP与UDP协议、DNS解析、网络传输以及相关的应用层协议等内容。 一、TCP/IP分层模型 TCP/IP模型分为四层,分别是应用层、传输层、...
TCP/IP学习笔记是计算机网络协议的基础知识,包括IP协议、TCP协议、UDP协议等。在这里,我们将深入了解IP协议的两个重要特性:不可靠(unreliable)和无连接(connectionless)。 不可靠(Unreliable) IP协议的不...
TCP/IP学习笔记主要涵盖TCP/IP协议的基本结构、IP地址与子网掩码的原理,以及数据包的封装和分用过程。以下是对这些知识点的详细解释: 1. **TCP/IP结构**: TCP/IP协议栈分为四层,分别是应用层、传输层、网络层...
《TCP/IP学习笔记补遗》是对TCP/IP协议族的深入理解和实践后的补充材料,旨在帮助读者更好地理解这个复杂的通信协议体系。TCP/IP是互联网的基础,它由四个主要层次构成:应用层、传输层、网络层和数据链路层。下面...
"TCP/IP 详解学习笔记" TCP/IP 协议是计算机网络中最重要的协议族之一,它为计算机之间的通信提供了标准的语言。TCP/IP 协议族包括了 IP 协议、IMCP 协议、TCP 协议,以及我们更加熟悉的 HTTP、FTP、POP3 协议等等...
这份“Tcp/IP学习笔记”基于《Teach yourself Tcp/IP In 24 Hours》这本书,以MindMap格式呈现,这种可视化方式有助于理解和记忆复杂的概念,比传统的文档形式更加直观。 1. **TCP/IP模型** TCP/IP模型分为四层...
《TCP/IP详解卷1-3》是一套深入探讨TCP/IP协议族的经典著作,由Stephen A. Thomas和W. Richard Stevens两位作者共同撰写。这套书籍详细地解析了互联网协议的各个方面,是IT行业内学习网络通信技术的重要参考书。下面...
TCP/IP协议是互联网通信的基础,它分为四层:网络接口层、网络层、传输层和应用层。在本文中,我们将重点关注网络层的IP协议和传输层的TCP协议。 IP协议,全称Internet Protocol,是网络层的核心协议,用于在因特网...
### TCP/IP 学习笔记知识点总结 #### 一、TCP/IP结构 TCP/IP协议栈是一个四层模型,每一层都负责不同的通信任务。 1. **应用层**:这是最高层,用户直接与之交互,提供了多种协议和服务,包括但不限于HTTP(超...
在阅读Linux_Tcpip协议栈笔记.doc文档时,你可以逐步了解这些概念,并通过实际操作加深理解,比如编写简单的网络应用,或者使用内核调试工具(如`strace`、`sysdig`)来观察TCP/IP协议栈的行为。 总的来说,Linux ...
TCP/IP协议是网络通信的基础,它是互联网的核心协议。TCP/IP协议栈按照功能划分为四层模型,分别是应用层、传输层、互联层和网络接口层。...通过学习TCP/IP协议基础,我们可以更好地理解和解决网络通信中的问题。
这篇文档主要是针对TCP/IP的协议进行详细的介绍,有笔者的学习心得!
TCP/IP协议是互联网通信的基础,它定义了网络设备如何连接到互联网以及数据如何在它们之间传输的规则。...通过学习TCP/IP协议,我们可以更好地理解网络通信的细节,从而更有效地设计和实现网络应用。
TCP/IP详解学习笔记主要涵盖了网络通信的基础概念和TCP/IP协议族的核心内容。TCP/IP协议是为了克服计算机之间因操作系统和表达信息方式的差异而导致的沟通难题而诞生的,它是一个协议族,包含了众多协议,如IP、ICMP...
首先,TCP(传输控制协议)和IP(互联网协议)是Internet协议栈中的两个关键层,它们构成了网络通信的基础。TCP是一种面向连接的、可靠的传输协议,确保数据包按顺序无丢失地送达;而IP则负责在网络中寻址和路由...
TCP/IP详解前3章的学习笔记主要涵盖了网络通信的基础知识,特别是TCP/IP协议栈的四个主要层次,即应用层、传输层、网络层和数据链路层。这些层次定义了网络通信的不同方面,确保数据能够在不同主机之间可靠地传输。 ...
TCP/IP 学习笔记是计算机网络领域的基础知识,本文将对 TCP/IP 协议进行详细的介绍和总结。 一、TCP/IP 协议体系结构 TCP/IP 协议体系结构主要分为四层:应用层、传输层、网间网层和网络接口层。其中,IP 协议是...