tcpip协议定义

合集下载

TCP IP协议的描述

TCP IP协议的描述

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。

而IP是给因特网的每一台电脑规定一个地址从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。

TCP/IP协议并不完全符合OSI的七层参考模型。

OSI是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。

该模型的目的是使各种硬件在相同的层次上相互通信。

这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己。

由于ARPNET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。

实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网物理层是定义物理介质的各种特性:1、机械特性。

2、电子特性。

3、功能特性。

4、规程特性。

数据链路层是负责接收IP 数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP 层。

常见的接口层协议有:Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。

网络层负责相邻计算机之间的通信。

《TCPIP协议详解》课件

《TCPIP协议详解》课件

04
05
链路层负责处理网络接口和 硬件细节,如以太网协议。
02
网络接口层
物理层
物理层功能
物理层负责传输原始比特流,实现比特流的 传输与接收。
物理层设备
物理层设备包括各种传输媒介,如双绞线、 同轴电缆、光纤等。
物理层协议
物理层协议定义了比特流传输的电气特性、 机械特性、功能特性等。
物理层与数据链路层的关系
层次,每个层次都有明确的任务和功能。
TCP/IP协议的层次结构
应用层负责处理特定的应用 程序细节,如HTTP、FTP等
协议。
TCP/IP协议分为四个层次: 应用层、传输层、网络层和
链路层。
01
02
03
传输层负责提供端到端的数 据传输服务,如TCP和UDP
协议。
网络层负责数据包的路由和 寻址,如IP协议。
《TCPIP协议详 解》PPT课件
目录
• TCP/IP协议概述 • 网络接口层 • 网际层 • 传输层 • 应用层 • TCP/IP协议的应用与发展
01
TCP/IP协议概述
TCP/IP协议的起源
TCP/IP协议起源于上世纪70年 代,最初是为了满足
ARPANET网络的需求而开发 的。
随着互联网的不断发展, TCP/IP协议逐渐成为全球范 围内广泛使用的通信协议标
POP协议用于从邮件服务器接收电子 邮件,允许用户下载邮件到本地计算 机上。
POP命令
POP协议定义了一组命令,用于在邮 件客户端和服务器之间进行通信和控 制邮件下载和管理。
06
TCP/IP协议的应用与发 展
TCP/IP协议的应用场景
互联网通信
TCP/IP协议是互联网的基础, 用于实现全球范围内的数据传

网络协议名词解释

网络协议名词解释

网络协议名词解释网络协议是指计算机网络中各种计算机之间相互进行通信所遵循的一种规则或者约定。

它定义了计算机之间如何建立连接、发送和接收数据的规范,使得不同厂商、不同种类的计算机能够互相通信。

在计算机网络中,存在着许多种不同的网络协议,每种协议都有其特定的功能和用途。

下面对一些常见的网络协议进行解释。

1. TCP/IP协议:TCP/IP是互联网最基本的协议,全称是传输控制协议/互联网协议。

TCP负责数据的可靠传输,而IP负责数据包的路由。

2. HTTP协议:HTTP是超文本传输协议,它是Web服务器和浏览器之间进行通信的协议。

它的主要特点是简单、灵活,可以请求和传输各种类型的数据。

3. FTP协议:FTP是文件传输协议,用于在计算机之间进行文件的传输。

它可以实现文件的上传、下载和删除等功能。

4. SMTP协议:SMTP是简单邮件传输协议,用于在不同的邮件服务器之间传递邮件。

它负责邮件的发送和传输。

5. POP协议:POP是邮局协议,用于在邮件客户端和邮件服务器之间进行邮件的下载。

它允许用户从邮件服务器上下载邮件到本地计算机。

6. DNS协议:DNS是域名系统,它将域名转换为IP地址。

当用户输入一个域名时,DNS协议会将其解析为相应的IP地址,使得计算机能够访问该网站。

7. DHCP协议:DHCP是动态主机配置协议,用于自动分配IP地址和其他网络配置信息。

当计算机接入网络时,DHCP协议会自动分配一个可用的IP地址给该计算机。

8. SSL/TLS协议:SSL和TLS是安全套接层协议,用于在网络上进行安全通信。

它通过加密和身份认证来保护数据的传输安全。

