讲传输层2.ppt

上传人:本田雅阁 文档编号:3171950 上传时间:2019-07-20 格式:PPT 页数:37 大小:1.01MB
返回 下载 相关 举报
讲传输层2.ppt_第1页
第1页 / 共37页
讲传输层2.ppt_第2页
第2页 / 共37页
讲传输层2.ppt_第3页
第3页 / 共37页
讲传输层2.ppt_第4页
第4页 / 共37页
讲传输层2.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《讲传输层2.ppt》由会员分享,可在线阅读,更多相关《讲传输层2.ppt(37页珍藏版)》请在三一文库上搜索。

1、第 11 讲 传输层(2),本讲内容,用户数据报协议 UDP UDP功能和特点 报文格式 传输层的客户 TCP/IP网络信息传送过程,知识回顾,从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 传输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。,物理层,网络层,传输层,应用层,数据链路层,面向信息处理,面向通信,用户功能,网络功能,知识回顾,应用进程,应用进程,IP 协议的作用范围 (提供主机之间的逻辑通信),TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信),因 特 网,传输层协议和

2、网络层协议的主要区别,知识回顾,TCP/IP的传输层有两个不同的协议 用户数据报协议 UDP (User Datagram Protocol) 传输控制协议 TCP (Transmission Control Protocol),TCP,UDP,IP,应用层,与各种网络接口,传输层,知识回顾,上节内容回顾 TCP是一个面向字节流的可靠的传输协议 TCP实现端到端的可靠传输 TCP在传输数据前先建立连接 TCP传输每一字节数据都有一个序列编号 TCP在传输数据时采用确认重传机制 TCP在传输数据时自动进行流量控制 TCP在数据传输后要关闭连接,CLOSED,CLOSED,进程A,进程B,客户,服

3、务器,TCP连接的建立三次握手,TCP 连接的建立,如何体现TCP的面向连接?,数据传送,ESTAB- LISHED,ESTAB- LISHED,A,B,客户,服务器,数据传送,ACK = 1, seq = u + 1, ack = w 1,TCP 的连接释放,TCP 连接的关闭,TCP 与 UDP,TCP 则提供面向连接的服务。由于 TCP 要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 UDP 在传送数据之前不需要先建立连接。对方的传输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,

4、但在某些情况下 UDP 是一种最有效的工作方式。,课程议题,UDP协议,用户数据报协议 UDP,对网络中新的实时视频、音频数据的传输来说,因为不能容忍 TCP 重传带来的时延,常常建立在 UDP (User Datagram Protocol,UDP,用户数据报协议)之上。 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。 用于支持那些需要在计算机之间快速传输数据(相应的对传输可靠性要求不高)的网络应用 提供不可靠的交付,不考虑流量控制、差错控制,在收到一个坏的数据段之后也不重传通信的可靠性问题将由应用层进程自身来提供。,UDP 的主要特点,UDP 是面

5、向无连接的,即发送数据之前不需要建立连接,即不通知对方做接收数据准备,而是立刻发送数据。 UDP 使用尽最大努力交付,即不保证可靠交付。 UDP 是面向报文的。发送方 UDP 对应用层交下来的报文,既不合并,也不拆分,UDP 就照样发送,即一次发送一个报文。接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。 UDP 没有拥塞控制,很适合多媒体通信的要求。 UDP 的首部开销小,只有 8 个字节,传输速度快、效率高。 为应用层服务,提供复用技术,即同时为多个应用进程服务。,UDP 是面向报文的,IP 数据报的数据部分,I

6、P 首部,IP 层,UDP 首部,UDP 用户数据报的数据部分,运输层,应用层报文,应用层,UDP 的首部格式,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP 用户数据报,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP 用户数据报,用户数据报 UDP 有两个字段:

7、数据字段和首部字段。首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。,UDP 的首部格式,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP 用户数据报,在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和。此字段是可选项,UDP的伪首部,UDP 基于端口的分用,UDP和TCP的主要客户,UDP 与 TCP比较,课程议题,TCP/IP网络信息传送,TCP/IP的工作流程,5,

