《运输层知识总结》由会员分享,可在线阅读,更多相关《运输层知识总结(12页珍藏版)》请在金锄头文库上搜索。
1、1. 运输层处于而向通信部分的最高层,用户功能中的最底层,运输层向上面的应用层提供 通信服务。只有主机的协议栈才有运输层,而网络层中的核心部分路由器在转发分组时 都只用到下面三层。运输层为应用进程提供端到端的逻辑通信,网络层为主机提供逻辑通信(面向主机,承担 路由功能,即主机寻址和有效的分组交换)。2. 分用和复用、端口两个主机通信,其实就是两个主机的进程通信,复用是从应用层到运输层(应用层 不同的进程通过运输层变为同一的),分用是从运输层到应用层(运输层相同的到应用层 分开给不同进程)。端口(协议端II号)是应用层不同进程的标识。为什么不用进程标识符:不同系统,进程标识符格式不同。协议栈层间
2、的抽象的协议端I I是软件端I I,和路由器与交换机上的端I I不同 硕件端I I是不同设备进行交互的接I I,而软件端I I是应用层各协议进程与运输实体 进行层间交互的一种地址。TCP/IP的端口号为26位,允许65535个不同端口。端口只具有本地意义,不同计 算机相同端口号没有联系。端口号分为两大类:1)服务器端使用的端口号这里又分为两类。熟知端口号(系统端II号),数值为 0-1023.应用稈序FTPTELNETSMTPDNSTFTPHTTPSNMPSNMP (trap)熟知端口号212325336980161162另一种叫登记端口号,数值为1024-49151.类端I I号是为没有熟知
3、端I I号的 应用程序使用。这类端1丨号必须在IANA按照规定的手续登记,以防止重用。(QQ默认的端口号是4000,传送UDP,每多开一个QQ,多一个端口号并且值加2。QQ是用UDP和外界通信的,进来和出去的端口都不一样。QQ在登录的时候主要用的是UDP 8000端II号。又是还用TCP和Http进行登录,使 用的是TCP的80端I和443端I。会员登录使用的是443端口,安全连接。80是浏览网页默认端1丨,明文,上门户网站,看视频。443网页浏览端II,用于HTTPS 服务,进过加密,上网银。QQ还会用到1080, 28120等端II)2)客户端使用端口号。数值49152-65535.这些端
4、I I在客户端进程运行时才动态选 择,也叫短暂端口号。当服务器收到客户端数据就会知道客户端使用的端I I号。 通信结束后,这个端I号就不复存在,可以供其他客户进程使用。3. 运输层还会对报文进行差错检测IP数据报首部的检验和字段,只检验首部是否出现差 错。TCP提供一条全双工的可靠信道。UDP提供一条不可靠信道。4. 运输层的两个主要协议用户数据报协议UDP (User Datagram Protocol)无连接,不可靠,但简单节省 传输控制协议TCP (Transmission Control Protocol)面向连接,可靠,占用许多资源表5-1使用UDP和TCP协议的各种应用和应用层协议
5、应用应用层协议运锚层协议名字转换DNSUDP文件传送TFTP(:DP路由选择协议RIPUDPIP地孙配置BOOTP, DHCPUDP网络管理SNMPUDP远程文件履务器NFSUDPIP电话专用协议UDP流式多媒体通倍专用协议UDP多播1GMPUDP电子邮件SMTPTCP远程终端接入TELNETTCP万维网HTTPTCP文件传送FTPTCP5. UDP主要特点:1)无连接发送数据前不需要建立连接,减少开销和发送数据之前的时延。2)尽最大努力交付。不保证可靠交付。3)面向报文。(TCP是面向字节流)应用层传卜来的数据报直接添加首部,UDP 不对此报文拆分或合并,即UDP 次传送一个报文。所以进程必
6、须选择合适木 小的报文。太长,IP层传送时可能要分片,降低IP层效率。太短,IP报首部相 对较大,也会降低IP层效率。4)没有拥塞控制。网络拥塞时不会降低源主机发送速率。对实时应用很重要(IP 电话,实时视频会议)。5)UDP支持一对一,一对多,多对一和多对多通信。6)UDP首部开销小。只有8字节。TCP首部20字节UDP首部格式:1)源端II。需要对方回复时选用,不需要时全0。2)目的端口号。3)长度数据报长度,最小值8 (只含首部)4)检验和首部和数据部分一块检验。(对比IP)如果接收方UDP发现收到的报文的目的端I I号不正确(即不存在对应于该端I丨号 的应用程序),就丢弃该报文,并由I
7、CMP发送端II不可达差错(traceroute原理)。UDP的数据报首部检验和字段的计算过程与IP的一样,都是使用二进制反码运算 求和(计算过程见网络层)。UDP的检验和,要在数据报之前增加12字节的伪首部 源IP地址(4字节),目的IP地址(4字节),3字段全0, IP首部的协议字段(1字节, IDP的协议为27), UDP数据报长度(2字节)。伪首部既不向卞传也不向上传,只是为了 完成检验和。6. TCP (可靠传输、流量控制、拥塞控制)TCP特点:1)面向连接。使用前必须先建立连接,使用完后必须释放连接。2)点对点。每个TCP只能有两个端点。3)可靠交付。无差错,不丢失,不重复,按序到
8、达。4)全双工通信。两端都有发送和接受缓存,任何时候都可相互发送信息。5)面向字节流。TCP将上层传下来的数据报看成无结构的字节流。TCP发送的数 据块和接收方收到的数据块没有人小对应关系(发送方发了 10个数据块,接收 方收到了 4个数据块)。但发送的字节流和接收的字节流必须完全相同。7. TCP连接的端点一一套接字TCP把连接作为最基本的抽象一一面向连接性TCP连接的端点不是主机,不是IP,不是进程,也不是端II号,而是套接字。套接字 socket = (IP 地址:端口号) 例:(192.3.4.5:80)每一条TCP唯一地被通信两端的两个端点(套接字)所确定,即:TCP 连接:=soc
9、ketl, socket2 = (IPl:portl), (IP2,port2)8. 口 I靠传输的工作原理理想的传输条件:1)传输信道不会产生差错2)不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据满足这样理想的条件,即可实现可靠传输实际上可靠的传输协议,当出现差错时让发送方重传出现差错的数据(差错重传), 当接收方来不及处理收到的数据,及时告诉发送方降低速度。9. 自动重传请求ARQ (与ARP区分)2)停止等待协议2)连续重传ARQ(退后N帧)3)选择重传ARQ2)和3)从意义上讲都是连续重传ARQ,但很多书将后退N帧说成连续重传ARQ停止等待:发送完一个分组就停止发送,等
10、待对方发送。收到确认再发送卞一个分组。 优点:简单缺点:信道利用率低1)无差错情况。A发送完分组Ml暂停,等待B的确认。B收到Ml就向A发送 确认。A收到确认就向B发送M2.2)出现差错(发送过程出错)。Ml在发送过程中出错,则B收到一个错误的Ml,B直接丢掉,Ml在发送过程中丢失,B什么也收不到。这两种情况B都不回复 确认.而是A根据超时计时器,在规定时间没受到确认进行超时重传,这就要 求A在发送完一个分组后,必须暂时保留已发送的副本,收到确认后才能清除。 对分组和确认进行编号,分岀哪个分组得到了确认。重传时间比实际往返时间 稍长一点。3)确认丢失和确认迟到(回复出现差错)。确认丢失时A没有
11、收到确认,就再发 重发Ml,如果B收到了重传的Ml,则丢弃这个Ml分组并且向A发送确认。 确认迟到A会收到两个确认,直接丢弃第二个。连续重传ARQ:发送方维持发送窗I I的大小,发送窗II内的内容都可同时发送出去,这样就提高了信道利用率。10.信道利用率TD: A发送分组需要的时间,TD等于分组长度除以数据率(发送速率)RTT:往返时间。由信道决定TA: B发送确认分组的时间(一般远小于TD,这是可以忽略)U:信道利用率G+RTT + D11. TCP报文TCP报文首部前20个字节固定,后面有4N个字节可选,所以最小为20字节1)源端I和目的端口。各2字节2)序号。4字节。TCP中传送的字节流
12、中每一个字节都按序编号。起始序号在连接建立 时设置。超过2込1后重新回到0。首部中序号字段是本报文所发送的第一个字节的 序号。如,一个报文段序号字段为301,携带数据100字节。说明本报文段数据的 第一个字节序号为301,最后一个序号400.下一个报文段序号则须从401开始。3)确认号。4字节。是期望收到对方下一个报文段的第一个数据字节的序号。B收到A 的一个报文段,序号字段501,数据长度200字节,则B期望收到下一个序号为701, 确认号即为701若确认号为N,则序号到NJ所有数据已正确收到。4)数据偏移。4位。指明TCP报文长度。单位32位字(4字节),最人为4*15=60字节。(与IP
13、首部相同)5)保留。6位,置0.6)紧急URG。1位。表明此报文紧急,插入报文段最前面发送。7)确认ACKo 1位。ACK=1确认号有效,建立连接后发送的报文ACK都为1.8)推送PSH 1位9)复位RST。1位。RST = lo表明TCP连接出现严重错误,必须释放连接然后重新建立 连接。10)同步SYN。1位。在建立连接时用来同步信号。SYN =1, ACK = 0,表明这是一个连 接请求报文段。若对方同意连接,则回复SYN = l,ACK = lo SYN置1表示这是个连接请求或连接接受报文。11)终止FIN。1位。释放连接。FIN=1,表示报文段已发送完毕要求释放连接。12)窗口。2字节
14、。窗II指的是发送报文段一方的接收窗II。窗II值是接收方能接受的 窗II人小,接收方通过它告诉发送方发送窗I I的人小,但发送方也可能根据网络情 况自己调整窗口大小,所以窗门值不一定总是和发送方的窗门大小一致。13)检验和。2字节。与UDP-样,检验首部+数据,并且使用到伪首部。14)紧急指针。2字节。当URG = 1时有效,表明本报文段紧急数据字节数。即使窗I】 为0也可以发送紧急数据。15)选项。长度可变,最多40字节。包扌舌最大报文长度MSS,窗I扩大,时间戳,选 择确认(SACK)12. TCP可靠传输的实现滑动窗I I滑动窗I I协议是TCP协议的精髓所在。关于链路层的滑动窗口机制
15、:数据链路层的町靠传输原理(停止等待协议和滑动窗I I机制),但现在有线网络数据 链路层很少采用可靠传输。发送窗门(swnd):以字节为单位现假定A收到B的确认报文,窗I I字段为20,确认号为31,则A的发送窗I I如卞:乓沿?前移收到的序号发送窗II前沿通常是不断向前的,但也可能不变,对应两种情况:一是没有收到新 的确认,对方通知的窗II人小也不变;二是收到了新的确认但是窗I I号变小了,使得发 送窗I I前沿正好不变。前沿也可能向后收缩,发生在对方通知的窗I缩小了。发送窗口后沿变化有不动和前移。发送窗I I内的字节可能是已发送的但未收到确认的或是未发送的,只要不收到确认 后沿就不向前移。接受窗n(rwnd)接受窗II只对按序接受的最高序号给予确认,如果只收到32、33但未收到32、确 认报文的确认号仍为32(希望A从31开始发送,退后N帧),如果收到了 31,并把序号 3