480 likes | 637 Views
第二十讲. 7 . 4 TCP / IP 协议. 1 . TCP / IP 的基本概念 TCP / IP 是一种异构网络互连的通信协议。通过它实现各种异构网络或异种机之间通信。 TCP / IP 也适用在一个局域网中实现异种机的互连通信。它虽不是国际标准,但已被广大用户和厂商所接受,成为当今计算机网络最成熟、应用最广的协议。. 公用网络协议可实现各种异构网、异种机之间互相通信。当然也适合于各种 LAN 中异种机之间的通信。 而专用网络协议:如 SNA 协议、 IPX/SPX 协议等,用于特定范围的计算机之间通信。.
E N D
7 . 4 TCP/IP协议 1 . TCP/IP的基本概念 • TCP/IP是一种异构网络互连的通信协议。通过它实现各种异构网络或异种机之间通信。TCP/IP也适用在一个局域网中实现异种机的互连通信。它虽不是国际标准,但已被广大用户和厂商所接受,成为当今计算机网络最成熟、应用最广的协议。
公用网络协议可实现各种异构网、异种机之间互相通信。当然也适合于各种LAN 中异种机之间的通信。 • 而专用网络协议:如SNA协议、IPX/SPX协议等,用于特定范围的计算机之间通信。
各专用网络协议互不相同,导致不同网络之间难以互连通信,因此,需要一种公共的网络协议把各个异构网络或主机连结成可以相互通信和资源共享的网络。各专用网络协议互不相同,导致不同网络之间难以互连通信,因此,需要一种公共的网络协议把各个异构网络或主机连结成可以相互通信和资源共享的网络。 • TCP/IP协议的目的就在于通过它实现各种异构网络或异种机之间的互连通信。
TCP/IP协议也可用于Internet以外的任何其它网络上(如局域网),以支持异种机的连网或异构型网络的互连。TCP/IP协议也可用于Internet以外的任何其它网络上(如局域网),以支持异种机的连网或异构型网络的互连。 • TCP/IP协议起源于ARPANET、成就于Internet的应用,是最为广泛的民间网络标准,是事实上的标准而非OSI标准。
TCP/IP协议是一系列协议的集合,它包括100多个协议。TCP和IP是其中的两个最基本、最重要的协议,所以平时所说的TCP/IP,实际上是一组通信协议的代名词。TCP/IP协议是一系列协议的集合,它包括100多个协议。TCP和IP是其中的两个最基本、最重要的协议,所以平时所说的TCP/IP,实际上是一组通信协议的代名词。
OSI / RMTCP/IP 应用层 表示层 会话层 传送层 网络层 链路层 物理层 Telnet SMTP DNS 应用层 FTP NFS SNMP 传输层 UDP TCP ICMP I P 网络层 ARP RARP Token- Ring 网络 接口层 Ethernet Others X.25 TCP/IP参考模型与协议
2 . TCP/IP基本工作原理 (1) TCP/IP网络中的数据流动: • 在TCP/IP网络中,通过下层提供的服务来实现源主机和目的主机的同等层之间的通信的,即在源主机上信息从上而下,再穿越互连网,到达目的主机后信息再从下而上传输,到达相应层次。
在源主机: • 应用层:信息流串传输层; • 传输层: TCP数据(信息流串分段,加TCP报头) 互连网络层; • 网络层: IP数据报主机-网络层(TCP数据做IP的数据域,加IP报头); • 网络接口层:IP数据帧(数据报加帧头) 路由器或主机。
在目的主机: • 网络接口层: 拆除IP数据帧头互连层; • 网络层:检查验证IP报头,如结果不一致,则抛弃该包;若一致,解封IP数据报成TCP数据传输层; • 传输层:检查验证TCP数据,如结果不一致,则抛弃该报;否则,发出确认信息给源主机;去掉TCP头,信息流串应用层; • 应用层:接收信息流串。
(2) 网络互连路由: • IP数据报传送方式:直接传送和间接传送 • 直接传送:在同一个物理网络上,源主机将数据直接传送给目的主机; • 间接传送:源目主机不在一个物理网络时,被传输的数据要经过一个或多个路由器进行传输。
路由器为报文传输选择合适的路由。路由器的路由选择是基于目标网络而非源网络。路由器为报文传输选择合适的路由。路由器的路由选择是基于目标网络而非源网络。 • 在有路由器的网络中,源主机自上而下发送报文;而在中间结点路由器上,数据从下只到达互连层;目的主机自下而上接收报文,交付给最高层。
3 . 网络接口层协议 • TCP/IP的网络接口层实际上并没有定义自己的协议,而是允许主机连入网络时使用多种现成的、流行的协议,如Ethernet协议、高速局域网协议、Token Ring协议、X.25协议等。
SLIP和PPP是常用的数据链路层通信协议。它们为在点对点链路上直接相连的两个设备之间提供一种传送数据报的方法。互连的两端设备可以是主机与主机、路由器和路由器、主机和路由器。互连的物理链路可以是专线或电话拨号线。SLIP和PPP是常用的数据链路层通信协议。它们为在点对点链路上直接相连的两个设备之间提供一种传送数据报的方法。互连的两端设备可以是主机与主机、路由器和路由器、主机和路由器。互连的物理链路可以是专线或电话拨号线。
SLIP(Series Line Internet Protocol)是早期的串行IP协议,主要完成数据报的传送。但没有寻址、数据校检、分组类型识别和数据压缩等功能,只能传送IP分组,对一些高层应用不支持。
采用普通电话线用作PPP链路介质是一种廉价的常用方式。比如在家里或办公室里用一台普通PC机运行PPP即可以拨号方式加入Internet网。连接方法是在PC机串行通信接口(RS 232C)连入异步Modem,Modem另一端接电话线,经PSTN与Internet上某主机进行PPP连接。
4 . 网络层协议 (1) IP协议及工作过程 • IP协议是Internet中的基础协议和重要组成部分。由IP协议控制的协议单元称为IP数据报。IP提供不可靠的、尽最大努力的、无连接的数据报传递服务。
IP的基本任务是通过互连网传输数据报,各个IP数据报独立传输。IP从源传输层实体获得数据,再通过物理网络传送给目的主机的IP层。IP的基本任务是通过互连网传输数据报,各个IP数据报独立传输。IP从源传输层实体获得数据,再通过物理网络传送给目的主机的IP层。 • IP不保证传送的可靠性,在主机资源不足的情况下,它可能丢弃某些数据报,同时IP也不检查被数据链路层丢弃的报文。
在传输时高层协议将数据传给网络层,网络层将数据封装成IP数据报后通过网络接口层发送出去。在传输时高层协议将数据传给网络层,网络层将数据封装成IP数据报后通过网络接口层发送出去。 • 如目的主机直接连在本地网中,IP将直接把数据报传送给本地网中的目的主机;如目的主机是在远程网上,则IP将数据报传送给本地路由器,由本地路由器将数据报传送给下一个路由器或目的主机。
(2) IP数据报的分段与重装 • 数据报的分段:各类物理网都有最大帧长限制,为使较大的数据报能以适当的大小在物理网上传输,IP协议首先要根据物理网所允许的最大帧长对数据报进行长度检查,必要时把数据报分成若干段发送。在数据报分段时,每个段都要加上IP报头,形成IP数据报。
(3) IP路由 • IP数据报的传输可能跨越多个子网,不同子网由IP地址中的网络标识表示。子网的划分保证每个子网限定在同一个物理网络,路由器实现不同子网间的互连。跨越子网的IP数据报由IP路由算法控制。
IP算法的思想是:IP模块根据IP数据报中接收方IP地址来确定是否为本网投递。若为本网投递(即接收方与发送方具有相同的网络标识),利用ARP取得对应IP地址的物理地址,形成数据帧(或分组),IP数据报填入数据,直接将帧(或分组)发往目的地,结束IP路由算法;IP算法的思想是:IP模块根据IP数据报中接收方IP地址来确定是否为本网投递。若为本网投递(即接收方与发送方具有相同的网络标识),利用ARP取得对应IP地址的物理地址,形成数据帧(或分组),IP数据报填入数据,直接将帧(或分组)发往目的地,结束IP路由算法;
若为跨网投递(即接收方和发送方具有不同的网络标识),利用ARP取得因特网网关的IP地址所对应的物理地址,形成数据帧(或分组),IP数据报填入数据域,直接将帧(或分组)发往网关,网关软件取出IP数据报,并重复IP路由算法。若为跨网投递(即接收方和发送方具有不同的网络标识),利用ARP取得因特网网关的IP地址所对应的物理地址,形成数据帧(或分组),IP数据报填入数据域,直接将帧(或分组)发往网关,网关软件取出IP数据报,并重复IP路由算法。
(4) ARP和RARP • 在LAN中站点共享通信信道使用MAC地址来确定报文的发往目的地,而Internet中目的地地址是靠IP规定的地址来确定的。由于MAC地址与IP地址之间没有直接的关系,因此需要通过IP协议集中的两个协议动态地发现MAC地址和IP地址的关系。这两个协议是ARP和RARP。
如果某台设备不知道自身的IP地址,它对ARP就无法做出应答。通常一台新入网的设备会发生这种情况,它只知其MAC地址。这就可利用逆向地址解析协议RARP解析出已知MAC地址的IP地址。如果某台设备不知道自身的IP地址,它对ARP就无法做出应答。通常一台新入网的设备会发生这种情况,它只知其MAC地址。这就可利用逆向地址解析协议RARP解析出已知MAC地址的IP地址。 • 通过RARP协议发送广播式请求报文来请求自己的IP地址,RARP服务器负责对该请求做出应答。
(5) 网络控制报文协议ICMP • 由于IP协议提供无连接的数据报服务,在传送过程中若发生差错或意外情况,如数据报目的地址不可达、数据报在网络中滞留时间超过生存期,中间节点或目的节点主机因缓冲区不足等原因无法处理数据报,就需要一种通信机制来向源节点报告差错情况,以便源节点对此做出相应的处理。
Internet控制报文协议 ICMP 就是一种面向连接的协议,用于传输错误报告控制信息。如出现IP分组不能到达目的地、网络拥挤影响IP分组的传输、某路由器不能为IP分组选择路由、路由器没有发送IP分组所需的缓冲容量等,即可利用ICMP通知源主机采取措施。
ICMP通常由IP分组沿途的路由器或目的主机发送,作为对IP分组的响应。ICMP提供了一致、易懂的出错报文和不同版本信息。ICMP通常由IP分组沿途的路由器或目的主机发送,作为对IP分组的响应。ICMP提供了一致、易懂的出错报文和不同版本信息。 • 多数情况下ICMP发送的错误报文返回到发送原数据的设备。发送设备可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据报。
ICMP报头 ICMP数据域 IP分组头 IP数据域 数据帧头 数据帧数据域 ICMP的两级封装 • ICMP因为ICMP是以IP数据报传输的,所以它与IP数据报一样,都不能保证传输的可靠性,ICMP信息可能会丢失。
5 . 传输层协议 (1) TCP的功能及端口 • TCP协议是传输层的著名协议。它定义 了两台计算机之间进行可靠的数据传输所交换的数据和确认信息的格式,及确保数据正确到达而采取的措施。
TCP使用端口协议(每个端口均有标识),支持多个应用程序同时进行通信;TCP使用端口协议(每个端口均有标识),支持多个应用程序同时进行通信; • TCP协议提供面向连接(虚电路)的服务,TCP端口标识连接。 • TCP是面向数据流的协议。将上层的数据流串分段构成TPDU,再传输给下层。
TCP应用程序分为服务程序和客户程序。对于后者,可以任意选择其通信端口的端口号,而前者则使用较固定的端口号。TCP应用程序分为服务程序和客户程序。对于后者,可以任意选择其通信端口的端口号,而前者则使用较固定的端口号。 • 由一个16位整数值表示TCP端口号。需要服务的应用进程与某个端口号连接,TCP模块可以通过该TCP端口与应用进程通信。例如Telnet的服务端使用23号端口,FTP使用21号端口,SMTP电子邮件使用25号端口等。
(2) TCP协议机制 • TCP协议使用三次握手机制来建立和关闭连接。 • 建立连接时,由主叫方发出连接请求(一次);被叫方发回确认连接信息(二次) ;最后由主叫方发出连接已建立的信息通知对方(三次)。
TCP协议也是采用三次握手关闭连接的。 • TCP连接是双工的,数据可双向传输,可以看做是两个独立的不同方向的数据传输。因此,每个方向上的建立连接和关闭连接也可独立进行。
(3) TCP的数据流量控制 • TCP协议采用确认与超时重传机制和滑动窗口机制进行数据流量控制,防止网络拥塞,保证数据传输的可靠性。
确认与超时重传机制 • TCP接收端对接收到的数据进行确认,未被确认的数据算是出错的,要求重传。 • 发送方在发送数据分组的同时启动计时器,在规定的时间内还未接到对方的确认或重传信息,则发送方重新发送该分组。
滑动窗口机制 • 确认与超时重传机制可实现数据流可靠传输,但不能解决网络拥塞问题。 • TCP协议采用滑动窗口机制可防止网络拥塞问题。滑动窗口机制通过控制发送窗口的大小来限制发送方发送的数据量,达到控制拥塞。
(4) 用户数据报协议UDP • UDP协议也是传输层的协议,向应用层提供简单方便的无连接服务。 • 相对于IP协议,UDP增加了: • 提供基于端口的应用程序间数据传输; • 通过检验提供数据的完整性。
UDP不提供报文到达的确认、排序及流量控制等功能,因此UDP提供的服务不保证数据的可靠性。可靠性问题由UDP的应用程序负责解决。UDP不提供报文到达的确认、排序及流量控制等功能,因此UDP提供的服务不保证数据的可靠性。可靠性问题由UDP的应用程序负责解决。
UDP无建立连接、关闭连接和流量控制等过程,只作为数据报的接收者和发送者。 UDP比TCP简单得多。在用户需求比较简单时,可用UDP代替TCP。 • 如支持DNS服务、SNMP服务、SMTP服务、SFTP服务等。
7 . 5 IPv6 协议简介 1 . IPv6的提出 • 随着Internet 发展,原IP协议不足之处体现出来了,如IP地址不够用,难以支持实时多媒体信息及QoS,难以满足移动站点上网的需求等。1992年7月,IETF发布了征求下一代IP协议的计划,1994年7月选定了IPv6作为下一代IP标准。
2. IPv6增加的功能 • IPv6是Internet的新一代通信协议,在兼容了IPv4的所有功能的基础上,增加了一些更新的功能,如地址扩展(128位)、简化了IP报头的格式、可扩展性、安全性和引入流标号等。
3.IPv6的地址结构和形式 • IPv6的地址长度为128位。IPv6不是利用网络到达划分地址类型的,它依靠地址头部的标识符识别地址的类别。 • IPv6是按接口界面分配地址而不是按节点(路由器或主机)分配地址的。IPv6有单播、任播和多播地址三种寻址方式。
IPv6有基本表示、简略表示和混合表示三种地址表示形式。IPv6有基本表示、简略表示和混合表示三种地址表示形式。 • 基本表示形式为:128位地址被划分为8个16位的部分,每部分分别用十六进制表示,中间用冒号“:”隔开。如: BACF:FA36:3AD6:BC89:DF00: CABF:EFBA:004E