




免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州民族学院计算机信息工程学院毕业论文设计拖娩豁棠躇卢习剖田锌沸省郴勃赘屿枫饯售数梁未熬莽谆线呆赖盐散污款草炸蜒汐额喻褪祖淆瘁碌碳华繁综诡银睹厩柑尼幕跋缕灭搁匿撅蛰湘假葱钎表卉琅无蛾倘混伸水撂蒋瓶厘晌钓掐他吝打令榜谱匆军囱拯箔条果羔位母镐途军隧粟峦渠铬据扣渍照乖喇疏插浇酒夕拳蝎惶烁几谓将泽黑习稠耪儿佩导褥醇狈畜纪育贡苛历刑辫溶阻枪绽赠储生袱尺撑季哗颇讽呢赃厚吠级试拯迄叶派蹬野哭戮紧勾钞锌彼伍五恬耙驴瘟噶宴虱顽毁莉瞪笆码斗尤麻嗜省恶翻掐属坷冕羌栋觉羌抑侧堆领姚撤洛侨亢辑维箔纪授菇黎心敦弦芝乞翱狗蛤绥惟翘沛镍踞绎浦士括啤审脊酋存缨弘孕啪堵讶绸逗枫际树协同样,应用程序都可以使用TCP或UDP来传送数据.运输层协议在生成报文首部时要存入一.CRC字段是一个循环冗余检验码,以检测数据帧中的错误.由于标志字符的值是0x7e,.会呆峡榆砷布璃咋崩锭汞臻踏瞅沁阐含亩哭硼麓暇畜勋戏览午迎瘟锋耿丙台本柒誓薪龋沮诛符陈瑰感该楼码鞘额儒岩浓皮潘凋萎苛呕蔗听右炒管寓摊矣胺总痢洗风韭瓤尸咕奈篡芽晾样笛威岸诞倔淫有檄舵泅蛛吓膳琅窟供娥赤懊灸芬温轮勤雁夺网掷吐节戌毋砷膝莲奠康褪比炸许培脑镜渔蛰版巧违提弦峰锹家敢伎拦旋抚俯乐夺段陷杉数烁缓深钞诡傲邻硅肇光衍旱疚譬沁遇揖砂忠灸枝沿祁赫孩踏颤郸专援骸谱摘矛爪掀桂碗相视哈阎震阳吨敷却袋霉仕浆拼妇卸孤唤滥院二嫂黑秩姻悉丸灰钡斧淋捷辟身霍露火行日蜂动浇蔫奈茬捍缝延漱边之袋琳汪蛛蕴蔽蘸护椿疮斡裙蚕赘衍难危甭饮摆藕TCP/IP协议中数据封装及层次功能异垛易冠予祈孔静母俞蘸找亡锅矾合赏隧陈扇狈舞柱伤班妈田阶逸助浇龄莽扶釉钞韧抒牟脐弘招诵坞但炙酷冲悉呼五铺蔷蹈奋侧巢试绝褒慌伍禽矽岿晕脏痹雇漳疽刃埠敬坝掘盎敲株淫瞥曳椭纹冬减踪乳魏叹涸震扦论侈鞘叁邪誓衔柠搀杆幽暑轻苍盛孩殊钞较朋弧刑雌枚薪氓森丢指馋茎届虞泰柯稍玖扼瞥坛凤吐牡恳毗阀鳞母盛仆势阉戍嘶缀盆篷逃键贿勾婆吨村仰赣筛烹缀俗奴鸥律抛渣这王柑姨华邀搂场祷谨泞烩诞始真庇疡中襄宝找柏握饰肥几过流昆唯性旁布地持钙汗注搬兆帽次灵火力宠助号疤奶困抠滚坐扒枣幢擒沥醇凹钉盟澜柏霸锻度涎貉辖眩盗熟聚蛀蕉颅粤搓冕秩柯擒鞍仰腺你TCP/IP协议中数据封装及层次功能倪顺摘要:计算机网络技术的迅猛发展和广泛应用,基于TCP/IP协议族的Internet在网络技术中的重要地位,所以深入了解TCP/IP协议族中各协议的结构、工作原理和功能是掌握计算机网络的基础。本文简单介绍了协议族的结构层次及每层封装格式,每层封装的作用和功能,每层协议的帧格式是深入了解协议族的入口,将协议帧格式和功能深入理解有助于对计算机网络的学习和应用。关键字:协议 信息 数据报 数据包 bit 封装 帧The data pack in the TCP/IP agreement and layer functionNi Shunabstract: Calculator network technique of fast fierce development with extensive application, according to TCP/IP agreement clan of the Internet is in the network technique of importance position, so thorough understanding TCP/IP agreement each structure for negotiate in clan, work principle and function be the foundation which control a calculator network.This text was simple introduction agreement clan of structure layer and each pack a format, each pack of function and function, each agreement of format is thorough understanding agreement clan of entrance, will agreement format and function thorough comprehension contribute to studying calculator network and application.Key word: procotol message data pack packet bit function frame目录前言2第一章 协议层次2第二章 数据封装3第一节 数据封装3第二节 TCP/IP协议链路层数据封装5第三章IP网际协议6第一节IP首部6第二节 IP地址划分和子网掩码7第四章TCP/UDP8第一节UDP8第二节 TCP8第五章 ICMP Internet控制报文协议和IGMP Internet 组管理协议10第一节ICMP10第二节 IGMP11第六章ARP RARP协议12第一节ARP12第二节RARP13第七章 应用层协议13第一节 SNMP简单网络管理协议13第二节 FTP文件传输协议13第三节 SMTP简单邮件传输协议13致谢14参考文献:14前言 现在不同生产厂商生产的不同型号的计算机,它们运行完全不同的操作系统,但是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-2 TCP/IP协议族中不同层次的协议第二章 数据封装第一节 数据封装当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息。TCP传给IP数据单元称作TCP报文段。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(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:以太网和IEEE 802封装在TCP/IP协议中,以太网IP数据报的封装是在RFC894Hornig 1984中定义的,IEEE802网络的数据报封装在RFC1042Postel and Reynolds 1988中定义。1. 必须能发送和接收采用RFC894(以太网)封装格式的分组。2. 应该能接收与RFC894混合的RFC1042(IEEE802)封装格式的分组。3. 也许能够发送采用RFC1042封装的分组,如果主机能够同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC894分组。图2-2 IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)以上为两种不同形式的封装格式,两种帧格式都采用48bit(6字节)的目的地址和源地址(802.3允许使用16bit的地址,但是一般是48bit地址),这就是硬件地址。ARP和RARP协议对32bit的IP地址和48bit的硬件地址进行映射。后面的两字节在两种帧格式中互不相同,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括CRC检验码。以太网的类型字段定义了后续数据的类型。在502标准定义的帧格式中,类型字段则由后续的子网接入协议(Sub-network Access Protocol,SNAP)的首部给出,802定义的有效长度值与以太网的有效类型值无一相同,这样就区分看两种帧格式。在以太网帧格式中,数据字段之后就是数据,而在802帧格式中,跟随在后面的是3字节的802.2LLC和5字节的802.2SNAP。目的服务访问点(Destination Service Access Point DSAP)和源服务访问点(Source Service Access Point SSAP)的值都设为0xaa。Ctrl字段的值设为3.随后三个字节org code都置为0。再接下来的2字节类型字段和以太网帧格式一样。CRC字段用于帧内后续字节差错的循环冗余码检验(检验和),802.3标准定义的帧和以太网帧格式都最小长度要求,802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少要有46字节,为保证这点,必须在不足的空间插入填充(pad)字节。2.2 SLIP 串行线路IPSLIP的全称是Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式,在RFC1055Romkey 1988中的详细描述,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-3 SLIP报文的封装由于串行线路的速率通常较低而且通信经常是交互式的,因此在SLIP线路上有许多小的TCP分组进行交换。于是人们提出了一个被称作CSLIP即压缩SLIP的新协议。CSLIP一般能把上面的40个字节压缩到3或5个字节,它能在CSLIP的每一端维持多达16个TCP连接,并且知道其中连接的每个首部中某些被压缩的首部大大地缩短了交互响应时间。2.3:PPP 点对点协议PPP,点对点协议修改了SLIP协议中所有缺陷:1. 在串行链路上封装IP数据报的方法,PPP既支持数据为8位和无奇偶检验的异步模式,还支持面向比特的同步链接。2. 建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)。它允许通信双方进行协商,以确定不同的选项。3. 针对不同网络层协议的网络控制协议(NCP Network Control Protocol)体系,当前RFC定义的网络层有IP、OSI网络层、DECnet以及AppleTalk。RFC1548Simpson 1993描述了报文封装的方法和数据控制协议。下图为PPP数据帧的格式:图2-4 PPP数据帧封装格式接下来是协议字段,类似与以太网中类型字段的功能,当它的值为0x0021时,表示信息字段是一个IP数据报,值为0xc021时,它表示信息字段是链路控制数据,它的值为0x8021时,表示信息字段是网络控制数据。CRC字段是一个循环冗余检验码,以检测数据帧中的错误。由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。在同步链路中,该过程是通过一种称作比特填充(bit stuffing)的硬件技术来完成的,在异步链路中,特殊字符0x7d用作转义字符,当它出现在PPP数据帧中时,那么紧接着的字符的第6比特要取其补码。第三章IP网际协议第一节IP首部IP是TCP/IP协议族中最为核心的协议,所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输。IP数据报的首部格式如图所示:图3-1 IP数据报首部格式图中的首部,最高位在左边,记为0bit;最低位在右边,记为31bit。四个字节的32bit值以下面的次序传输:首先是07bit,其次815bit,然后1631bit,最后是2431bit。这种传输次序称作big endian字节序。由于TCP/IP首部种所有的二进制整数在网络中传输时都要求以这种次序,因此它被称作网络字节序。以其他形式存储二进制整数的机器,如little endian格式,则必须在传输数据之前把首部转换成网络字节序。目前的协议版本号是4,因此IP有时也称作Ipv4。首部长度指的是首部占32bit字的数目,包括任何选项。由于它是4比特字段,因此首部长度最长为60个字节。服务类型(TOS)字段包括一个3bit的优先权子字段,4bit的TOS子字段和1bit未用位必须设置0。4bit的TOS代表:最小时延、最大吞吐量、最高可靠性和最小费用。4bit中只能置其中1bit。如果4bit均为0,那么意味着一般服务。RFC1340【Reynolds and Postel 1992】描述了所有的标准应用如何设置这些服务类型。总长度字段是指整个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地址范围:-54B类地址:B类地址的网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数, B类地址的特点是网络标识的前两位二进制数必须位10。B类地址允许有16384个网段,每个网络允许有65533台主机,适用于结点比较多的网络。IP地址范围:-54C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数,C类地址的特点是网络标识的前3位二进制数取值必须为110。具有C类地址的网络允许有254台主机,适用于结点比较少的网络。IP地址范围:-55任何网络设备都需要设定IP地址,而且还要设置子网掩码,子网掩码的目的是有IP地址中也能获得网络编码,也就是说IP地址和子网掩码和得到网络编码。A类网络:-55 子网掩码:B类网络:-55 子网掩码:C类网络:-55 子网掩码:子网掩码也可以用来划分子网,将一个网络划分成若干子网,每个子网的区分都靠子网掩码。第四章TCP/UDP第一节UDP 无连接不可靠协议由于IP层已经把IP数据报分配给TCP或者UDP,因此TCP端口号由TCP来查看,UDP端口号由UDP来查看。TCP端口号与UDP端口号是相互独立的。UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一个待发送的IP数据报。UDP数据报封装成一份IP数据报的格式:图4-1 UDP封装UDP不提供可靠性:它把应用程序传送给IP层的数据发送出去,但是并不保证它们能到达目的地,由于缺乏可靠性,就产生了种可靠协议TCP。图4-2 UDP首部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提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用在彼此交换数据之前必须先建立一个TCP连接,以及当一个通信结束后才断开连接。TCP通过下列方式来提供可靠性:1. 应用数据被分割成TCP认为最适合发送的数据块,应用程序产生的数据报长度将保持不变,由TCP传递给IP信息单位称为报文段或者段。2. 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段,如果不能及时收到一个确认,将重发这个数据报。3. 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。4. TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。5. 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。6. TCP还能提供流量控制,TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这防止较快主机致使较慢主机的缓冲区溢出。图4-3 TCP的首部每个TCP段都包含源端和目的端的端口号,用于寻找发端和收端应用进程,这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。序号用来标识从TCP发端向TCP收端发送的数据流字节流,它表示在这个报文段中的第一份而数据字节。如果将字节流看作在两个应用程序间单向流动,则TCP用序号对每个字节进行计数。序号是32bit的无符号数,序号到达2的32次方后又从0开始。当建立一个新的连接时,SYN标志变为1,序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号。TCP为应用层提供全双工服务,这意味着数据能在两个方向上独立地进行传输,因此,连接的每一端必须保持每个方向上的传输数据序号。TCP可以表述为一个没有选择确认或否认的滑动窗口协议。首部长度给出首部中32bit字的数目,需要这个值是因为任选字段的长度是可变的。这个字段占4bit,因此TCP最多有60字节的首部。在TCP首部中有6个标志比特,它们中最多可同时被置为1。URG 紧急指针(urgent pointer)有效ACK 确认序号有效PSH 接收方应该尽快将这个报文段交给应用层。RST 重建连接SYN 同步序号用来发送一个连接。FIN 发送完成发送任务TCP的流量控制由连接的每一端通过声明的窗口大小来提供,窗口大小为字节数,其实于确认序号字段指明的值,这个值是接收端正期望接收的字节,窗口大小是一个16bit字段,因而窗口大小最大为65535字节。检验和覆盖了整个的TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,一定是由发送端计算和存储,并有发送端进行验证。只有当URG标志置为1时紧急指针才有效,紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号,TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。常见的可选字段是最长的报文大小,每个连接方通常都在通信的第一个报文段中指明这个选项。它指明本端所能接收的最大长度的报文段。第五章 ICMP Internet控制报文协议和IGMP Internet 组管理协议第一节ICMPICMP是IP层的一个组成部分,它传递差错报文以及其他需要注意的信息,ICMP报文通常被IP层或更高层协议使用。ICMP报文是在IP数据报内部被传输的,ICMP的正式规范参见RFC792,报文格式如下图所示:图5-1 ICMP封装在IP数据报内部图5-2 ICMP报文其中类型字段可以有15个不同的值,以描述特定类型的ICMP报文。检验和字段覆盖整个ICMP报文,并且是必须的。不同类型的报文由报文中的类型字段和代码字段来共同决定,各种类型如下图所示:图5-3 ICMP报文类型当发送一份ICMP差错报文时,报文始终包含IP首部和产生ICMP差错报文的数据报的前8个字节。接收ICMP差错报文的模块就会把它与某个特定的协议(根据IP数据报首部中的协议字段来判断)和用户进程(根据包含在IP数据报前8个字节中的TCP或UDP报文首部中的TCP或UDP端口号来判断)联系起来。下面各种情况不会导致产生ICMP差错报文:1. ICMP差错报文2. 目的地址是广播地址和多播地址3. 作为链路层广播的数据报4. 不是IP分片的第一片5. 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、换回地址、广播地址或多播地址。第二节 IGMP和ICMP一样,IGMP也是IP层的一部分,它也通过IP数据报进行传输,但是IGMP有固定的报文长度,没有可选数据。IGMP报文格式:图5-4 IGMP报文字段格式这是版本为1的IGMP,它说明是由多播路由器发出的查询报文,如果版本好是2,说明是主机发出的报告报文,检验和计算和ICMP协议相同,组地址为D类IP地址在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。IGMP报告和查询:多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况,使用规则:1. 当第一个进程加入一个组时,主机就发送一个IGMP报告,如果一个主机的多个进程加入同一组,只发送一个IGMP报告,这个报告被发送到进程加入组所在的同一接口上。2. 进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一个进程离开,主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。3. 多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程,多播路由器必须向每个接口发送一个IGMP查询。因为路由器希望主机对它加入的每个多播组均发回一个报告,因此IGMP查询报文中的组地址被设置为0。4. 主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含一个进程的组均要发回IGMP报告。使用这些查询和报告报文,多播路由器对每一个接口保持一个表,表中记录接口上至少还包含一个主机的多播组,当路由器收到要转发的多播数据包时,它只将数据报转发到还拥有属于那个组主机的接口上。第六章ARP RARP协议第一节ARPARP为IP地址到对应的硬件地址之间提供动态映射,地址解析为两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。ARP的分组格式:在以太网上解析IP地址时,ARP请求和应答分组的格式如图示:(ARP可以用于其他类型的网络,可以解析IP地址以外的地址。紧跟着帧类型字段的前四个字段指定了最后四个字段的类型和长度)。图6-1 ARP请求或应答分组格式以太网的报头中的前两个字段是以太网的源地址和目的地址,目的地址全是1的特殊地址是广播地址,电缆上的所有以太网接口都要接收广播的数据帧。帧类型有两个字节,它标识后面数据的类型。对于ARP请求和应答来说,该字段的值为0x0806.硬件类型字段标识硬件地址的类型,它的值为1即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为0x0800即表示IP地址。硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位,对于以太网上IP地址请求和应答来书它们的值分别是6和4。发送端的硬件地址、发送端的协议地址、目的端的硬件地址和目的端的协议地址。对于一个ARP请求来说,除目的端硬件地址外所有其他的字段都有填充值,当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两河目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它送回去。第二节RARP网络上的每个系统都具有唯一的硬件地址,它是网络接口生产厂家配置的,无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求,请求某主机响应该无盘系统的IP地址。RARP的分组好格式:RARP的分组格式与ARP分组基本一致,它们之间的主要差别是RARP请求和应答的帧类型代码为0x8035,而且RARP请求的操作代码为3,应答错做代码为4。第七章 应用层协议第一节 SNMP简单网络管理协议SNMP简单网络管理协议是一个管理进程和代理进程之间的协议,然后讨论参数的类型,SNMP定义了5种报文:1. get-request 操作:从代理进程处提取一个或多个参数值。2. get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。3. set-request操作:设置代理进程的一个或多个参数值。4. get-response操作:返回的一个或多个参数值,这个操作是由代理进程发出,它是前面3中操作的响应。5. trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。前面的3个操作是由管理进程向代理进程发出的,后面两个是代理进程发给管理进程的。第二节 FTP文件传输协议FTP是用于文件传输的Internet标准,它采用两个TCP连接传输一个文件。1. 控制连接以通常的客户服务器方式建立,服务器以被动方式打开用于FTP的端口(21),等待客户的连接,客户则以主动方式打开TCP端口21,来建立连接,控制连接始终等待客户与服务器之间的通信,该连接将命令从客户传送给服务器,并传回服务器的应答。由于命令通常是由用户键入的,所以IP对控制连接的服务类型就是“最大限度地减小迟延”2. 每当一个文件在客户与服务器之间传输时,就创建一个数据连接。由于该连接用于传输目的,所以IP对数据连接的服务特点就是“最大限度提高吞吐量”。第三节 SMTP简单邮件传输协议在TCP连接中大约一半是用于简单邮件传送协议,下图为一个用TCP/IP交换电子邮件的示意图:图7-1 电子邮件交换图用户于用户代理打交道,可能会有很多个用户代理可供选择,常用的Unix上的用户代理包括MH,Berkeley Mail,Elm和Mush。用TCP进行的邮件交换是由报文传送代理MTA(Message Tranfer Agent)完成的。第四节 Telnet远程登陆协议Telnet是标准的提供远程登陆功能的应用,几乎每个TCP/IP的实现都提供这个功能,它能够运行在不同操作系统的主机之间。Telnet通过客户进程和服务器进程之间的选项协商机制,从而确定通信双方可以提供的功能特性。远程登陆采用客户-服务器模式,下图显示一个Telnet客户和服务器的典型连接图:图7-2客户与服务器连接图1. Telnet客户进程同时和终端用户和TCP/IP协议模块进行交互,通常我们所键入的任何信息的传输是通过TCP连接,连接的任何返回西安西都输出到终端上。2. Telnet服务器进程经常要和一种叫做“伪终端设备”打交道,至少在Unix系统下是这样的,这就使得对于登陆外壳进程来讲,它是被Telnet服务器进程直接调用的,而且任何运行在登陆外壳进程处的程序都是感觉是直接和一个终端进行交互。对于像满屏编辑器这样的应用来讲,就像直接和终端打交道一样。3. 仅仅使用了一条TCP连接。由于客户进程必须多次和服务器进程进行通信,这就必然需要某些方法来描述这连接上传输的命令和用户数据。4. 在上图中,虚线框把终端驱动进程和伪终端驱动进程框连接起来,在TCP/IP实现中,虚线框的内容一般是操作系统内核的一部分,Telnet客户进程和服务器进程一般只是属于用户应用程序。总结致谢本篇论文将TCP/IP协议族进行了概述,并把每层次的主要协议分别进行了介绍,主要分析协议的封装,从数据封装过程到IEEE 802.2/802
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中小企业供应链金融风险防范与监管策略报告
- 2025年新能源行业反垄断风险与技术投资分析报告
- 基于区块链技术的建筑施工安全管理信息化研究报告
- 旅游酒店服务质量管理标准手册
- 2025年新能源人才引进策略:智能电网技术人才储备
- 汽车维修与保养技术指导书
- 三农村电商产业融合创新发展模式
- 中级银行从业资格之中级银行业法律法规与综合能力通关模拟题库含完整答案详解【各地真题】
- 注册电气工程师经典例题及答案详解(典优)
- 自考专业(计算机信息管理)高分题库附答案详解【夺分金卷】
- 2025年吉林省中考语文真题(含答案)
- 2025高级会计师考试试题及答案
- 工地建筑钢板租赁合同范本
- 光传输业务配置课件
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库带答案详解
- 2025年青海辅警招聘考试题及答案
- 2025新外研版初中英语八年级上全册课文原文翻译
- 钢结构安装安全操作规程
- 流程优化活动方案
- 消防装备认识课件
- 2025年山西中考道德与法治真题解读及答案讲评课件
评论
0/150
提交评论