当前位置:文档之家› TCP.IP课程实验报告

TCP.IP课程实验报告

TCP/IP协议族分析课程设计目录第一章TCP/IP 概述 (3)1.1 TCP/IP协议族定义 (3)1.2 TCP/IP协议族的特点 (3)1.3 TCP/IP协议族的分层 (3)1.4 TCP/IP协议族的结构 (4)第二章地址解析协议(ARP)——链路层 (5)2.1 ARP概述 (6)2.2 ARP的组成 (6)2.3 ARP工作原理 (7)2.4 ARP帧结构 (7)第三章因特网控制消息协议(ICMP)——网络层 (13)3.1 ICMP协议简介 (13)3.2 ICMP消息结构 (14)3.3 Echo Request和Echo Reply查询消息 (14)3.4 ICMP各字段分析 (15)第四章传输控制协议(TCP)——运输层 (18)4.1 TCP协议简介 (18)4.2 TCP数据包结构 (19)4.3 TCP数据包分析 (20)4.4 TCP三次“握手” (25)第五章普通文件传输协议(TFTP)——应用层 (27)5.1 TFTP数据传输模式 (27)5.2 TFTP会话实例 (28)总结 (31)参考文献 (31)第一章 TCP/IP 协议族概述1.1 TCP/IP协议族定义TCP/IP协议族是指一整套数据通信协议, 其名字是由这些协议中的两个协议组成的,即传输控制协议(Transmission Control Protocol ——TCP)和网间协议(Internet Protocol——IP)。

虽然还有很多其他协议,但是TCP和IP显然是两个最重要的协议。

1.2 TCP/IP协议族的特点TCP/IP协议族有一些重要的特点,以确保在特定的时刻能满足一种重要的需求,即世界范围内的数据通信。

其特点包括:●开放式协议标准。

可免费使用,且与具体的计算机硬件或操作系统无关。

由于它受到如此广泛的支持,因而即使不通过Internet 通信,利用TCP/IP来统一不同的硬件和软件也是很理想的。

●与物理网络硬件无关。

这就允许TCP/IP可以将很多不同类型的网络集成在一起,它可以适用于以太网、令牌环网、拨号线、X.25网络以及任何其它类型的物理传输介质。

●通用的寻址方案。

该方案允许任何TCP/IP设备唯一的寻址整个网络中的任何其他设备,该网络甚至可以像全球Internet那样大。

●各种标准化的高级协议。

可广泛而持续地提供多种用户服务。

1.3 TCP/IP协议族的分层图1-1 TCP/IP协议族中不同层次的协议1.3.1. 链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。

它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

1.3.2. 网络层有时也称作互连网层,处理分组在网络中的活动,例如分组的路由选择。

在TCP/IP协议族组件中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互连网控制报文协议),以及IGMP协议(Internet组管理协议)。

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

在TCP/IP协议族组件中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通信。

它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。

由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。

而另一方面,UDP则为应用层提供一种非常简单的服务。

它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。

任何必需的可靠性必须由应用层来提供。

这两种运输层协议分别在不同的应用程序中有不同的用途。

1.3.4. 应用层负责处理特定的应用程序细节。

几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:●Telnet:远程登录。

●FTP:文件传输协议。

●SMTP:用于电子邮件的简单邮件传输协议。

●SNMP:简单网络管理协议。

●TFTP:普通文件传输协议1.4 TCP/IP协议族的结构在描述TCP/IP时,一般只定义如图1-2所示的4层模型:应用层、主机对主机传输层(即运输层)、网间层和网络访问层(即链路层)。

图1-2 TCP/IP 协议族结构中的各层在TCP 的应用层中,将数据称为“数据流(stream )”;而在用户数据报协议(UDP )的应用层中,则将数据称为 “报文(message )”。

TCP 将它的数据结构称作“段(segment )”。

而UDP 将它的数据结构称作“分组(packet )”,网间层则将所有数据看作是一个块,称为“数据报(datagram )”。

TCP/IP 使用很多种不同类型的底层网络,每一种都用不同的术语定义它传输的数据,大多数网络将传输的数据称为“分组”或“帧(frame )”。

图1-3 数据结构第二章 地址解析协议(ARP )——链路层由于不同层和驻留于这些层上的地址的复杂性,因此必须有一种解析不同的计算机编址策略间差异的方法。

地址解析就起了这样的作用,并且使得端设备可以动态地找到本地的硬件地址以便向远端主机传输数据,或者取得必要的逻辑IP 地址和配置参数以便加入到网络。

如果没有某种类型的地址解析方法,远端主机间就不能通信。

在IP 界,地址解析指的是将一个协议地址转换成一个相应的物理地址或反之,例如将一个IP地址转换成一个以太网地址。

可以用四种地址解析的方法:●ARP(地址解析协议)●RARP(反向地址解析协议)●BOOTP(引导协议)●DHCP(动态主机配置协议)在这四种地址解析协议中,ARP是唯一的一个将网络层地址解析为硬件地址的协议,而RARP、BOOTP和DHCP协议则都是允许一个端设备可以动态地将其硬件地址解析为网络层的逻辑地址。

