TCPIP协议中数据封装及层次功能.docx

上传人:b****6 文档编号:5071619 上传时间:2022-12-13 格式:DOCX 页数:30 大小:32.79KB
下载 相关 举报
TCPIP协议中数据封装及层次功能.docx_第1页
第1页 / 共30页
TCPIP协议中数据封装及层次功能.docx_第2页
第2页 / 共30页
TCPIP协议中数据封装及层次功能.docx_第3页
第3页 / 共30页
TCPIP协议中数据封装及层次功能.docx_第4页
第4页 / 共30页
TCPIP协议中数据封装及层次功能.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

TCPIP协议中数据封装及层次功能.docx

《TCPIP协议中数据封装及层次功能.docx》由会员分享,可在线阅读,更多相关《TCPIP协议中数据封装及层次功能.docx(30页珍藏版)》请在冰豆网上搜索。

TCPIP协议中数据封装及层次功能.docx

TCPIP协议中数据封装及层次功能

贵州民族学院计算机信息工程学院毕业论文设计

 

TCP/IP

 

协议中数据封装及层次功能

倪顺

摘要:

计算机网络技术的迅猛发展和广泛应用,基于TCP/IP协议族的Internet在网络技术中的重要地

位,所以深入了解TCP/IP协议族中各协议的结构、工作原理和功能是掌握计算机网络的基础。

本文简

单介绍了协议族的结构层次及每层封装格式,每层封装的作用和功能,每层协议的帧格式是深入了解协

议族的入口,将协议帧格式和功能深入理解有助于对计算机网络的学习和应用。

关键字:

协议信息数据报数据包bit封装帧

ThedatapackintheTCP/IPagreementandlayerfunction

NiShun

abstract:

Calculatornetworktechniqueoffastfiercedevelopmentwithextensive

application,accordingtoTCP/IPagreementclanoftheInternetisinthenetwork

techniqueofimportanceposition,sothoroughunderstandingTCP/IPagreementeach

structurefornegotiateinclan,workprincipleandfunctionbethefoundationwhichcontrolacalculatornetwork.Thistextwassimpleintroductionagreement

clanofstructurelayerandeachpackaformat,eachpackoffunctionandfunction,

eachagreementofformatisthoroughunderstandingagreementclanofentrance,willagreementformatandfunctionthoroughcomprehensioncontributetostudyingcalculatornetworkandapplication.

Keyword:

procotolmessagedatapackpacketbitfunctionframe

贵州民族学院计算机信息工程学院毕业论文设计

 

前言3

第一章协议层次3

第二章数据封装4

第一节数据封装4

第二节TCP/IP协议链路层数据封装7

第三章IP网际协议8

第一节IP首部8

第二节IP地址划分和子网掩码9

第四章TCP/UDP10

第一节UDP10

第二节TCP10

第五章ICMPInternet控制报文协议和IGMPInternet组管理协议12

第一节ICMP12

第二节IGMP13

第六章ARPRARP协议14

第一节ARP14

第二节RARP15

第七章应用层协议15

第一节SNMP简单网络管理协议15

第二节FTP文件传输协议15

第三节SMTP简单邮件传输协议15

致谢16

参考文献:

17

贵州民族学院计算机信息工程学院毕业论文设计

 

前言

现在不同生产厂商生产的不同型号的计算机,它们运行完全不同的操作系统,但是TCP/IP协议族能让它们相互连接进行通信。

在这一点上,它的作用已远远超出了起初的设想,到90年代已发展成为计

算机之间最常用的组网形式,也因为它是一个开放系统,协议族的定义及其多种实现可以很轻松的公开得到。

协议族被称作“全球互联网”或者“因特网”的基础。

第一章协议层次

 

图1-1协议分层

 

1.

网络协议通常分不同的层次,每一层分别负责不同的通信功能,

TCP/IP协议族是一组不同层次

上的多个协议的组合,它通常被分成四个层次:

链路层、网络层、运输层、应用层,各自负责不同