9. ICMP协议:ICMP是Internet控制消息协议,用于在网络中传递一些控制和错误消息,例如网络不可达、主机不可达等。

10. ARP协议:ARP是地址解析协议,用于将IP地址解析为对应的物理MAC地址。

当计算机在局域网中需要发送数据时,会使用ARP协议来获取目标设备的MAC地址。

第3章 TCPIP协议

第3章 TCPIP协议

3.2 TCP/IP参考模型

超文本传输协议HTTP

用于Internet中的客户机与WWW服务器之间的数据传输;

文件传输协议FTP

实现主机之间的文件传送;

远程终端协议TELNET

本地主机作为仿真终端,登录到远程主机上运行应用程序;

动态主机配置协议DHCP

实现对主机的地址分配和配置工作。
给主机使用。
地址类型 网络地址 广播地址 网络号 主机号 网络号 全0 全1 全1 用途 标识一个网络 举例 202.117.179.0
在本地网络广播 255.255.255.255 在特定网络广播 202.117.179.255
直接广播地址 网络号 全1
本地网络地址 全0
环回地址 127
全0
任意
系统启动时使用 0.0.0.0
3.2 TCP/IP参考模型

2.网络互连层

网际协议IP (Internet Protocol)

对数据包进行相应的寻址和路由,并从一个网络转发到另一 个网络。 向上一层提供统一的IP数据报,屏蔽低层各物理数据帧的差 异性。


网际控制报文协议ICMP (Internet Control Message Protocol)
分配给一台主机可使用的有效C类IP地址范围
11000000 00000000 00000001 00000001 ~ 11011111 11111111 11111111 11111110 192. 0. 1. 1 223. 255. 255. 254
3.3 IP地址

二、 IP地址类型

IP地址的分类图

TCPIP

TCPIP

定义TCP/IP 是供已连接因特网的计算机进行通信的通信协议。

TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。

TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。

TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。

在私网中,它也被用作通信协议。

当你直接网络连接时,你的计算机应提供一个TCP/IP程序的副本,此时接收你所发送的信息的计算机也应有一个TCP/IP程序的副本。

TCP/IP是一个两层的程序。

高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。

这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。

低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。

网络上的网关计算机根据信息的地址来进行路由选择。

即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。

TCP/IP使用客户端/服务器模式进行通信。

TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。

TCP/IP与上层应用程序之间可以说是―没有国籍的‖,因为每个客户请求都被看做是与上一个请求无关的。

正是它们之间的―无国籍的‖释放了网络路径,才是每个人都可以连续不断的使用网络。

许多用户熟悉使用TCP/IP协议的高层应用协议。

包括万维网的超文本传输协议(HTTP),文件传输协议(FTP),远程网络访问协议(Teln et)和简单邮件传输协议(SMTP)。

这些协议通常和TCP/IP协议打包在一起。

使用模拟电话调制解调器连接网络的个人电脑通常是使用串行线路接口协议(SLIP)和点对点协议(P2P)。

这些协议压缩IP包后通过拨号电话线发送到对方的调制解调器中。

与TCP/IP协议相关的协议还包括用户数据报协议(UDP),它代替TCP/IP协议来达到特殊的目的。

TCPIP协议的作用和原理

TCPIP协议的作用和原理

TCPIP协议的作用和原理TCP/IP协议的作用和原理TCP/IP协议是互联网中最重要的协议之一,它定义了网络设备之间的通信规则和数据传输方式。

本文将详细介绍TCP/IP协议的作用和原理。

一、TCP/IP协议的作用TCP/IP协议是一个网络通信协议簇,它包含了TCP(传输控制协议)和IP(网际协议)两个主要协议,其作用主要有以下几个方面:1. 数据传输:TCP/IP协议定义了数据如何在计算机网络中进行传输。

通过TCP协议,数据可以在不同计算机之间可靠地传输,而IP协议则负责将数据包发送到目标计算机。

2. 网络寻址:TCP/IP协议使用IP地址来标识网络上的不同设备,每个设备都有唯一的IP地址。

IP地址可以分为IPv4和IPv6两种格式,其中IPv4地址由32位二进制数组成,IPv6地址由128位二进制数组成。