8、4,3,2,1,5,4,3,2,1,H3,物 理 传 输 媒 体,应 用 程 序 数 据,数 据 部 分,数 据 部 分,数 据 部 分,10100110100101 比 特 流 11 010111010,T2,计算机 1,H4,H2,首部,尾部,AP2,AP1,计算机 2,比特,帧,IP数据报 IP分组,TCP报文段 UDP报文段,5 4 3 2 1,主机 H1,主机 H2,R1,R4,R5,R2,R3,R1,R2,R3,H1,R5,H2,R4,间接交付,间接交付,间接交付,间接交付,间接交付,直接交付,TCP/IP网络数据传送过程,一个典型的主机到主机的数据转发过程,如图所示,设主机A经过

9、路由器访问B主机上的Web服务,具体的过程如下: 主机A应用层中的HTTP协议产生应用层数据,该数据经过格式转换以控制处理后被交付给主机A的传输层。 在传输层,应用层的数据被分成若干段,每段分别传输。由于HTTP协议需要使用传输层的TCP协议进行端到端可靠的数据传输,所以每段数据被封装在TCP段中,其TCP头部包括源端口、目的端口、序列号、确认序列号等。其中目的端口为HTTP协议的熟知端口80。,数据封装,封装好的数据段被交付给主机A网络层的因特网协议(IP),然后IP协议会使用IP头部将传输层的数据封装起来,形成IP分组。其中IP头部包含了源IP地址、目的IP地址。在本例中源IP地址为发送方

10、主机A的IP地址192.168.0.2,目的IP地址是接收方主机B的IP地址172.16.0.2。,数据封装(续),网络层的分组一经创建,IP协议将判断目的IP地址是处在本地网络中,还是处在不同的网络上。很显然,根据目的IP地址172.16.0.2,很容易判断这是一个网络间的数据转发。随后这个分组被发送给主机A的默认网关,这样这个数据包才可能被路由到远程网络。 在实际网络配置时,主机A的默认网关是192.168.0.1,即与之直连的路由器端口E0的IP地址。要能够将分组发送到自己的默认网关,必须要知道路由器E0端口的硬件地址。因为E0端口与主机A在同一个物理网络内,需要使用MAC地址来进行通信

11、。 主机A首先检查自己的ARP缓存,查看默认网关的IP地址是否已经解析为硬件MAC地址。如果已经被解析,即已知E0端口的MAC地址,那么分组会被交付给自己的数据链路层。如果A的缓存中尚未有E0的硬件地址,那么主机A会向本地局域网发送一个ARP广播,来请求IP为192.168.0.1的硬件地址。当然,路由器将会响应这个请求并向主机A提供E0端口的MAC地址,主机A将缓存这个地址。,数据从A发送并被路由器接收,完成MAC地址请求后,网络层的分组和目的方的硬件地址被交付给数据链路层,封装分组的工作将会开始,一个数据帧将会产生。该数据帧头部的目的MAC地址被设置为了E0的MAC地址,即1111.111

12、1.1111,源MAC地址就是主机A的MAC地址0000.0000.0000。需要注意的是,在形成数据帧时,数据链路层除了加上帧头外,还需要在帧尾加上循环冗余校验(CRC)的帧校验序列FCS字段。当接收方收到该帧后可以通过FCS字段检验所收数据的正确性。 当数据帧封装完成后,这个帧将被交付到物理层,以一次一位的方式发到物理介质上,在本例中主机A是通过交叉线和路由器连接的。 路由器的E0端口接收双绞线上的比特流,在物理层上重建数据帧,并将此帧提交给数据链路层。,数据解封装,路由器的数据链路层对数据帧运行CRC并核对保存在该帧FCS字段中值。 如果这两个值不相匹配,表示数据帧在传输过程中可能产生了

13、错误,此帧将被丢弃。 如果CRC的值与FCS字段中的值匹配,表示数据帧传输无差错。然后数据帧将被解封装,帧头和帧尾将被剥离,分组从该帧中抽出。根据以太网类型字段中列出的上层协议(本例中为IP协议),分组将被数据链路层递交给网络层的IP协议。,路由,路由器的网络层接收递交上来的分组,并检查其目的IP地址。路由器会发现该分组的目的IP地址为主机B的地址172.16.0.2。路由器的主要作用就是对不同目的地址的分组进行转发。当路由器收到目的IP地址为主机B的分组后,会检索自己的路由表寻找匹配的路由表项,然后决定从哪一个端口发送出去。本例中分组的发出端口为E1。 更需要注意的一点是,路由器只是查看分组

