Download presentation
Presentation is loading. Please wait.
1
TCP/IP基本原理 第二章 网络接口层
2
本章学习要求: 掌握:帧及其封装、物理地址、多宿主计算机的概念 掌握:网络接口层的任务、功能和主要责任 掌握:以太网物理地址的表示方法 掌握:网络接口层和链路层的关系 掌握:ARP协议、RARP协议和PPP协议的工作原理 掌握:ARP协议、RARP协议和PPP协议的帧格式 了解:查询本机的物理地址的方法 了解:熟练使用ARP命令
3
2.1 网络接口层的任务 任务:TCP/IP栈的底层是网络接口层。该层的任务是定义计算机怎样连接网络。它并不规定主机所在网络的类型,而是主机所在的网络支配网络接口层使用什么样的驱动程序。主机必须根据网络拓扑的规则发送和接收数据。 主要责任: 识别网络节点或计算机; 将从网络介质接收到的比特组合为帧,控制帧的大小; 将IP地址转化为局域网地址; 控制数据流; 封装并传输流出的数据; 检测错误但不修正; 为Internet层提供服务(如服务质量)和编址能力(单播、广播、组播)。
4
帧结构 不同的网络协议有不同的帧结构。我们以802.3网为例,说明上层协议发送的数据组成帧的净载数据,并通过物理介质发送到目的主机中。
5
2.1.2 物理地址 数据帧中用到的源地址和目的地址是物理地址。它是分配给网卡的一组号码。物理地址也叫: 硬件地址 网络接口卡(NIC)地址
物理地址 数据帧中用到的源地址和目的地址是物理地址。它是分配给网卡的一组号码。物理地址也叫: 硬件地址 网络接口卡(NIC)地址 物理地址 以太网地址(如果局域网使用以太网) 介质访问控制器(MAC)地址(如果局域网使用以太网) 计算机的物理地址有两种类型,固定地址和可配置地址。有些网卡,如 proNET 和 ARCNET,它们的它们的物理地址是可以改变的,因此也称为可配置网卡,而以太网卡的物理地址是固定的,不能改变。它是在生产网卡是就固化在网卡上了。
6
以太网的物理地址 以太网的物理地址用48位编码,6个字节。字节之间用冒号或减号分隔。我们可在命令提示符下用 ipconfig/all 来查询本机的物理地址。
7
以太网地址分配 IEEE为制造以太网卡的生产厂商分配48位的以太网物理地址。其中前24位为生产厂商的编号,后24位为生产厂商为每块网卡的编号。这种机制保证了任何两块网卡不会有相同的物理地址,从而保证了硬件地址的唯一性。
8
硬件地址类型 一个48比特地址不仅仅指定目的计算机地址。地址可以是以下三种形式之一: 单播地址(unicast address)
广播地址(broadcast address) 组播地址(multicast address)
9
广播分组及广播地址 大多数情况下,一个分组只有一个目的地。但分组也可以发送给局域网络上所有主机。这类分组叫广播分组。
广播分组包含的目的物理地址就是广播地址,其编码为: FF-FF-FF-FF-FF-FF
10
多宿主计算机 网络中的计算机可能插有多块网卡,每块网卡都代表该计算机的一个接口。当然这台计算机也就有多个物理地址,我们称这样的计算机为“多宿主计算机(multi homed computer)”。 路由器就是一个典型的多宿主计算机。
11
2.2 局域网硬件如何使用地址识别包 共享网络系统使用物理地址来识别传入的帧。处理帧传输与接收的网络接口硬件比较每一传入帧的目的地址与站点的物理地址,如果两者一致,硬件就将该帧传给操作系统,如果不匹配,就丢弃该帧。 由于网络接口执行这些操作时不使用站点的CPU,所以帧能在共享局域网上从一台计算机传输到另一台计算机,而不妨碍计算机的执行。
12
2.3 地址映射 地址映射:在物理介质传输数据前,必须将高层(Internet层)用来识别主机的软件地址转换为低层硬件地址。
2.3 地址映射 地址映射:在物理介质传输数据前,必须将高层(Internet层)用来识别主机的软件地址转换为低层硬件地址。 ARP:地址解析协议:将软件地址映射成相应硬件地址的任务有地址解析协议(ARP)完成。 RARP:逆地址解析协议:将硬件地址转换成相应的软件地址有逆向地址解析协议(RARP)承担。
13
2.3.1 ARP协议 ARP进行地址解析的步骤: 需要传输数据的计算机在网络中广播接收端的IP地址;
本机IP地址与广播的IP地址匹配的计算机发送一个应答包,该应答包中包含了本机的IP地址和硬件地址; 发送端用从收到的应答包中告知的MAC地址为目的地址来组成一帧并通过网络传送给目的主机。 发送方获取到MAC地址后存入本地ARP缓存,保存2分钟。如果2分钟内还要向同一IP地址传送数据,发送端将会检查ARP缓存以获取相应的MAC地址。如果ARP缓存不包含此地址,则发送端计算机重复步骤1~3以获取物理地址。
14
ARP缓存 ARP缓存:它是位于主机内存中的一段区域,其中包含了一些已知主机的IP地址和对应的MAC地址列表,以及它们的存活时间TTL值。
动态ARP缓存项目:当一条ARP项目被记录在缓存时,其生存时间(2分钟)也同时被记录下来。如果ARP缓存项目的缓存时间超过2分钟,此项目会被删除。但如果系统在删除时发现它正在被使用,那么系统会将此项目最多保存10分钟。 查看ARP缓存中已有的项目:ARP缓存中保存的项目可以通过 ARP -a 命令来显示。
15
用 ARP -a 命令显示ARP缓存中的项目: 下图中第一列数据表示IP地址,第二列数据表示硬件地址,第三列数据说明项目如何进入ARP缓存区。如果地址是通过广播发现的,则为动态地址,有存活时间的限制;如果是手工输入的地址,则为静态地址,不会被自动删除。
16
缓存超时 缓存超时机制的目的:主要为了解决无效缓存项目。设想,当网络中某一计算机B已崩溃或关机,而另一计算机A还若继续向B计算机发送分组。数据会象没事一样正常发送,因为A计算机并不知道B计算机已经崩溃或已经关机。A计算机也不会意识到自己的ARP缓存中有关B机器的缓存项目已经是无效项目。 解决的办法就是设置项目的存活时间TTL。一旦时间超时,项目就会被删除。当A机要向B机传送数据时,会检查缓存中的项目,如果没有匹配的项目,A机再发一个广播帧,以获得B 机的MAC地址。如果B机已经关机,则不会给予应答,这意味着广播征询B机的MAC地址失败,A机的数据就不会被传输。
17
ARP命令选项 -a 显示当前的ARP cache (高速缓存) -d 删除一个ARP条目(地址映射项)
-f 向ARP cache中载入一个条目文件 -d 删除一个ARP条目,可以在运行一些例子之前使用,以让我们看清楚ARP的交换过程。 -s 创建一个ARP条目,这个参数需要主机名和以太网地址:对应于主机名的IP地址和以太网地址被增加到高速缓存中。新增加的内容是永久性的(比如,它没有超时值),除非在命令行的末尾附上关键字temp。
18
RARP协议 RARP (Reverse Address Resolution Protocol)原理:一台机器的IP地址存储在硬盘上。如果一台IP机器不带硬盘(如无盘工作站或终端),启动时无法知道其IP地址。但它知道它的MAC地址。为了给自己获得一个IP地址,它发出一个询问分组,其中包括其MAC地址,要求回答这一MAC地址的IP地址。一个称为RARP服务器的特定机器作出响应并回答。
19
RARP服务器的设计 虽然RARP在概念上很简单,但是设计一个RARP服务器与系统相关而且比较复杂。 RARP服务器的复杂性在于,服务器一般要为多个无盘主机提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中(在Unix系统中一般位于/etc/ethers目录中)。由于内核一般不读取和分析磁盘文件,因此RARP服务器的功能就由用户进程来提供,而不是作为内核的TCP/IP实现的一部分。 更为复杂的是,RARP请求是作为一个特殊类型的以太网数据帧来传送的(帧类型字段值为0x8035)。这说明RARP服务器必须能够发送和接收这种类型的以太网数据帧。由于发送和接收这些数据帧与系统有关,因此RARP服务器的实现与系统是捆绑在一起的。
20
另一个复杂因素是RARP请求是在硬件层上进行广播的,这意味着它们不经过路由器进行转发。为了让无盘系统在RARP服务器关机的状态下也能引导,通常在一个网络上要提供多个RARP服务器。当服务器的数目增加时(以提供冗余备份),网络流量也随之增加,因为每个服务器对每个RARP请求都要发送RARP回答。发送RARP请求的无盘系统一般采用最先收到的RARP回答。 另外还要避免一种可能发生的情况,那就是每个RARP服务器同时回答,这样会增加以太网发生冲突的概率。
21
ARP/RARP协议帧格式
22
2.4 SLIP协议 SLIP的全称是Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式。它适用于家庭中每台计算机用RS-232串行端口和高速调制解调器接入Internet。 封装方法:SLIP的封装很简单,只是在IP分组的后面加上标志字节(0xC0),便成为一帧。如果该标志字节出现在IP分组中,则用字符填充加以解决。 即在其位置上连续发送两个字节0xDB,0xDC。如果0xDB出现在IP分组中,也要填充。 压缩的LSIP:连续的IP分组的头部往往是相同的。可以把相同于前一个IP分组相对应的字段删除后发送,在接收端再予以恢复。
23
SLIP的不足 没有任何检错和纠错功能; 只支持IP协议; 双方必须预先知道对方的IP地址,所以对于动态分配IP地址的家用计算机每法支持;
没有提供身份认证。
24
2.5 PPP协议 PPP(point-to-point protocol),PPP修改了SLIP协议中的所有缺陷。PPP包括以下三个部分:
建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)。它允许通信双方进行协商,以确定不同的选项。 针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)体系。
25
PPP帧格式
26
PPP工作原理 我们以家用电脑通过modem上网为例。
家用PC通过modem呼叫ISP的路由器,在路由器的modem回答了这个电话后,就建立起了物理连接; 此PC机向路由器发送一系列LCP分组,这些分组以及它们的响应选择使用PPP参数,由此完成链路层的连接; PC机发送一系列NCP分组来配置网络层参数,一般而言,它想运行TCP/IP协议,所以需要一个IP地址。至此,此PC机就成为Internet上的一台主机,并能够收发分组; 工作完成后,使用NCP拆除网络层的连接,释放IP地址;然后使用LCP来关闭链路层连接;最后计算机告知modem挂上电话,释放物理层连接。
27
工作流程时序 Phase Setup < Link Dead > Connect
user NAS Phase Setup Connect LCP Configuration-Request Configure-Ack IPCP Configure-Request Configuration-Ack Datagram IPCP Terminate-Request Terminate-Ack LCP Terminate -Request Clear Disconnect < Link Dead > < Link Establishment > < Network Layer Protocol > < Link Termination > < Authentication >
28
PPP的优点 PPP支持在单根串行线路上运行多种协议,不只是IP协议; 每一帧都有循环冗余检验;
通信双方可以进行IP地址的动态协商(使用IP网络控制协议); 与SLIP类似,对TCP和IP报文首部进行压缩; 链路控制协议可以对多个数据链路选项进行设置。
29
2.6 小结 地址可分为两类:物理地址(或硬件地址)、逻辑地址(IP地址)。
2.6 小结 地址可分为两类:物理地址(或硬件地址)、逻辑地址(IP地址)。 物理地址是分配给计算机网络接口单元的地址,并由网络接口层用来在网络中传输数据。 更高层的协议需要使用软件地址来传输数据。 ARP用于通过IP地址解析物理地址。 RARP用于无盘工作站通过物理地址获取IP地址。 SLIP是一种在串行线路上对IP数据报进行封装的简单协议。 PPP是一种在串行线路上对IP数据报进行封装、检错、身份认证等功能的协议。
30
本章习题 参见教师网页:
Similar presentations