3. 数据分包和重组:TCP/IP协议可以将传输的数据分割成多个较小的数据包进行传输,并在目标设备上重新组装成完整的数据。

这样可以提高数据传输效率,并且在网络拥塞时可以更好地处理数据。

4. 数据确认和重传:TCP协议通过使用确认机制来确保数据的可靠传输。

发送方在发送数据包后,会等待接收方发送的确认消息,如果一定时间内没有收到确认消息,发送方会重新发送数据包。

5. 错误检测和纠正:TCP/IP协议采用校验和机制来检测数据在传输过程中的错误,并通过重新发送数据包来纠正错误。

这样可以保证数据的完整性和正确性。

二、TCP/IP协议的原理TCP/IP协议的核心原理是分层。

它将网络通信分为多个层次,每个层次都有不同的功能和责任,各层之间通过接口进行交互。

按照TCP/IP参考模型,整个协议簇被分为四个层次,分别是物理层、数据链路层、网络层和传输层。

1. 物理层:物理层主要负责将比特流传输到物理媒介上,如电缆、光纤等。

它定义了传输介质的特性和接口标准,以及传输速率和编码方式等。

2. 数据链路层:数据链路层通过物理地址(MAC地址)来标识网络设备,负责将数据帧从一个节点传输到相邻节点。

简述TCP-IP参考模型定义及各层的主要功能

简述TCP /IP参考模型定义及各层的主要功能定义:TCP是一种可靠的、面向连接、面向字节流的传输控制协议,IP是一种不可靠、无连接的数据传输服务协议,TCP/IP是Internet中重要的通信规则,是公认的Internet工业标准与事实上的Internet协议标准,它规定了计算机通信所使用的协议数据单元、格式、报头与相应的动作。

1.主机—网络层功能主机-网络层是TCP/IP参考模型的最底层,它负责发送和接收IP分组。

TCP/IP协议对主机-网络层并没有规定具体的协议,它采取开放的策略,允许使用广域网、局域网与城域网的各种协议。

任何一种流行的底层传输协议都可以与TCP/IP互联网络层接口。

这正体现了TCP/IP体系的开放性、兼容性的特点,也是TCP/IP成功应用的基础。

2.互联网络层功能TCP/IP参考模型互联网络层使用的是IP协议。

IP是一种不可靠、无连接的数据报传输服务协议,它提供的是一种“尽力而为”的服务。

互联网络层的协议数据单元是IP分组。

互联网络层的主要功能包括;1) 处理来自传输层的数据发送请求。

在接收到报文发送请求后,将传输层报文封装成IP分组,启动路由选择算法,选择适当的发送路径,并将分组转发到下一个节点2) 处理接收的分组。

在接收到其他节点发送的IP分组后,检查目的IP地址,如果目的地址为本节点的IP地址,则除去分组头,将分组数据交送传输层管理,如果需要转发,则通过路由选择算法为分组选择下一跳节点的发送路径,并转发分组3) 处理网络的路由选择、流量控制与拥塞控制3.传输层功能传输层是负责在会话进程之间建立和维护端-端连接,实现网络环境中分布式进程通信。

传输层定义两种不同的协议:传输控制协议(TCP)与用户数据报协议(UDP)TCP是一种可靠的、面向连接、面向字节流的传输层协议。

TCP提供比较完善的流量控制与拥塞控制的功能。

UDP是一种不可靠的、无连接的传输层协议。

4.应用层功能应用层是TCP/IP参考模型中的最高层。

TCPIP协议分析总结

第一章计算机网络基础1.协议是指在计算机网络中,为进行网络中的数据交换而建立的规则、标准或约定的集合,如交换数据的格式、编码方式、同步方式等。

协议定义了通信的方式和进行通信的时间,主要包括语法、语义和同步3个关键要素。

语法:定义了所交换数据的格式和结构,以及数据出现的顺序。

语义:定义了发送者或接受者所要完成的操作,包括对协议控制报文组成成分含义的约定。

同步:定义了事件实现顺序以及速度匹配。

体现在当两个实体进行通信时,数据发送的事件以及发送的速率。

2.OSI参考模型3.TCP/IP协议族Tcp表示传输控制协议,ip表示网际协议,tcp/ip实际上是一系列协议。