图2-1 ARP将网络层的逻辑地址解析为本地的硬件地址2.1 ARP概述ARP是像以太网和令牌环这样的访问共享、基于广播的网络技术所使用的协议。

该协议将节点的转发IP地址解析成对应的MAC(Media Access Control——媒介访问控制)地址。

MAC地址也称为物理地址、硬件地址或网卡地址。

解析后的MAC地址成为以太网或令牌环报头中的目标MAC地址,IP数据报在媒介上发送时寻到该地址。

ARP将因特网层地址(IP地址)解析成网络接口层地址(MAC地址)。

转发IP地址不必与IP数据报的目标IP地址相同,每个发出的IP数据报经路由处理后都变成一个接口和转发IP地址。

对于直接在同一子网上传送的目标节点,转发IP地址是数据报的目标IP地址。

对于间接传送到远程目标节点,转发IP地址是转发主机所在子网上的路由器的IP地址。

IP独立于任何特定的网络接口层技术。

因此,从转发的IP地址判断不出目的地的网络接口层地址。

例如,以太网和令牌环MAC地址的长度是6字节,IP地址的长度是4字节。

MAC地址在网卡的制造过程中就已分配好了,而IP地址是由网络管理员分配的。

对某个具体的IP节点而言,这两种地址的指定方式之间没有任何关系,因此不可能从一个地址判断出另一个地址。

ARP是一种基于广播的请求答复协议,提供了将正在转发的IP地址映射为它们相应的MAC地址的动态解析能力。

2.2 ARP的组成ARP主要由下面两类信息组成:●转发节点使用ARP请求信息请求某个转发IP的地址的MAC地址。

ARP请求信息是一个MAC级广播帧,旨在到达发送ARP请求信息的接口所连接的物理网段上的所有节点。

发送ARP请求信息的节点称为ARP请求端。

●用ARP答复信息答复ARP请求端。

IP地址与ARP请求信息所请求的IP地址相同的节点发送ARP答复信息。

ARP答复信息是一个单播的MAC帧,发送到ARP请求端的目标MAC地址。

发送ARP答复信息的节点称为ARP答复端。

由于ARP请求信息是一个MAC级广播包,所有要被解析的转发IP地址都必须能直接从发送ARP请求信息的接口到达(位于同一个子网上)。

对于正确的路由表项始终都是这样。

如果一个路由表项包含的转发IP地址无效,从接口无法直接到达该地址,ARP将不能解析这个转发的IP地址。

同一广播域内的所有节点都收到ARP请求信息。

广播域是传播广播帧的网络的一部分。

集线器、网桥以及Layer 2交换机传播ARP请求信息。

但是,IP路由器或Layer 3交换机不传播ARP帧。

2.3 ARP工作原理ARP协议主要负责把IP地址转换成网卡硬件地址。

ARP完成的这个任务过程是:发送一个广播,这个广播包含了一个指定的IP地址,要求正在使用这个IP地址的主机响应它的硬件地址。

使用这个IP的主机侦听到这个广播(局域网中其他的设备也会侦听到),就会给源端反馈一个ARP响应。

这个响应不再是网络上的广播,而是直接发送给那个发出请求的主机。

ARP包直接与数据链路层通信,这和IP包是一样的,但是ARP包和IP包是完全独立的,ARP协议ID是0806,而IP使用的是0800,ARP和IP都是直接位于数据链路层的上层,在数据链路层中有个TYPE字段,指明上层协议的类型,ARP为0x0806,IP为0x0800.ARP包含几个字段,但是其中只有5个字段是用来提供ARP的整体功能:源端的硬件地址,源端的IP地址,目标的硬件地址,目标的IP地址和一个“消息类型”字段,这个消息类型字段用来表明当前ARP包是一个请求还是对请求的一个响应。

当一个设备发送ARP请求时,它要填充4个与地址相关的字段中的3个,即提供自身的硬件地址和IP地址,还提供目标的IP地址(因为目标的硬件地址是不知道的,所以这个字段填充为0)。

另外,它会设置消息类型字段来表明当前包是一个ARP包,在局域网上广播这个请求,使得所有设备都能侦听到。

一旦主机侦听到针对自己的请求(在ARP请求的IP地址字段中表明),就生成一个响应报文并反馈给请求主机。

响应报文包含本地设备的IP 地址和硬件地址,还包含源发送系统的IP地址和硬件地址,这个响应报文会通过消息类型字段来表明当前的报文是一个ARP响应报文,新的ARP响应报文不再是广播发送,会直接传输给源端请求者。

2.4 ARP帧结构图2-2 广域网技术的ARP帧结构ARP报文由9个字段组成,包的总大小根据本地网络媒介上使用的网络地址的大小变表2-1 ARP报文中的字段根据上面的字段,下面用实际截获的ARP报文来逐个分析ARP报文中的字段。

2.4.1. 硬件类型(Hardware Type)一个2字节的字段,指出数据链路层所使用的硬件类型。

表2-2列出了一些常用的ARP 硬件类型值。

一收到ARP帧,IP节点就验证ARP帧的硬件类型是否与接收该ARP帧的接口的硬件类型相匹配。

如果不匹配,帧就被默默地扔掉。

相关主题