的功能。

2.

链路层,也被称作数据链路层或者网络接口层,

通常包括操作系统中的网络连接设备的驱动程序和

计算机中应对的网络接口卡,它们一起处理与传输媒介的物理接口细节。

3.

网络层,也被称作互联网层,处理分组在网络中的活动,例如分组的路由选择。

TCP/IP协议族

中,网络层协议包括IP协议(网际协议),ICMP(Internet互联网控制报文协议

),以及IGMP协议

(Internet组管理协议)。

4.运输层主要为两台主机上的应用程序提供端到端的通信。

在TCP/IP协议族中,有两个互不相同的

传输协议:

TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供面向连接的高可靠性的数据通信,它的工作包括把应用程序交给它的数据分

成合适数据报交给下层的网络层,确认收到的分组,设置发送最后确认分组的超时时钟等,由于运

输层提供了高可靠性的数据通信,因此应用层可以忽略所有细节。

UDP则为应用层提供一种非常简单的服务,它只是把数据报的分组从一台主机发送到另一台主机,

但并不保证该数据报能到达另一端,任何必需的可靠性必须有应用层来提供供

.

5.应用层负责处理特定的应用程序细节,几乎所有的TCP/IP实现都会提供下面这些通用的应用程序:

Telnet远程登陆、FTP文件传输协议、SMTP简单邮件传送协议、SNMP简单网络管理协议。

贵州民族学院计算机信息工程学院毕业论文设计

 

图1-2TCP/IP协议族中不同层次的协议

 

第二章数据封装

第一节数据封装

当应用程序用TCP传送数据时,数据被送入协议栈中,

送入网络。

其中每一层对收到的数据都要增加一些首部信息。

 

然后逐个通过每一层直到被当作一串比特流

TCP传给IP数据单元称作TCP报文段。

IP

传给网络接口层的数据单元称作

IP数据报(IPdatagram)。

通过以太网传输的比特流称作帧

(Frame)。

贵州民族学院计算机信息工程学院毕业论文设计

 

图2-1数据封装过程

图中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。

以太网数据帧的物理特性是其长度

必须在46-1500字节之间。

图1-3中IP和网络接口层之间传送的数据单元应该是分组(packet)。

分组

既可以是一个IP数据报,也可以是IP数据报的一个片(fragment)。

在传输层数据包称作段(segent),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。

据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给

应用程序处理。

由于TCP,UDP,ICMP,IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入标识,以

表明数据属于哪一层。

为此,IP在首部中存入一个8bit的数值,称作协议域。

其中1标识ICMP协议,

2标识IGMP协议,6标识为TCP协议,17标识为UDP协议。

同样,应用程序都可以使用TCP或UDP来传送数据。

运输层协议在生成报文首部时要存入一个应

用程序的标识符,TCP和UDP都用一个16bit的端口号来表示不同的应用程序,它们把源端口号和目

的端口号分别存入报文首部中。

网络层接口分别要发送和接收IP,ARP和RARP数据,因此也必须在以太网的帧首部中加入标识符,

以指明生成数据的网络层协议。

以太网的帧首部也有一个16bit的帧类型域。

 

第二节:

TCP/IP协议链路层数据封装

从图1-2中可以看出,在TCP/IP协议族中,链路层主要有三个目的:

(1)为IP模块发送和

接收IP数据报;

(2)为ARP模块发送ARP请求和接收ARP应答;(3)为RARP发送RARP请

求和接收RARP应答。

TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件。

2.1:

以太网和IEEE802封装

在TCP/IP协议中,以太网IP数据报的封装是在RFC894[Hornig1984]中定义的,IEEE802网络的数

据报封装在RFC1042[PostelandReynolds1988]中定义。

1.必须能发送和接收采用RFC894(以太网)封装格式的分组。

贵州民族学院计算机信息工程学院毕业论文设计

 

2.应该能接收与RFC894混合的RFC1042(IEEE802)封装格式的分组。

