计算机网络基础教程第五章要点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

NankaiUniversity计算机网络技术教程—自顶向下的分析与设计方法吴功宜吴英编著1NankaiUniversity第5章传输层协议与传输层软件编程基本方法2NankaiUniversity主要内容3本章主要回答以下几个问题:·为什么要设置传输层?·传输层的主要功能是什么?·TCP协议的特点是什么?·UDP协议的特点是什么?·如何实现传输层软件的编程?NankaiUniversity5.1传输层的基本概念5.1.1传输层的基本功能•计算机网络本质的活动是实现分布在不同地理位置的联网主机之间的进程通信,以实现各种网络服务功能;•传输层的主要作用就是要实现分布式进程通信。4NankaiUniversity传输层的作用5传输层数据链路层网络层物理层数据链路层网络层物理层传输层数据链路层网络层物理层主机A传输层协议实现主机之间的端-端通信应用层应用层数据链路层网络层物理层主机B路由器路由器网络层协议通过由多段点-点链路组成的路径实现源主机与目的主机主机之间的分组传输点-点链路点-点链路点-点链路点-点链路………………NankaiUniversity“端-端”进程通信服务的基本概念•传输层协议可以屏蔽网络层及以下各层实现技术的差异性,弥补网络层所能提供的服务的不足,使得应用层在完成各种网络应用系统时只需要使用传输层提供的“端-端”进程通信服务,而不需要考虑互联网络数据传输的细节问题;•从“点-点”通信到“端-端”通信是一次质的飞跃,为此传输层需要引入很多新的概念和机制。6NankaiUniversity5.1.2传输层与应用层、网络层之间的关系7应用层网络层主机A传输实体传输地址网络地址应用层/传输层接口传输层/网络层接口传输协议数据单元TPDU应用层网络层主机B传输实体NankaiUniversityTPDU结构与IP分组、帧结构的关系•传输层之间传输的报文称为传输协议数据单元(TPDU);•TPDU有效载荷是应用层的数据;•传输层在有效载荷TPDU之前加上TPDU头,就形成了TPDU传输协议数据单元。8TPDU头部TPDU有效载荷分组头部帧头部分组有效载荷帧有效载荷帧尾部NankaiUniversity5.1.3应用进程、传输层接口与套接字9具有缓存与变量的TCP由应用程序开发者控制由操作系统控制互联网进程客户或服务器客户或服务器具有缓存与变量的TCP由应用程序开发者控制由操作系统控制进程套接字套接字NankaiUniversity应用程序编程接口(API)的概念•服务器套接字地址唯一地定义服务器应用程序;•客户机套接字地址唯一地定义客户机应用程序;•由于套接字是建立网络应用程序的可编程接口,因此套接字又称为应用程序编程接口(API)。10NankaiUniversity5.1.4网络环境中应用进程标识基于C/S的应用程序进程标识方法11WebTCP熟知端口号:80服务器端E-mailFTPSNMPDNS熟知端口号:25熟知端口号:20/21熟知端口号:161熟知端口号:53UDPIPWebTCP临时端口号E-mailFTPSNMPDNS临时端口号临时端口号临时端口号临时端口号UDPIP互联网客户端NankaiUniversity端口号的分配方法端口号的类型:•熟知端口号•注册端口号•临时端口号12NankaiUniversityIANA对端口号数值划分的规定•在TCP/IP协议族中,端口号的数值是取0~65535之间的整数;•IANA对于端口号数值范围的划分:1301023……102449151……65535……49152熟知端口号注册端口号临时端口号NankaiUniversity熟知端口号的分配方法UDP的熟知端口号的分配14端口号服务进程说明53domain域名服务67/68DHCP动态主机配置协议69TFTP简单文件传送协议111RPC远程过程调用123NTP网络时间协议161/162SNMP简单网络管理协议520RIP路由信息协议NankaiUniversityTCP的熟知端口号的分配15端口号服务进程说明20FTP文件传输协议(数据连接)21FTP文件传输协议(控制连接)23TELNET网络虚拟终端协议25SMTP简单邮件传输协议80HTTP超文本传输协议119NNTP网络新闻传输协议179BGP边界路由协议NankaiUniversity5.1.5传输层的多路复用与多路分解16TCPUDPIPTCP:80客户端服务器端互联网UDP:53UDP:161TCP:80TCP:25SMTPTCP:25TCPUDPIPUDP:53UDP:161TCP:80TCP:25UDP:53UDP:161TCP:25SMTPHTTPTCP:80HTTPDNSUDP:53DNSDNSUDP:161DNSNankaiUniversity5.2传输层协议的特点与比较5.2.1TCP与UDP协议的比较特征/描述TCPUDP一般描述允许应用程序可靠地发送数据,功能齐全简单、高速,只负责将应用层与网络层衔接起来面向连接或无连接面向连接,在TPDU传输之前需要建立TCP连接无连接,在TPDU传输之前不需要建立UDP连接与应用层的数据接口基于字节流,应用层不需要规定特定的数据格式基于报文,应用层需要将数据分成包来传送可靠性与确认可靠报文传输,对所有的数据均要确认不可靠,不需要对传输的数据确认,尽力而为地交付重传自动重传丢失的数据不负责检查是否丢失数据和重传开销低,但高于UDP很低传输速率高,但低于UDP很高适用的数据量从少量到几个GB的数据从少量到几百个字节的数据适用的应用类型对数据传输可靠性要求较高的应用,例如文件与报文传输发送数量比较少、对数据传输可靠性要求较低的应用,例如IP电话、视频会议、多播与广播17NankaiUniversity5.2.2TCP、UDP协议与应用层协议的关系18...传输层网络层数据链路层物理层SMTPFTPHTTPDNSSNMP应用层TCPUDPICMPIGMPRARPARPIP底层局域网与广域网协议...NankaiUniversity5.3UDP协议5.3.1UDP协议的主要特点:•UDP是一种无连接的、不可靠的传输层协议;•UDP是一种面向报文的传输层协议。19应用程序报文UDP用户数据报数据部分UDP头部IP分组的数据部分IP头部应用层传输层网络层NankaiUniversity5.3.2UDP报文格式•UDP报文有固定8字节的报头。20源端口号目的端口号校验和UDP总长度数据(数据不是16位的倍数时需要增加填充位)UDP报头01624318UDP报文NankaiUniversityUDP报头主要字段:端口号•端口号字段包括源端口号和目的端口号;•端口号字段长度为16位(2个字节);•源端口号表示发送端进程端口号,目的端口号表示接收端进程端口号;•如果源进程是客户端,则源端口号是由UDP软件分配的临时端口号;•服务器使用的是熟知端口号。21NankaiUniversity长度•长度字段长度也是16位(2字节),它定义了包括报头在内的用户数据报的总长度;•用户数据报的长度最大为65535字节,最小是8字节;•如果长度字段是8字节,那么说明该用户数据报只有报头,而没有数据。22NankaiUniversity校验和•UDP校验和字段是可选项;•UDP校验和用来检验整个用户数据报(包括报头)在传输中是否出现差错;•UDP校验和包括三个部分:伪报头(pseudoheader)、UDP报头与应用层数据。23NankaiUniversity5.3.3UDP校验和的基本概念与计算示例发送端计算UDP校验和的例子2410011001000100100000100001101001101010110000001000001110000010100000000000010001000000000000111100000100001111110000000000001101000000000000111100000000000000000101010001000101010100110101010001001001010011100100011100000000153.18.8.105171.2.14.1001715108713150TESTING0153.188.105171.214.100,1715108713150(校验和)T,ES,TI,NG,0(填充)1001011011101011和0110100100010100校验和NankaiUniversity5.3.4UDP协议适用的范围确定应用程序在传输层是否采用UDP协议的原则:•系统对性能的要求高于对数据完整性的要求;•需要“简短快捷”的数据交换;•需要多播和广播的应用;UDP协议是一种适用于实时语音与视频传输的传输层协议。25NankaiUniversity5.4TCP协议5.4.1TCP协议的主要特点支持面向连接的传输服务•应用程序在使用TCP传送数据之前,必须在源进程端口与目的进程端口之间建立一条传输连接;•每个TCP连接唯一地用双方端口号来标识;•每个TCP连接为通信双方的一次进程通信提供服务。26NankaiUniversity支持字节流的传输•流(stream)相当于一个管道,从一端放入什么内容,从另一端可以照原样取出什么内容,它描述了一个不出现丢失、重复和乱序的数据传输过程;•TCP在传输过程中将应用程序提交的数据看成是一连串的、无结构的字节流;•因此接收端应用程序数据字节的起始与终结位置必须由应用程序自己确定。27NankaiUniversityTCP协议支持字节流传输示意图28应用程序TCPIP客户端服务器端互联网1817161910981114131215IP654722212023TCP2425262728321应用程序字节打包成段从IP分组中提取的段将段封装成IP分组接收的IP分组应用程序发送的字节流从TCP段中拆封出的字节传送给应用程序传输中的IP分组发送缓存接收缓存NankaiUniversity支持全双工服务•TCP允许通信双方的应用程序在任何时候都可以发送数据;•由于通信的双方都设置有发送和接收缓冲区,应用程序将要发送的数据字节提交给发送缓冲区,数据字节的实际发送过程由TCP协议来控制;•接收端在接收到数据字节之后也将它存放到接收缓冲区,高层应用程序在它合适的时间到缓冲区中读取数据。29NankaiUniversity支持同时建立多个并发的TCP连接•根据应用程序的需要,TCP协议支持一个服务器与多个客户端同时建立多个TCP连接;•也支持一个客户端与多个服务器同时建立多个TCP连接;•TCP软件将分别管理多个TCP连接。30NankaiUniversity支持可靠传输服务•TCP是一种可靠的传输服务协议,它使用确认机制检查数据是否安全和完整地到达,并且提供拥塞控制功能;•TCP支持可靠数据通信的关键是对发送和接收的数据进行跟踪、确认与重传;•传输层传输的可靠性是建立在网络层基础上,同时也就会受到它们的限制。31NankaiUniversity总结TCP协议的特点是:•面向连接•面向字节流•支持全双工•支持并发连接•提供确认重传与拥塞控制32NankaiUniversity5.4.2TCP报文格式TCP报头长度为20~60字节,其中固定部分长度为20字节;选项部分长度可变,最多为40字节。33TCP头部数据源端口号(16bit)目的端口号(16bit)序号(32位)头部长度(4bit)校验和(16bit)窗口(16bit)选项及填充确认号(32位)保留(6bit)URGACKPSHRSTSYNFIN紧急指针(16bit)固定长度部分可变长度部分0161531NankaiUniversityTCP报头包括的主要字段:端口号•端口号字段包括源端口号与目的端口号;•每个端口号字段长度为16位(2字节),分别表示发送该报文段的应用进程的源端口号与接收进程的目的端口号。序号•序号字段长度为32位(4个字节),序号范围在0~(232

1 / 88
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功