4.网络层也称为互联网层,由于该层的主要协议为IP,通常也简称为IP层。

该层主要负责相邻计算机之间的通信,把某主机(信源)上的数据包发送到因特网中的任何一台目标主机(信宿)上,即点到点通信。

其包括三方面功能。

处理来自传输层的数据报发送请求处理输入数据报处理路径、流控、拥塞等问题。

5.数据传输过程1.在信源上利用所需的应用层协议(FTP)将数据流传送给信源上的传输层。

2.在传输层将应用层的数据流截成若干分组,加上tcp首部生成tcp段,送交网络层。

3.网络层给tcp报文段封装上源、目的主机IP的ip首部生成ip数据报,送交链路层。

4.信源的链路层封装上源、主机mac帧的mac帧头和帧尾,根据目的mac地址,将mac帧发往中间路由器。

5.路由器根据目的ip地址进行选择传输路径,转发ip数据报。

6.数据传输到信宿,链路层去掉mac帧的mac帧头和帧尾,送交信宿的网络层。

7.信宿网络层检查ip数据报首部,如果与计算结果不一致则丢弃,一致则去掉ip首部送交信宿传输层。

8.传输层检查tcp报文段的顺序号,若正确,则向信源发送确认信息。

9.信宿传输层去掉tcp首部,将排好顺序的分组组成的应用数据流传给信宿上的相应程序。

6.客户机、服务器模式基本工作流程客户机程序首先发起连接请求,而服务器程序响应请求,通过确认与客户机程序建立通信连接。

TCP、IP 协议详解


3.2 四次挥手(重点) 四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户 端和服务端总共发送4个包以确认连接的断开。在socket编程中, 这一过程由客户端或服务端任一方执行close来触发。 由于TCP连接是全双工的,因此,每个方向都必须要单独进行关 闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止 这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流 动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发 送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行 主动关闭,而另一方则执行被动关闭。 下面来看看四次挥手的流程图:
通过端口号识别应用 1.2 通过 IP 地址、端口号、协议号进行通信识别 仅凭目标端口号识别某一个通信是远远不够的。
通过端口号、IP地址、协议号进行通信识别 ① 和② 的通信是在两台计算机上进行的。它们的目标端口号相 同,都是80。这里可以根据源端口号加以区分。 ③ 和 ① 的目标端口号和源端口号完全相同,但它们各自的源 IP 地址不同。 此外,当 IP 地址和端口号全都一样时,我们还可以通过协议号 来区分(TCP 和 UDP)。
3.1 三次握手(重点)
TCP 提供面向有连接的通信传输。面向有连接是指在数据通信 开始之前先做好两端之间的准备工作。 所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端 总共发送三个包以确认连接的建立。在socket编程中,这一过 程由客户端执行connect来触发。 下面来看看三次握手的流程图:
三次握手 第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J, 并将该数据包发送给服务器端,客户端进入SYN_SENT状态,等待 服务器端确认。 第二次握手:服务器端收到数据包后由标志位SYN=1知道客户端 请求建立连接,服务器端将标志位SYN和ACK都置为1,ack=J+1, 随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请 求,服务器端进入SYN_RCVD状态。 第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否 为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包 发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如 果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状 态,完成三次握手,随后客户端与服务器端之间可以开始传输数据 了。

Tcp ip 协议


二、 IP协议基础与定址
头部校验和:只校验头部。算法:所有16位累加, 再取补。 源地址、目标地址:各32位。 选项域:允许扩充。选项列表可查询: /assignments/ip-parameters。
二、 IP协议基础与定址
Copy Class Number Value Name Reference ---- ----- ------ ----- ------------------------------- --------0 0 0 0 EOOL - End of Options List [RFC791,JBP] 0 0 1 1 NOP - No Operation [RFC791,JBP] 1 0 2 130 SEC - Security [RFC1108] 1 0 3 131 LSR - Loose Source Route [RFC791,JBP] 0 2 4 68 TS - Time Stamp [RFC791,JBP] 1 0 5 133 E-SEC - Extended Security [RFC1108] 1 0 6 134 CIPSO - Commercial Security [???] 0 0 7 7 RR - Record Route [RFC791,JBP] 1 0 8 136 SID - Stream ID [RFC791,JBP] 1 0 9 137 SSR - Strict Source Route [RFC791,JBP] 0 0 10 10 ZSU - Experimental Measurement [ZSu]
二、 IP协议基础与定址
路由表的建立方式
一、TCP/IP协议集
传输层
又称为主机对主机层,基本任务是提供应用程序间 的通信,负责传输过程中的流量控制、错误处理、 数据重发等工作。 第一个协议是可靠面向连接的协议,即传输控制协 议(TCP)。 第二个协议是用户数据报协议(UDP),它提供无 连接的服务,无重发和纠错功能,不保障数据的可 靠传输。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 22 竭诚为您提供优质文档/双击可除

