您好,欢迎访问三七文档
第6章传输层返回本章首页6.1传输层基本概念6.2传输控制协议TCP6.3用户数据报协议UDP第6章传输层第6章传输层返回本章首页6.1传输层基本概念6.1.1传输服务6.1.2传输协议的要素第6章传输层返回本章首页传输层协议概述:传输层位于网络层与应用层之间,传输层利用网络层提供的服务,向应用层程序提供端到端的通信功能。传输层有2个主要协议传输控制协议(TCP)用户数据包协议(UDP)第6章传输层返回本章首页6.2传输控制协议TCP6.2.1TCP服务模型6.2.2TCP报文段结构6.2.3TCP连接管理6.2.4TCP传输控制第6章传输层返回本章首页传输控制协议TCP概述:TCP协议提供可靠的虚电路服务和面向数据流的传输服务,用户数据可以进行有序、可靠的传输--按序、无差错、不重复、无报文丢失。主要通过套接字(socket)为高层协议提供面向连接的传输服务。第6章传输层返回本章首页传输控制协议TCP套接字TCP使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将TCP连接的端点称为插口(socket),或套接字、套接口。插口和端口、IP地址的关系是:IP地址131.6.23.13端口号1500131.6.23.13:1500插口(socket)第6章传输层返回本章首页传输控制协议TCP工作过程:支持TCP的每个机器都有一个传输层入口,管理TCP数据流,并将其传送到IP层。TCP入口接收用户数据流,分成多个不大于64K字节的小块(通常为1500字节)作为一个个分离的IP数据报传送。当含有TCP数据的IP数据报到达后,再把这些小块按顺序收集起来,重构成用户原来的字节流发送时,网络层不保证数据报传输的可靠性,TCP协议支持数据报传输可靠性的主要方法是确认与超时重传。。IP数据报的到达也不保证原来的顺序,也由TCP重新组装成合适的顺序。第6章传输层返回本章首页TCP首部20字节的固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FIN32bitSYNRSTPSHACKURG比特08162431填充TCP数据部分TCP首部TCP报文段IP数据部分IP首部发送在前第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充源端口和目的端口字段——各占2字节。各包含一个TCP端口编号,分别标识连接两端的两个应用程序。本地的端口编号与IP主机的IP地址(32位)形成一个惟一的套接字。双方的套接字惟一定义了一次连接。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充序号字段——占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充数据偏移——占4bit,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。“数据偏移”的单位不是字节而是32bit字(4字节为计算单位)。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充保留字段——占6bit,保留为今后使用,但目前应置为0。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充紧急比特URG——当URG1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充确认比特ACK——只有当ACK1时确认号字段才有效。当ACK0时,确认号无效。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充推送比特PSH(PuSH)——接收TCP收到推送比特置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充复位比特RST(ReSeT)——当RST1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充同步比特SYN——同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充终止比特FIN(FINal)——用来释放一个连接。当FIN1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充窗口字段——占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充检验和——占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充紧急指针字段——占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充选项字段——长度可变。TCP只规定了一种选项,即最大报文段长度MSS(MaximumSegmentSize)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。”MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。第6章传输层返回本章首页TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG比特08162431填充填充字段——这是为了使整个首部长度是4字节的整数倍。第6章传输层返回本章首页传输控制协议TCP三次握手客户机发出建立连接请求,连接请求给定了所要连接的对方的IP地址和端口号、本身所能接收的最大数据报长度,并等待应答;当该数据段到达服务器后,服务器的TCP决定是接受还是拒绝客户机建立连接的请求,如接受请求则发送建立连接应答分组;客户机收到建立连接应答,回送确认连接的数据段。第6章传输层返回本章首页6.3用户数据报协议UDP6.3.1UDP协议的主要特点6.3.2UDP数据传输机制6.3.3UDP协议的应用第6章传输层返回本章首页用户数据包协议UDP概述:UDP是一种无连接的服务,不保证分组的正确传送,也不进行顺序控制,是对IP的简单扩充,可以区分一台主机中的多个接收者。第6章传输层返回本章首页UDP用户数据报的首部格式伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报第6章传输层返回本章首页源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节441122222字节发送在前数据首部UDP用户数据报用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。
本文标题:76传输层
链接地址:https://www.777doc.com/doc-3130956 .html