您好,欢迎访问三七文档
传输层•传输层功能•无连接的UDP•面向连接的TCP协议传输层作用1)用户无法对通信子网加以控制,无法采用更好的通信处理机制来解决网络层服务质量问题,更无法改进数据链路层纠错能力2)传输层的职责是在两个不同系统的进程之间提供一种交换数据的可靠机制,协议具有端到端的意义。3)传输层的存在使得传输服务比网络服务更可靠,报文丢失、残缺等错误都可以被传输层检测到并可以采取相应的补救措施。传输层•传输协议(Transportprotocol)是整个网络体系结构中的关键协议之一•实现进程到进程的可靠通信服务•可将多对进程通信复用到一条网络连接上•传输层为应用进程之间提供逻辑通信,网络层为主机之间提供逻辑通信在OSI模型中的层次SessionNetworkLinkPhysicalPhysicalPhysicalApplicationPresentationTransportNetworkLinkLinkNetworkTransportSessionPresentationApplicationNetworkLinkPhysicalPeer-layercommunicationlayer-to-layercommunicationRouterRouter12345671234567运输层为进程提供逻辑通信54321运输层提供应用进程间的逻辑通信主机A主机B应用进程应用进程路由器1路由器2AP1LAN2WANAP2AP3AP4IP层LAN1AP1AP2AP4端口端口54321IP协议的作用范围运输层协议TCP和UDP的作用范围AP3TransportLayer作用的位置WebIE传输层功能•连接管理定义允许两个用户象直接连接一样交谈的规则•流量控制(FlowControl)传输层定义了端用户之间的流量控制,数据链路协议定义了两个中间相邻接点的流量控制•差错检测(ErrorDetection)数据链路层提供了可靠的链路传输,但在路由器将含有分组的帧重新格式化,可能会出现影响分组内容的错误。帧校验和是在新帧创建后计算的,可能包含了错误数据。传输层的差错检测用于检测此错误。•建立无连接和面向连接的通信•拥塞控制(congestioncontrol)Transportvs.LinkLayers•Logicallinkvs.physicallink–Mustestablishconnection•VariableRTT–Mayvarywithinaconnection•Can’texpectendpointstoexactlymatchlink–Bufferspaceavailability•Transmissionrate–Don’tdirectlyknowtransmissionrate传输服务和协议•providelogicalcommunicationbetweenapp’processesrunningondifferenthosts•transportprotocolsruninendsystems•transportvsnetworklayerservices:•networklayer:datatransferbetweenendsystems•transportlayer:datatransferbetweenprocesses–relieson,enhances,networklayerservicesapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical复用/分用multiplexing/demultiplexing:•basedonsender,receiverportnumbers,IPaddresses–source,destport#sineachsegment–recall:well-knownportnumbersforspecificapplicationsgatheringdatafrommultipleappprocesses,envelopingdatawithheader(laterusedfordemultiplexing)sourceport#destport#32bitsapplicationdata(message)otherheaderfieldsTCP/UDPsegmentformatMultiplexing:applicationtransportnetworkMP2applicationtransportnetwork复用/分用Recall:segment-unitofdataexchangedbetweentransportlayerentities–TPDU:transportprotocoldataunitreceiverHtHnDemultiplexing:deliveringreceivedsegmentstocorrectapplayerprocessessegmentsegmentMapplicationtransportnetworkP1MMMP3P4segmentheaderapplication-layerdata运输层的端口•计算机中的进程是用进程标识符来标志的。•因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。•为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对TCP/IP体系的应用进程进行标志。端口号定义•传输层根据端口号来决定把报文提交给某个应用进层,端口号只具有本地意义•熟知端口(Well-knownport):IANA负责分配给一些常用的应用程序,范围:1~1024。如ftp21,telnet23,smtp25等。•注册端口:1024~49151。IANA不指派也不控制。可在IANA注册以防止重复。•动态端口:49152~65535。IANA不指派也不控制。客户端进程动态生成。常用端口号复用/分用:举例hostAserverBsourceport:xdest.port:23sourceport:23dest.port:xportuse:simpletelnetappWebclienthostAWebserverBWebclienthostCSourceIP:CDestIP:Bsourceport:xdest.port:80SourceIP:CDestIP:Bsourceport:ydest.port:80portuse:WebserverSourceIP:ADestIP:Bsourceport:xdest.port:80唯一确定一对端到端的通信五元组:(SourceIP,DestIP,SourcePort,DestPort,type)Internet中的传输层协议•用户数据报协议UDP和传输控制协议TCP•UDP和TCP都使用IP协议,即他们的协议数据单元都作为IP数据报的数据•UDP是无连接的•TCP提供的是面向连接的服务。pingTelnet&RloginFTPSMTPHTTPTracer-outDNSBOOTPSNMPNFSRPCTCPUDPIPTFTPICMPIGMPARPRARPLANS(Ethernet/TokenRing/wirelessLANS)POINT-TO-POINTWANSSWITCHEDWANS(X.25/FrameRelay/ATM/ATMLANS)传输层协议有哪些?TCP与UDP•UDP在传送数据之前不需要先建立连接。对方收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP是一种有效的工作方式。•TCP提供面向连接的服务。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此增加了许多开销。UDP:UserDatagramProtocol[RFC768]•Internettransportprotocol•“besteffort”service,UDPsegmentsmaybe:–lost–deliveredoutofordertoapp•connectionless:–nohandshakingbetweenUDPsender,receiver–eachUDPsegmenthandledindependentlyofothersWhyisthereaUDP?•noconnectionestablishment(whichcanadddelay)•simple:noconnectionstateatsender,receiver•smallsegmentheader•nocongestioncontrol:UDPcanblastawayasfastasdesiredUDP的主要特点•UDP是无连接的,即发送数据之前不需要建立连接。•UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。•UDP是面向报文的。UDP没有拥塞控制,很适合多媒体通信的要求。•UDP支持一对一、一对多、多对一和多对多的交互通信。•UDP的首部开销小,只有8个字节。UDP:more•oftenusedforstreamingmultimediaapps–losstolerant–ratesensitive•otherUDPuses(why?):–DNS–SNMP•reliabletransferoverUDP:addreliabilityatapplicationlayer–application-specificerrorrecover!sourceport#destport#32bitsApplicationdata(message)UDPsegmentformatlengthchecksumLength,inbytesofUDPsegment,includingheaderUDPchecksumSender:•treatsegmentcontentsassequenceof16-bitintegers•checksum:addition(1’scomplementsum)ofsegmentcontents•senderputschecksumvalueintoUDPchecksumfieldReceiver:•computechecksumofreceivedsegment•checkifcomputedchecksumequalschecksumfieldvalue:–NO-errordetected–YES-noerrordetected.Butmaybeerrorsnonethless?Morelater….Goal:detect“errors”intransmittedsegment面向报文:应用层交给UDP多长的报文,UDP按一个报文一次发送伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报伪首部计算检验和计算UDP检验和的例子1001100100010011→153.190000100001101000→8.1041010101100000011→171.30000111000001011→14.110000000000010001→0和170000000000001111→150000010000111111→10870
本文标题:计算机网络传输层.
链接地址:https://www.777doc.com/doc-2044783 .html