欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机网络_教学课件_6.ppt

    • 资源ID:82777955       资源大小:4.80MB        全文页数:121页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机网络_教学课件_6.ppt

    第五章 传输层第五章第五章 传输层传输层5.1 传输层协议概述传输层协议概述5.2 TCP/IP 体系中的传输层体系中的传输层5.3 用户数据报协议用户数据报协议 UDP5.4 传输控制协议传输控制协议 TCP5.5 WinSock网络编程简介网络编程简介5.6 本章作业本章作业1 RIP协议是协议是 层的协议,采用层的协议,采用 进行传送;进行传送;OSPF是是 层的协议,采用层的协议,采用 进行传送;进行传送;BGP是是 层的协议,采用层的协议,采用 进行传送;进行传送;第六章练习第六章练习应用层应用层 UDP网络层网络层 IP数据报数据报 应用层应用层 TCP2 IPv6允许三种类型的地址,它们分别是允许三种类型的地址,它们分别是 (1)地址;地址;(2)地址;地址;(3)地址;地址;练习练习单播单播 点对点通信点对点通信多播多播 一点对多点通信一点对多点通信任播任播 任播的目的站是一组计算机任播的目的站是一组计算机 但数据报在交付时只交付给其但数据报在交付时只交付给其中的一个,通常是距离最近的中的一个,通常是距离最近的一个一个练习练习3 在在IPv4首部中有一个首部中有一个“协议协议”字段,但在字段,但在IPv6的固定首部中却没有。这是为什么?的固定首部中却没有。这是为什么?IPv4中的协议字段指出,此数据报携带的传输层数中的协议字段指出,此数据报携带的传输层数据是使用何种协议,以便目的主机的据是使用何种协议,以便目的主机的IP层知道将此数据报层知道将此数据报交给哪个进程。交给哪个进程。在在IP数据报传送的路径上的所有路由器都不需要这数据报传送的路径上的所有路由器都不需要这一字段的信息,只有目的主机才需要协议字段。在一字段的信息,只有目的主机才需要协议字段。在IPv6中使用下一个首部字段完成中使用下一个首部字段完成IPv4中的协议字段的功能。中的协议字段的功能。练习练习4 在在IPv6没有首部检验和,这样做的优缺点是没有首部检验和,这样做的优缺点是什么什么?优点:对首部的处理更简单,路由器可以更快地处理分组。优点:对首部的处理更简单,路由器可以更快地处理分组。数据链路层已经将有差错的帧丢弃了,因此网络层可省去数据链路层已经将有差错的帧丢弃了,因此网络层可省去这一步骤。这一步骤。缺点:可能遇到数据链路层检测不出来的差错,当然此概缺点:可能遇到数据链路层检测不出来的差错,当然此概率极小。率极小。练习练习5 从从IPv4过渡到过渡到IPv6的方法有哪些的方法有哪些?1、双协议栈:主机或路由器装有两个协议栈,一个、双协议栈:主机或路由器装有两个协议栈,一个IPv4和一个和一个IPv6。双协议栈主机在和。双协议栈主机在和IPv6主机通信时是采用主机通信时是采用IPv6地址,和地址,和IPv4主机通信时就采用主机通信时就采用IPv4地址。地址。2、隧道技术:在、隧道技术:在IPv6数据要进入数据要进入IPv4网络时,将网络时,将IPv6数数据报封装成为据报封装成为IPv4数据报,那么整个数据报,那么整个IPv6数据报变为数据报变为IPv4数据报的数据部分。然后,数据报的数据部分。然后,IPv6数据报就在数据报就在IPv4网网络的隧道中传输。当络的隧道中传输。当IPv4数据报离开数据报离开IPv4网络中的隧道网络中的隧道时再将其数据部分,也就是原来的时再将其数据部分,也就是原来的IPv6数据报,交给主数据报,交给主机的机的IPv6协议栈。协议栈。练习练习6 双协议栈主机怎样知道目的主机是采用双协议栈主机怎样知道目的主机是采用IPv4地址还是采用地址还是采用IPv6地址?地址?双协议栈主机使用域名系统双协议栈主机使用域名系统DNS来查询。如果域名系统来查询。如果域名系统DNS返回的是返回的是IPv4地址,双协议栈的源主机就使用地址,双协议栈的源主机就使用IPv4地址。如果地址。如果DNS返回的是返回的是IPv6地址,源主机就使用地址,源主机就使用IPv6地址。地址。练习练习7 为什么为什么IPv6地址长度为地址长度为128位,而不是位,而不是64位位或其他的长度?或其他的长度?1、从地址的容量来看采用、从地址的容量来看采用128位,对未来网络的扩展有着充分的预位,对未来网络的扩展有着充分的预见性;见性;2、从、从cpu的处理能力来讲(经过了的处理能力来讲(经过了2、4、8、16、32、64位),位),128位位cpu在不久的将来也会普及。在计算机中,当数据能用在不久的将来也会普及。在计算机中,当数据能用2的指数的指数次幂字长位的二进制数表示时,次幂字长位的二进制数表示时,CPU对数值的处理效率最高。对数值的处理效率最高。IPv4地址对应的是地址对应的是32比特字长就是因为当时的互联网上的主机比特字长就是因为当时的互联网上的主机CPU字长字长为为32位。位。ipv6的的128位符合位符合cpu高效工作的要求。高效工作的要求。将地址定为将地址定为64位在网络扩展性上显得不足,定为其它的一个长度位在网络扩展性上显得不足,定为其它的一个长度在硬件芯片设计、程序编制方面的效率都将下降,因此从处理效率和在硬件芯片设计、程序编制方面的效率都将下降,因此从处理效率和未来网络扩展性上考虑,未来网络扩展性上考虑,IPv6的地址长度定为的地址长度定为128位是十分合适的。位是十分合适的。5.1 传输层协议概述传输层协议概述l传输层在传输层在OSI模型中的位置模型中的位置介于通信子网和资源子网之间,对高层用户屏蔽了通信的细节;介于通信子网和资源子网之间,对高层用户屏蔽了通信的细节;弥补了通信子网所提供服务的差异和不足,提供端到端之间的无弥补了通信子网所提供服务的差异和不足,提供端到端之间的无差错保证差错保证传输层工作的简繁取决于通信子网提供服务的程度传输层工作的简繁取决于通信子网提供服务的程度物理层网络层传输层应用层数据链路层传输的使用者传输的提供者资源子网通信子网表示层会话层5.1 传输层协议概述传输层协议概述54321传输层提供应用进程间的逻辑通信主机 A主机 B应用进程应用进程路由器 1路由器 2AP1LAN2WANAP2AP3AP4IP 层LAN1AP1AP2AP4端口端口54321IP 协议的作用范围传输层协议 TCP 和 UDP 的作用范围AP35.1 传输层协议概述传输层协议概述l两个主机通信两个主机通信两个主机中的应用进程通信。两个主机中的应用进程通信。l应用进程之间的通信应用进程之间的通信端到端的通信。端到端的通信。点对点通信点对点通信 vs 端到端通信?端到端通信?5.1 传输层协议概述传输层协议概述l传输层协议和网络层协议的主要区别传输层协议和网络层协议的主要区别应用进程应用进程IP 协议的作用范围(提供主机之间的逻辑通信)TCP 和 UDP 协议的作用范围(提供进程之间的逻辑通信)因 特 网5.1 传输层协议概述传输层协议概述l传输层与其上下层之间的关系的传输层与其上下层之间的关系的 OSI 表示表示传输实体传输实体传输协议传输层层接口 传输服务用户(应用层实体)传输服务用户(应用层实体)层接口 网络层(或网际层)应用层主机 A主机 B传输层服务访问点TSAP网络层服务访问点NSAP传输层使高层用户看见的好象就在两个传输层实体之间有一条传输层使高层用户看见的好象就在两个传输层实体之间有一条端到端的、可靠的、全双工的通信通路(即数字管道)端到端的、可靠的、全双工的通信通路(即数字管道)5.1 传输层协议概述传输层协议概述l传输层提供的服务传输层提供的服务面向连接的服务:可靠通信,对数据有校验和重发面向连接的服务:可靠通信,对数据有校验和重发 如如TCP/IP模型中的模型中的FTP、Telnet。面向非连接的服务:对数据无校验和重发,通信速率面向非连接的服务:对数据无校验和重发,通信速率高高 如如TCP/IP模型中的模型中的SNMP TCP面向连接,面向连接,UDP无连接无连接应用层协议应用层协议应用层应用层TCPUDP传输层传输层IP网络层网络层与各种网络接口与各种网络接口5.1 传输层协议概述传输层协议概述lTCP 与与 UDP 主要区别主要区别?应应用用层层传传输输层层发送进程接收进程接收进程数据数据全双工可靠信道数据数据使用 TCP 协议使用 UDP 协议不可靠信道发送进程5.1 传输层协议概述传输层协议概述l传输服务原语传输服务原语传输服务原语是应用程序和传输服务之间的接口传输服务原语是应用程序和传输服务之间的接口一个典型的面向连接的服务原语一个典型的面向连接的服务原语5.1 传输层协议概述传输层协议概述l伯克利套接字(伯克利套接字(Berkeley Sockets)5.1 传输层协议概述传输层协议概述l典型的套接字应用过程典型的套接字应用过程5.1 传输层协议概述传输层协议概述l传输层与数据链路层的比较传输层与数据链路层的比较相同点:数据的传送相同点:数据的传送 不同点:不同点:数据链路层通过物理通道直接通信,传输层面对的传输通道是一数据链路层通过物理通道直接通信,传输层面对的传输通道是一个网络;数据链路层的连接建立很简单,而传输层要复杂得多个网络;数据链路层的连接建立很简单,而传输层要复杂得多数据链路层的通信是点对点的,每条输出线对应了唯一的一个设数据链路层的通信是点对点的,每条输出线对应了唯一的一个设备,而传输层则需要给出目的端地址备,而传输层则需要给出目的端地址在数据链路层无中间存储环节,而在传输层,每一途径的路由器在数据链路层无中间存储环节,而在传输层,每一途径的路由器都是存储、寻径、转发,而寻径到转发的时间随路由器本身和路都是存储、寻径、转发,而寻径到转发的时间随路由器本身和路由算法而定由算法而定数据链路层通常使用一对发送缓冲区和接收缓冲区,而在传输层,数据链路层通常使用一对发送缓冲区和接收缓冲区,而在传输层,对每个连接都必须分配一定的缓冲区,其缓冲区的管理将复杂得对每个连接都必须分配一定的缓冲区,其缓冲区的管理将复杂得多多5.2 TCP/IP 体系中的传输层体系中的传输层5.2.1 传输层中的两个协议传输层中的两个协议TCP/IP 的传输层有两个不同的协议:的传输层有两个不同的协议:(1)用户数据报协议用户数据报协议 UDP(User Datagram Protocol)(2)传输控制协议传输控制协议 TCP(Transmission Control Protocol)l两个对等的传输实体在通信时传送的数据单位:两个对等的传输实体在通信时传送的数据单位:传输协议数据单元传输协议数据单元 TPDU(Transport Protocol Data Unit)。(1)TCP 传送的数据单位是传送的数据单位是 TCP 报文段报文段(segment)(2)UDP 传送的数据单位是传送的数据单位是 UDP 报文或用户数据报报文或用户数据报 5.2 TCP/IP 体系中的传输层体系中的传输层5.2.1 传输层中的两个协议传输层中的两个协议TCP 与与 UDPUDP 在传送数据之前不需要先建立连接。在传送数据之前不需要先建立连接。对方的传输实体收到 UDP 报文后,不需给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。TCP 则提供面向连接的服务。则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。不仅使协议数据单元的首部增大很多,还要占用较多的处理机资源。5.2 TCP/IP 体系中的传输层体系中的传输层5.2.1 传输层中的两个协议传输层中的两个协议TCP 与与 UDPTPDU 与与 IP 数据报的区别:数据报的区别:IP 数据报要经过互连网中许多路由器的存储转发UDP 用户数据报在传输层抽象的不可靠的端到端逻辑信道中传送。TCP 报文段在传输层抽象的可靠的全双工端到端逻辑信道中传送。传输层抽象的端到端逻辑信道不知道究竟经过了哪些路由器;这些路由器也根本不知道上面的传输层是否建立了 TCP 连接。TCP与虚电路方式的区别?5.2 TCP/IP 体系中的传输层体系中的传输层5.2.2 端口的概念端口的概念端口端口=传输层的服务访问点传输层的服务访问点 TSAP。端口的作用:端口的作用:让应用层的各种应用进程都能将其数据通过端口向下交让应用层的各种应用进程都能将其数据通过端口向下交付给传输层付给传输层让传输层知道应当将其报文段中的数据向上通过端口交让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程付给应用层相应的进程从这个意义上讲,端口用来标志应用层的进程。从这个意义上讲,端口用来标志应用层的进程。5.2 TCP/IP 体系中的传输层体系中的传输层5.2.2 端口的概念端口的概念应应用用层层传传输输层层网网络络层层TCP 报文段UDP用户数据报应用进程TCP 复用IP 复用UDP 复用TCP 报文段UDP用户数据报 应用进程端口端口端口端口TCP 分用UDP 分用IP 分用发送方接收方5.2 TCP/IP 体系中的传输层体系中的传输层5.2.2 端口的概念端口的概念端口用一个端口用一个 16 bit 端口号进行标志。端口号进行标志。端口号只具有本地意义,即端口号只是为了标志本计端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。同端口号是没有联系的。两类端口:两类端口:熟知端口,其数值一般为熟知端口,其数值一般为 01023。当一种新的应用程序出。当一种新的应用程序出现时,必须为它指派一个熟知端口。现时,必须为它指派一个熟知端口。一般端口,用来随时分配给请求通信的客户进程。一般端口,用来随时分配给请求通信的客户进程。5.2 TCP/IP 体系中的传输层体系中的传输层5.2.2 端口的概念端口的概念套接字套接字(socket)TCP 使用使用“连接连接”(而不仅仅是而不仅仅是“端口端口”)作为最基本的作为最基本的抽象,同时将抽象,同时将 TCP 连接的端点称为套接字连接的端点称为套接字(socket)。套接字和端口、套接字和端口、IP 地址的关系是:地址的关系是:IP 地址131.6.23.13 端口号1500 131.6.23.13,1500套接字(socket)5.2 TCP/IP 体系中的传输层体系中的传输层5.2.2 端口的概念端口的概念套接字套接字(socket)一个套接字允许被多个连接同时使用,即多个连接可同一个套接字允许被多个连接同时使用,即多个连接可同时连接到同一个套接字上时连接到同一个套接字上。5.2 TCP/IP 体系中的传输层体系中的传输层5.2.2 端口的概念端口的概念套接字套接字(socket)网络网络应用编程接口应用编程接口 API 称为称为 socket API,简称为简称为 socket。socket API 中使用的一个函数名也叫作中使用的一个函数名也叫作socket。调用调用 socket 函数的端点称为函数的端点称为 socket。调用调用 socket 函数时其返回值称为函数时其返回值称为 socket 描述符,简称描述符,简称为为 socket。在操作系统内核中连网协议的在操作系统内核中连网协议的 Berkeley 实现,称为实现,称为 socket 实现。实现。5.3 用户数据包协议用户数据包协议 UDP5.3.1 UDP 概述概述UDP 只在只在 IP 的数据报服务之上增加了很少一点的功能,的数据报服务之上增加了很少一点的功能,即端口功能和差错检测功能。即端口功能和差错检测功能。虽然虽然 UDP 用户数据报只能提供不可靠的交付,但用户数据报只能提供不可靠的交付,但 UDP 在某些方面有其特殊的优点在某些方面有其特殊的优点:发送数据之前不需要建立连接发送数据之前不需要建立连接UDP 的主机不需要维持复杂的连接状态表的主机不需要维持复杂的连接状态表UDP 用户数据报只有用户数据报只有8个字节的首部开销个字节的首部开销网络出现的拥塞不会使源主机的发送速率降低网络出现的拥塞不会使源主机的发送速率降低,这对某这对某些实时应用些实时应用特别有用特别有用。5.3 用户数据包协议用户数据包协议 UDP5.3.1 UDP 概述概述使用使用 UDP 的常见应用及应用层协议的常见应用及应用层协议 应用应用应用层协议应用层协议传输层协议传输层协议名字转换名字转换DNSUDP文件传送文件传送TFTPUDP路由选择协议路由选择协议RIPUDPIP 地址配置地址配置BOOTP、DHCPUDP网络管理网络管理SNMPUDP远程文件服务器远程文件服务器NFSUDPIP 电话电话专用协议专用协议UDP流媒体流媒体专用协议专用协议UDP多播多播IGMPUDP5.3 用户数据包协议用户数据包协议 UDP5.3.1 UDP 概述概述UDP 与应用层之间的端口采用报文队列实现与应用层之间的端口采用报文队列实现 UDP 端口端口 51000UDP 端口端口 69出队列出队列入队列入队列出队列出队列入队列入队列TFTP 服务器服务器TFTP 客户客户UDP 用户数据报用户数据报应应用用层层运运输输层层5.3 用户数据包协议用户数据包协议 UDP5.3.2 UDP 数据报首部格式数据报首部格式伪首部伪首部源端口源端口目的端口目的端口长长 度度检验和检验和数数 据据首首 部部UDP长度长度源源 IP 地址地址目的目的 IP 地址地址017IP 数据报数据报字节字节44112122222字节字节发送在前发送在前数数 据据首首 部部UDP 用户数据报用户数据报5.3 用户数据包协议用户数据包协议 UDP5.3.2 UDP 数据报首部格式数据报首部格式计算计算 UDP 校验和校验和10011001 00010011153.1900001000 011010008.10410101011 00000011171.300001110 0000101114.1100000000 000100010 和 1700000000 000011111500000100 00111111108700000000 000011011300000000 000011111500000000 000000000(检验和)01010100 01000101数据01010011 01010100数据01001001 01001110数据01000111 00000000数据和填充10010110 11101101求和的结果01101001 00010010检验和 153.19.8.104171.3.14.1112 字节伪首部8 字节UDP 首部7 字节数据填充按二进制反码运算求和将得出的结果求反码全 0 17 15 1087 13 15 全 0数据 数据 数据 数据数据 数据 数据 全 05.3 用户数据包协议用户数据包协议 UDP5.3.3 UDP 应用举例应用举例-RPC(Remote Procedure Call)将网络中的请求将网络中的请求-应答交互表示成过程调用形式,应答交互表示成过程调用形式,例如:调用例如:调用get-IP-address(主机名)(主机名),将发送将发送一个一个UDP包给包给DNS服务器,并等待回答服务器,并等待回答RPC对程序员屏蔽了网络运作的细节对程序员屏蔽了网络运作的细节RPC是是UDP的一个重要应用的一个重要应用 5.3 用户数据包协议用户数据包协议 UDP5.3.3 UDP 应用举例应用举例-RPC(Remote Procedure Call)一次一次RPC的过程的过程Stub是一个程序模块,用于在客户机和服务器之间传输远程过程是一个程序模块,用于在客户机和服务器之间传输远程过程调用和响应的承接程序调用和响应的承接程序 5.3 用户数据包协议用户数据包协议 UDP5.3.3 UDP 应用举例应用举例-RTP(Real-Time Transport Protocol)UDP的另一个重要应用是的另一个重要应用是RTPRTP是一个传输层协议,但在应用层实现是一个传输层协议,但在应用层实现RTP是用于多媒体数据传输的协议是用于多媒体数据传输的协议RTP在协议栈中的位置在协议栈中的位置5.3 用户数据包协议用户数据包协议 UDP5.3.3 UDP 应用举例应用举例-RTP(Real-Time Transport Protocol)将多个实时数据流多路复用到一个将多个实时数据流多路复用到一个UDP流上,流上,UDP流能被送流能被送给某个地址(单址传输)或多个地址(多址传输)给某个地址(单址传输)或多个地址(多址传输)每个每个RTP流的数据包有一个连续的编号,接收方可以根据此编流的数据包有一个连续的编号,接收方可以根据此编号确定是否有数据包丢失号确定是否有数据包丢失RTP没有流量控制、差错控制、应答以及重传机制没有流量控制、差错控制、应答以及重传机制RTP的载荷可以是不同的多媒体信息,如单个的的载荷可以是不同的多媒体信息,如单个的音频音频流,流,可以可以是是8bit-8kHz的的PCM编码编码,也可以是也可以是GSM、MP3等,等,编码方式在编码方式在RTP的包头上指出的包头上指出实时应用的另一个特征是需要时间戳,时间戳是相对于流的实时应用的另一个特征是需要时间戳,时间戳是相对于流的第一个数据包的,这有助于在接收方消除抖动,以及多个流第一个数据包的,这有助于在接收方消除抖动,以及多个流的同步的同步(如数字电视中的视频流和音频流)(如数字电视中的视频流和音频流)5.3 用户数据包协议用户数据包协议 UDP5.3.3 UDP 应用举例应用举例-RTP(Real-Time Transport Protocol)RTP的头部格式的头部格式5.3 用户数据包协议用户数据包协议 UDP5.3.3 UDP 应用举例应用举例-RTP(Real-Time Transport Protocol)RTP的头部字段的头部字段P:指出数据包是否被填充为:指出数据包是否被填充为4字节的整倍数字节的整倍数X:是否有扩展头:是否有扩展头CC:有多少个有效源(:有多少个有效源(0-15)M:应用指定的标记位,如表示:应用指定的标记位,如表示video帧的开始帧的开始载荷类型:指出信息的编码方式载荷类型:指出信息的编码方式顺序号:顺序号:RTP包的序号包的序号时间戳:由发送源产生,表示与第一个包的时间间隔同步源标时间戳:由发送源产生,表示与第一个包的时间间隔同步源标记:数据包属于哪个流,用于多路复用或解多路复用记:数据包属于哪个流,用于多路复用或解多路复用有效源标记:用于混合数据源,如果该字段出现,则该混合源有效源标记:用于混合数据源,如果该字段出现,则该混合源是同步数据源,每个分数据源被列在这里是同步数据源,每个分数据源被列在这里5.4 传输控制协议传输控制协议 TCP5.4.1 TCP 概述概述TCP提供的服务提供的服务面向连接(面向连接(Connection Orientation)端到端的服务(端到端的服务(End to End Communication)完全可靠性服务(完全可靠性服务(Complete Reliability)IP协议不提供可靠性服务,而协议不提供可靠性服务,而TCP将在将在IP的基础上提供可靠性的基础上提供可靠性服务并保证数据发送和接收次序一致服务并保证数据发送和接收次序一致全双工服务(全双工服务(Full Duplex Communication)流接口(流接口(Stream Interface)可靠的连接建立(可靠的连接建立(Reliable Connection Startup)完美的连接终止(完美的连接终止(Graceful Connection Shutdown)5.4 传输控制协议传输控制协议 TCP5.4.1 TCP 概述概述端口发送 TCP 报文段TCPTCP接收缓存发送缓存报文段报文段报文段端口发送端接收端向发送缓存写入数据块从接收缓存读取数据块应用进程应用进程5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充TCP 数据部分数据部分TCP 首部首部TCP 报文段报文段5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充源端口和目的端口字段各占 2 字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充数据偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 32 bit 字(4 字节为计算单位)。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充保留字段占 6 bit,保留为今后使用,但目前应置为 0。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立传输连接。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充同步比特 SYN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充窗口字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充选项字段 长度可变。TCP规定了一种选项,即最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充TCP还规定了一种选项,即窗口扩大因子n。新窗口的大小=首部中定义的窗口大小*2n 5.4 传输控制协议传输控制协议 TCP5.4.2 TCP 报文段的首部报文段的首部TCP首部首部20 字节的字节的固定首部固定首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充填充字段 这是为了使整个首部长度是 4 字节的整数倍。5.4 传输控制协议传输控制协议 TCP5.4.3 TCP 的数据编号与确认的数据编号与确认TCP 协议是面向字节的:将所要传送的报文看成是字协议是面向字节的:将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。节组成的数据流,并使每一个字节对应于一个序号。在连接建立时,双方要商定初始序号。在连接建立时,双方要商定初始序号。TCP 每次发送每次发送的报文段的首部中的序号字段数值表示该报文段中的的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。数据部分的第一个字节的序号。TCP 的确认是对接收到的数据的最高序号表示确认。的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加接收端返回的确认号是已收到的数据的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一因此确认号表示接收端期望下次收到的

    注意事项

    本文(计算机网络_教学课件_6.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开