3.也许能够发送采用RFC1042封装的分组,如果主机能够同时发送两种类型的分组数据,那么发送

的分组必须是可以设置的,而且默认条件下必须是RFC894分组。

 

图2-2IEEE802.2/802.3(RFC1042)和以太网的封装格式(RFC894)

以上为两种不同形式的封装格式,两种帧格式都采用

48bit(6字节)的目的地址和源地址(

802.3允许

使用16bit的地址,但是一般是48bit地址),这就是硬件地址。

ARP和RARP协议对32bit的IP地址

和48bit的硬件地址进行映射。

后面的两字节在两种帧格式中互不相同,

在802标准定义的帧格式中,

长度字段是指它后续数据的字节

长度,但不包括CRC检验码。

以太网的类型字段定义了后续数据的类型。

在502标准定义的帧格式中,

类型字段则由后续的子网接入协议(

Sub-networkAccessProtocol,SNAP)的首部给出,

802定义的有

效长度值与以太网的有效类型值无一相同,这样就区分看两种帧格式。

在以太网帧格式中,数据字段之后就是数据,而在

802帧格式中,跟随在后面的是

3字节的802.2LLC

和5字节的802.2SNAP。

目的服务访问点(DestinationService

AccessPointDSAP)和源服务访问点

贵州民族学院计算机信息工程学院毕业论文设计

 

(SourceServiceAccessPointSSAP)的值都设为0xaa。

Ctrl

为0。

再接下来的2字节类型字段和以太网帧格式一样。

 

字段的值设为

 

3.随后三个字节

 

orgcode都置

CRC字段用于帧内后续字节差错的循环冗余码检验(检验和),802.3标准定义的帧和以太网帧格式都

最小长度要求,802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少要有46字节,为

保证这点,必须在不足的空间插入填充(pad)字节。

 

2.2SLIP

 

串行线路

 

IP

SLIP的全称是SerialLineIP。

它是一种在串行线路上对IP数据报进行封装的简单形式,在

RFC1055[Romkey1988]中的详细描述,SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和

高速调制解调器接入Internet。

SLIP协议的帧格式:

1.IP数据报以一个称作END(0xc0)的特殊字符结束,同时,为了防止数据报到来之前的线路噪声,那么END字符将结束这份错误的报文,这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃。

2.

如果IP报文中某个字符为

END,那么就要连续传输两个字节

0xdb和0xdc来取代它,0xdb这个特

殊字符被称作SLIP的ESC字符,但是它的值与ASCII码的ESC字符(0x1b)不同。

3.

如果IP报文中某个字符为

SLIP的ESC字符,那么就要连续传输两个字节

0xdb和0xdd来取代它。

下图为一个含有一个END字符和一个ESC字符的IP报文:

 

 

2-3SLIP

 

报文的封装

由于串行线路的速率通常较低而且通信经常是交互式的,交换。

于是人们提出了一个被称作CSLIP即压缩SLIP缩到3或5个字节,它能在CSLIP的每一端维持多达

因此在SLIP线路上有许多小的TCP分组进行

的新协议。

CSLIP一般能把上面的40个字节压

16个TCP连接,并且知道其中连接的每个首部

中某些被压缩的首部大大地缩短了交互响应时间。

 

2.3:

PPP点对点协议

PPP,点对点协议修改了SLIP协议中所有缺陷:

1.在串行链路上封装IP数据报的方法,PPP既支持数据为8位和无奇偶检验的异步模式,还支持面向

比特的同步链接。

2.建立、配置及测试数据链路的链路控制协议(LCP:

LinkControlProtocol)。

它允许通信双方进行协商,以确定不同的选项。

3.针对不同网络层协议的网络控制协议(NCPNetworkControlProtocol)体系,当前RFC定义的网络层有IP、OSI网络层、DECnet以及AppleTalk。

RFC1548[Simpson1993]描述了报文封装的方法和数据控制协议。