tcpip协议定义

篇一:tcpip协议格式 通过连接实例解读tcp/ip协议 最近狂补基础,猛看tcp/ip协议。不过,书上的东西太抽象了,没有什么数据实例,看了不久就忘了。于是,搬来一个sniffer,抓了数据包来看,呵呵,结合书里面得讲解,理解得比较快。我就来灌点基础知识。 开始吧,先介绍ip协议。 ip协议(internetprotocol)是网络层协议,用在因特网上,tcp,udp,icmp,igmp数据都是按照ip数据格式发送得。ip协议提供的是不可靠无连接得服务。ip数据包由一个头部和一个正文部分构成。正文主要是传输的数据,我们主要来理解头部数据,可以从其理解到ip协议。 ip数据包头部格式(RFc791) exampleinternetdatagramheader 上面的就是ip数据的头部格式,这里大概地介绍一下。

2 22 ip头部由20字节的固定长度和一个可选任意长度部分构成,以大段点机次序传送,从左到右。 tcp协议 tcp协议(tRansmissioncontRolpRotocol)是传输层协议,为应用层提供服务,和udp不同的是,tcp协议提供的可靠的面向连接的服务。在RFc793中是基本的tcp描述。关于tcp协议的头部格式内容的说明: tcpheaderFoRmat tcpheaderFoRmat 跟ip头部差不多,基本的长度也是20字节。tcp数据包是包含在一个ip数据报文中的。 好了,简单介绍到此为止。来看看我捕获的例子吧。这是一次Ftp的连接,呵呵,是cuteftp默认的cuteftp的Ftp站点,ip地址是:216.3.226.21。我的ip地址假设为:192.168.1.1。下面的数据就是tco/ip连接过程中的数据传输。我们可以分析tcp/ip协议数据格式以及tcp/ip连接的三次握手 (threeway-handshake)情况。下面的这些十六进制数据只是tcp/ip协议的数据,不是完整的网络通讯数据。 第一次,我向Ftp站点发送连接请求(我把tcp数据的可选部分去掉了) 192.168.1.1->216.3.226.21

3 22 ip头部:450000305252400080062c23c0a80101d803e215 tcp头部:0d280015505fa9060000000070024000c0290000 来看看ip头部的数据是些什么。 第一字节,“45”,其中“4”是ip协议的版本(Version),说明是ip4。“5”是ihl位,表示ip头部的长度,是一个4bit字段,最大就是1111了,值为12,ip头部的最大长度就是60字节。而这里为“5”,说明是20字节,这是标准的ip头部长度,头部报文中没有发送可选部分数据。 接下来的一个字节“00”是服务类型(typeofservice)。这个8bit字段由3bit的优先权子字段(现在已经被忽略),4bit的tos子字段以及1bit的未用字段(现在为0)构成.4bit的tos子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1bit位最多只能有一个为1,本例中都为0,表示是一般服务。 接着的两个字节“0030”是ip数据报文总长,包含头部以及数据,这里表示48字节。这48字节由20字节的ip头部以及28字节的tcp头构成(本来截取的tcp头应该是28字节的,其中8字节为可选部分,被我省去了)。因此目前最大的ip数据包长度是65535字节。 再是两个字节的标志位(identification):“5252”,转换为十进制就是21074。这个是让目的主机来判断新来的

