- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络课件-第7章-2003
东北大学 姚 羽 yaoyu@ 第七章 运输层 传输服务 面向连接的TCP协议 无连接的UDP协议 socket编程概述 7.1 传输服务 为应用进程提供端到端的服务 增强网络层提供的服务质量QoS 传输实体 Transport Entity 在收/发两端的传输层实现对等实体通信的硬件或软件 利用网络层提供的点到点的分组传输服务 向高层提供端到端的TPDU(传输协议数据单元)传输服务 传输层的地位 传输层的必要性 网络层的分组传输是不可靠的 无法确定数据到达终点的时间 子网中各站点存储转发的随机性 无法确定数据未达终点的状态 丢失/延迟/即刻到达 有必要增强网络层提供的服务质量 7.2 面向连接的TCP协议 TCP协议概述 TCP的端口 TCP的TPDU TCP的连接管理 TCP的传输控制 TCP协议的基本概念 Transmission Control Protocol 为应用进程提供可靠的、端到端的、面向连接的字节流通信的协议 利用网络层IP协议提供的不可靠的分组传输服务,解决分组的重传和排序问题 由RFC793正式定义 为 Internet的许多著名应用提供传输服务 TCP协议的传输实体 软件实现 用户进程 操作系统核心的一部分 管理TCP字节流 实现与IP层的接口 TCP连接的性质 全双工 支持同时的双向传输 Unicast 只支持两端点之间的通信,不支持Multicast和Broadcast 面向字节流 TCP的端口 用套接口创建通信端点 TCP协议的端口定义 TCP协议的保留端口 TCP连接举例 收发双方创建套接口通信端点 什么是套接口socket 4BSD UNIX首先提出的进程通信机制 用套接口标识用户进程通信的端点 TCP的端点标识 (访问端口,主机IP地址 ) TCP协议的端口定义 用16bit区分216个端口 众所周知端口 全局分配,用于标准服务器 取值小于1024 临时端口 本地分配(主机建立连接时为用户进程动态分配的端口) 取值大于等于1024 TCP保留端口举例 FTP应用连接端口举例 TCP协议 TCP头部 固定部分:20字节 可选部分 数据 适应IP的载荷能力(小于65535Byte) 适应网络的MTU TCP的封装 TCP首部 TCP首部的标志字段 URG 紧急指针域有效 ACK 确认域有效 PSH 不必缓冲区满即可上传 RST 复位,用于崩溃或错误连接 SYN 用于建立连接的同步序号 FIN 表示发送方到达数据结尾 TCP的连接管理 建立连接 服务器:LISTEN,ACCEPT 客户机:CONNECT 释放连接 CLOSE 三次握手建立连接 Three-way handshaking 正常建立连接过程 三次握手建立TCP连接 三次握手建立连接过程 释放连接 非对称释放 发送释放请求后单方终止连接 有可能丢失对方发送的数据 对称释放 各自独立发出释放连接请求 收到对方的释放确认之后才可释放连接 Two-army问题 三次握手? 改进的三次握手 Two-army Problem 通信兵穿越白军防地,不可靠通信 蓝军2不知道蓝军1是否收到确认,不能贸然行动 TCP的滑动窗口 使用选择重传ARQ 接收有可能乱序 接收方ACK接收窗口中的第一个编号 7.3 无连接的UDP协议 UDP协议概述 UDP的Port UDP的报文格式 UDP传输服务举例 UDP与TCP的比较 UDP协议概述 为应用进程提供无连接的数据传输服务 适用场合 实时数据传输 节省建立/释放连接和重传的开销 由应用层解决纠错问题 由RFC768定义标准 UDP的端点标识:Port 用216端口区分不同的应用进程 发送端 分配源端口,指定宿端口,构造UDP数据报,交IP 接收端 匹配UDP头部宿端口的应用进程 匹配成功,数据报排入相应的队列,若端口队列满,则丢弃数据报 匹配不成功,丢弃数据报,回送“宿端口不可达”的ICMP报文 UDP保留端口举例 UDP的PDU UDP协议数据单元 数据报 datagram UDP数据报的封装 UDP头部 UDP伪头部 UDP数据报的封装 UDP数据报 UDP首部 UDP伪首部 UDP与TCP的比较 TCP 面向连接的传输服务 unicast UDP 无连接的传输服务 broadcast/multicast 7.4 套接字 什么是套接字socket 4BSD UNIX首先提出的进程通信机制 用套接口标识用户进程通信的端点 TCP和UDP的端点标识 (访问端口,主机IP地址 ) 套接字socket原理解释 应用层 传输层 NAMESERVER BOOTP TFTP SUNRPC DNS 42 67 69 111 53 Port 帧 IP
文档评论(0)