下图为PPP数据帧的格式:

贵州民族学院计算机信息工程学院毕业论文设计

 

 

2-4

 

PPP数据帧封装格式

 

接下来是协议字段,类似与以太网中类型字段的功能,当它的值为0x0021时,表示信息字段是一个IP

数据报,值为0xc021时,它表示信息字段是链路控制数据,它的值为0x8021时,表示信息字段是网络

控制数据。

CRC字段是一个循环冗余检验码,以检测数据帧中的错误。

由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。

在同步链路

中,该过程是通过一种称作比特填充(bitstuffing)的硬件技术来完成的,在异步链路中,特殊字符0x7d

用作转义字符,当它出现在PPP数据帧中时,那么紧接着的字符的第6比特要取其补码。

 

第三章IP网际协议

第一节IP首部

IP是TCP/IP协议族中最为核心的协议,所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输。

IP数据报的首部格式如图所示:

 

 

3-1

 

IP

 

数据报首部格式

 

图中的首部,最高位在左边,记为0bit;最低位在右边,记为四个字节的32bit值以下面的次序传输:

首先是0~7bit,其次

 

31bit。

8~15bit,然后

 

16~31bit,最后是

 

24~31bit。

贵州民族学院计算机信息工程学院毕业论文设计

 

这种传输次序称作bigendian字节序。

由于TCP/IP首部种所有的二进制整数在网络中传输时都要求以

这种次序,因此它被称作网络字节序。

以其他形式存储二进制整数的机器,如littleendian格式,则必

须在传输数据之前把首部转换成网络字节序。

目前的协议版本号是4,因此IP有时也称作Ipv4。

首部长度指的是首部占32bit字的数目,包括任何选项。

由于它是4比特字段,因此首部长度最长为60

个字节。

服务类型(TOS)字段包括一个3bit的优先权子字段,4bit的TOS子字段和1bit未用位必须设置0。

4bit

的TOS代表:

最小时延、最大吞吐量、最高可靠性和最小费用。

4bit中只能置其中1bit。

如果4bit均

为0,那么意味着一般服务。

RFC1340【ReynoldsandPostel1992】描述了所有的标准应用如何设置这些服务类型。

总长度字段是指整个IP数据报的长度,以字节为单位。

利用首部长度字段和总长度字段,有可以知道

IP数据报中数据内容的起始位置和长度。

由于该字段长

16bit,所以IP数据报最长可达

65535字节。

数据报被分片时,该字段的值也随着变化。

总长度字段是

IP首部中必要的内容,因为一些数据链路需

要填充一些数据以达到最小长度。

尽管以太网的最小帧长为

46字节,但是IP数据可能会更短。

标志字段中有一个比特称作“不分片”位,如果将这一比特置为

1,IP将不对数据报进行分片。

相反把

数据报丢弃并发送一个

ICMP差错报文给起始端。

标识字段唯一地标识主机发送的每一份数据报,通常每发一份报文它的值就会加

1。

片偏移字段指的是该片偏移原始数据报开始处的位置。

TTL(time-to-time)生存时间字段设置了数据报可以经过的最多路由器数。

它指定了数据报的生存时间,

TTL的初始值由源主机设置,一旦经过一个处理它的路由器,它的值就减去

1.当该字段的值为0

时,

数据报就被丢弃,并发送

ICMP报文通知源主机。

协议字段,根据它可以识别是哪个协议向

IP传送数据。

首部检验和字段是根据

IP首部计算的检验和码,它不对首部后面的数据进行计算。

为了计算一份数据

报的IP检验和,首先把检验和字段置为

0,然后,对首部中每个

16bit进行二进制反码求和,结果存在

检验和字段中。

当收到一份IP数据报后,同样对首部中每个

16bit进行二进制反码的求和。

由于接收方

在计算过程中包含了发送方存在首部中的检验和,

因此,如果首部在传输过程中没有发生任何差错,

么接收方计算的结果为全

1.如果不为全