4 22 分段属于哪个分组。 下一个字节“40”,转换为二进制就是“01000000”,其中第一位是ip协议目前没有用上的,为0。接着的是两个标志dF和mF。dF为1表示不要分段,mF 为1表示还有进一步的分段(本例为0)。然后的“00000”是分段便移(Fragmentoffset)。 “80”这个字节就是ttl(timetolive)了,表示一个ip数据流的生命周期,用ping显示的结果,能得到ttl的值,很多文章就说通过ttl位来判别主机类型。因为一般主机都有默认的ttl值,不同系统的默认值不一样。比如windows为128。不过,一般ping得到的都不是默认值,这是因为每次ip数据包经过一个路由器的时候ttl就减一,当减到0时,这个数据包就消亡了。这也时tracert的原理。本例中为“80”,转换为十进制就是128了,我用的win2000。 继续下来的是“06”,这个字节表示传输层的协议类型(protocol)。在RFc790中有定义,6表示传输层是tcp协议。 “2c23”这个16bit是头校验和(headerchecksum)。 接下来“c0a80101”,这个就是源地址(sourceaddress)了,也就是我的ip地址。 转换为十进制的ip地址就是:192.168.1.1,同样,继续下来的32位“d803e215”是目标地址,216.3.226.21

5 22 好了,真累啊,终于看完基本的20字节的ip数据报头了。继续看tcp的头部吧,这个是作为ip数据包的数据部分传输的。 tcp头部:0d280015505fa9060000000070024000c0290000 一来就是一个两字节段“0d28”,表示本地端口号,转换为十进制就是3368。第二个两字节段“0015”表示目标端口,因为我是连接Ftp站点,所以,这个就是21啦,十六进制当然就是“0015”。 接下来的四个字节“505fa906”是顺序号(sequencenumber),简写为seq, seq=1348446470下面的四个字节“00000000”是确认号(acknowledgmentnumber),简写为acknum。 继续两个字节,“7002”,转换为二进制吧,“0111000000000010”。这两个字节,总共16bit,有好多东西呢。第一个4bit“0111”,是tcp头长,十进制为7,表示28个字节(刚才说了,我省略了8字节的option数据,所以你只看见了20字节)。接着的6bit现在tcp协议没有用上,都为0。最后的6bit“000010”是六个重要的标志。这是两个计算机数据交流的信息标志。接收和发送断根据这些标志来确定信息流的种类。下面是一些介绍: uRg:(urgentpointerfieldsignificant)紧急指针。

6 22 用到的时候值为1,用来处理避免tcp数据流中断 ack:(acknowledgmentfieldsignificant)置1时表示确认号 (acknowledgmentnumber)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。 psh:(pushFunction),push标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。 Rst:(Resettheconnection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到Rst位时候,通常发生了某些错误。 syn:(synchronizesequencenumbers)用来建立连接,在连接请求中,syn=1,ack=0,连接响应时,syn=1,ack=1。即,syn和ack来区分connectionRequest和connectionaccepted。 Fin:(nomoredatafromsender)用来释放连接,表明发送方已经没有数据发送了。 这6个标志位,你们自己对号入座吧。本例中syn=1,ack=0,当然就是表示连接请求了。我们可以注意下面两个过程的这两位的变换。 后面的“4000c0290000”不讲了,呵呵,偷懒了。后面两次通讯的数据,自己分开看吧。我们看看连接的过程,一

7 22 些重要地方的变化。 第二次,Ftp站点返回一个可以连接的信号。 216.3.226.21->192.168.1.1 ip头部:4500002cc6be40006a06cdbad803e215c0a80101 tcp头部:00150d284b4f45c1505fa9076012205864070000 第三次,我确认连接。tcp连接建立起来。 192.168.1.1->216.3.226.21 ip头部:450000285253400080062c2ac0a80101d803e215 tcp头部:0d280015505fa9074b4f45c2501040b05b1c0000 好,我们看看整个threeway_handshake过程。 第一步,我发出连接请求,tcp数据为:seq=505fa906,acknum=00000000,syn=1,ack=0。 第二步,对方确认可以连接,tcp数据为:seq=4b4f45c1,acknum=505fa907,syn=1,ack=1。 第三步,我确认建立连接。seq=505fa907,acknum=4b4f45c2,syn=0,ack=1。 可以看出什么变化么?正式建立连接了呢,这些东西是什么值? 我接收从216.3.226.21->192.168.1.1的下一个数据包中:

相关文档
最新文档