14、的目的IP地址,并没有改变分组的第三层地址信息,包括源IP地址和目的IP地址。,ARP,目前分组仍然在路由器的网络层。现在我们讨论的过程是分组如何从路由器传输到主机B的应用层。当路由器决定从E1端口发出该分组后,分组就被交换到E1的缓冲区内。然后路由器检查自己的ARP缓存,看是否存在主机B的MAC地址。它的过程与第6步中主机A获取路由器E0端口的MAC地址相似。,路由器数据封装,在路由器的数据链路层,分组和目的硬件地址将被封装入一个数据帧内。该帧的目的MAC地址设置为B的硬件地址,即3333.3333.3333,源MAC地址就是E1端口的硬件地址2222.2222.2222。当然,在帧尾还会有

15、本数据帧的FCS字段。然后,该帧会被传送到物理层并以比特流的形式发送给主机B。 当主机B在物理层接收到比特流,并重建数据帧后,就将该帧递交到数据链路层。在数据链路层同样会运行CRC,并检查该帧的FCS字段是否与CRC的值匹配。如果不匹配,主机B会立即丢弃该帧,而不做任何处理。如果匹配,分组将会从该数据帧中解封装,并被递交到主机B的网络层。,主机B数据解封装,在网络层,IP协议只对网络层头部运行CRC校验,然后会检查分组的目的IP地址。由于IP地址为172.16.0.2,这就是B主机的IP,也就是说该包确实是发送给主机B的,主机B会做下一步的处理。如果B主机收到一个目的IP地址与自己地址不匹配的

16、分组,主机B会丢弃该分组。 由于在IP包的协议字段中显示的上层协议值为6,即TCP协议,网络层在剥离该层头部后,将数据段上交给传输层的TCP协议。 在传输层,TCP协议使用CRC检验数据段中所有的数据,包括报头和数据字段。然后检查数据段的上层协议的端口,在本例中为HTTP协议的80端口。传输层解封装数据段中的数据,并对多个数据段中的数据进行重组形成应用层数据,递交给应用层的HTTP协议。 至此,由主机A发送数据给主机B的过程就结束了。主机B返回给主机A数据的过程基本相似,在此不再赘述。,问题讨论,通过对此过程的详细描述,我们还需要做进一步的讨论: (1)IP地址与MAC地址的关系 IP地址是放

17、在网络层IP分组的首部,MAC地址是放在数据链路层帧的首部。前者是在抽象的互联网络中标识主机的方式,而后者是在本地局域网中定位主机的标识。路由器在互连网络中只根据分组的目的IP地址进行数据包转发,而不是MAC地址,而交换机是通过目的MAC地址进行数据帧的转发。 大家可能会产生这样的问题:既然在网络上传送的帧最终是按照MAC地址找到目的主机的,那么为什么我们不直接使用硬件地址进行通信呢? 由于全世界存在着各式各样的网络,它们使用了各种不同的硬件地址体系。要使这些异构网络能够相互通信就必须进行非常复杂的硬件地址转换工作,而这几乎是不可能做到的。但统一的IP地址把这个复杂问题解决了。使用IP编址屏蔽

18、了复杂的网络底层结构,屏蔽了异构网络间的硬件地址差异。,问题讨论(续),(2) 地址的变化情况 在不同网络间进行数据传输的过程中,分组的目的IP地址和源IP地址是始终保持不变的。路由器是数据转发的中间节点,在路由器的第三层上仅仅是查看分组的目的IP地址,然后转发分组,但IP地址并没有被改变。而MAC地址用于本地网络间数据通信,为了能在本地局域网中正确的传输数据帧就必须使用二层的硬件地址,所以数据帧的目的MAC地址和源MAC地址,在穿越每个局域网段时都会发生改变。下图表示了上述过程中二、三层地址的变化情况。,问题讨论(续),(3)数据单位 数据链路层的单位是数据帧,它是在网络层的整个分组上加上帧头和帧尾形成的。所以说,分组就是帧的数据部分。同样IP分组的数据部分是传输层的数据段。每一层在对上层交付的数据进行封装时,并不关心封装数据的具体内容。如数据链路层给IP包加上帧头和帧尾,它并不需要知道IP头部中的目的IP地址和源IP地址,更不需要知道IP分组中封装的传输层的数据。,本讲小结,通过本讲学习,你应该: 理解传输层的作用 了解UDP的特点 掌握UDP报文格式 掌握UDP和TCP的区别 明确TCP/IP网络信息传送过程,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1