1(即检验和错误),那么

IP就丢弃收到的数据报。

但是不生

成差错报文,由上层发现丢失的数据报并进行重传。

每一份IP数据报都含源

IP和目的IP地址,她们都是

32bit的值,来定义数据报的目的和源头。

最后一个字段是任选项,

是数据报中的一个可变长的可选信息。

目前定义如下:

安全和处理限制、

记录

路径、时间时间戳、宽松的源站选路、严格的源站选路。

第二节

IP地址划分和子网掩码

为了便于寻找和层次的构造网络,

IP地址被分为A、B、C、D、E五类,目前商业应用中只有

A、

B、C三类。

A类地址:

A类地址的网络标识由第一组

8位二进制数表示,网络中的主机标识占

3组8位二进制,A

类地址的特点是网络标识的第一位二进制数值必须为

0。

也就是说A类地址允许有

126个网段,每个网

络大约允许1670万台主机,通常分配给拥有大量主机的网络。

IP地址范围:

1.0.0.1-127.255.255.254

B类地址:

B类地址的网络标识由前两组

8位二进制数表示,网络中的主机标识占两组

8位二进制数,

B类地址的特点是网络标识的前两位二进制数必须位

10。

B类地址允许有

16384个网段,每个网络允

许有65533台主机,适用于结点比较多的网络。

IP地址范围:

128.1.0.1-191.255.255.254

C类地址:

C类地址的网络标识由前

3组8位二进制数表示,网络中主机标识占

1组8位二进制数,C

类地址的特点是网络标识的前

3位二进制数取值必须为

110。

具有C类地址的网络允许有

254台主机,

适用于结点比较少的网络。

IP

地址范围:

192.0.1.1-223.255.255.255

贵州民族学院计算机信息工程学院毕业论文设计

 

任何网络设备都需要设定

IP地址,而且还要设置子网掩码,子网掩码的目的是有

IP地址中也能获得网

络编码,也就是说IP地址和子网掩码和得到网络编码。

A类网络:

1.0.0.0-126.255.255.255

子网掩码:

255.0.0.0

B类网络:

128.0.0.0-191.255.255.255

子网掩码:

255.255.0.0

C类网络:

192.0.0.0-223.255.255.255

子网掩码:

255.255.255.0

子网掩码也可以用来划分子网,将一个网络划分成若干子网,每个子网的区分都靠子网掩码。

第四章TCP/UDP

第一节UDP无连接不可靠协议

由于IP层已经把IP数据报分配给TCP或者UDP,因此TCP端口号由TCP来查看,UDP端口号由

UDP来查看。

TCP端口号与UDP端口号是相互独立的。

UDP是一个简单的面向数据报的运输层协议:

进程的每个输出操作都正好产生一个UDP数据报,并组

装成一个待发送的IP数据报。

UDP数据报封装成一份IP数据报的格式:

 

图4-1UDP封装

 

UDP不提供可靠性:

它把应用程序传送给IP层的数据发送出去,但是并不保证它们能到达目的地,由

于缺乏可靠性,就产生了种可靠协议TCP。

 

图4-2UDP首部

 

UDP首部各字段:

端口号表示发送进程和接收进程。

UDP长度字段指的是UDP首部和UDP数据的字节长度,该字节的最小值为8字节(发送一份0字节

的UDP数据报是OK)。

这个UDP长度是有冗余的。

IP数据报长度指的是数据报全长,因此UDP数

据报长度是全长减去IP首部的长度。

UDP检验和:

UDP检验和覆盖UDP首部和UDP数据,首先,UDP数据报的长度可以为奇数字节,但

是检验和算法是把若干个16bit字相加。

其次,UDP数据报和TCP段都包含一个12字节的伪首部,它是为了计算检验和而设置的。

 

第二节TCP面向连接的可靠协议

贵州民族学院计算机信息工程学院毕业论文设计

 

TCP向应用层提供与UDP完全不同的服务,TCP提供一种面向

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1