第8章传输层协议 81进程间通信 82TcP段格式 83TcP连接的建立和拆除 8.4TcP流量控制 8.5TcP拥塞控制 8.6TcP差错控制 8.7TcP状态转换图 88用户数据报协议UDP
第8章 传输层协议 8.1 进程间通信 8.2 TCP段格式 8.3 TCP连接的建立和拆除 8.4 TCP流量控制 8.5 TCP拥塞控制 8.6 TCP差错控制 8.7 TCP状态转换图 8.8 用户数据报协议UDP
81进程间通信 由于在一台计算机中同时存在多个进程,要进 行进程间的通信,首先要解决进程的标识问题 TCP和UDP采用协议端口来标识某一主机上的 通信进程。 必须给出全局惟一的信宿端的进程标识符。主 机可以用IP地址进行标识,IP地址是全局惟 的,再给主机上的进程赋予一个本地惟一的 标识符一端口号,二者加起来,便形成了进程 的全局惟一标识符
8.1 进程间通信 • 由于在一台计算机中同时存在多个进程,要进 行进程间的通信,首先要解决进程的标识问题。 TCP和UDP采用协议端口来标识某一主机上的 通信进程。 • 必须给出全局惟一的信宿端的进程标识符。主 机可以用IP地址进行标识,IP地址是全局惟 一的,再给主机上的进程赋予一个本地惟一的 标识符—端口号,二者加起来,便形成了进程 的全局惟一标识符
端口:传输层服务访问点TSAP。 从内部实现看,端口是一种抽象的软件结构(数据 结构和Wo缓冲区) 从通信对方看,端口是通信进程的标识,应用进 程通过系统调用与端口建立关联后,传输层传给 该端口的数据都会被相应的应用进程所接收 从本地应用进程看,端口是进程访问传输服务的 入口点。 每个端口拥有一个端口号( port number), 端口号是16比特的标识符,因此,端口号的 取值范围是从0到65535。 端口分配有两种基本的方式:全局端口分配和 本地端口分配
• 端口:传输层服务访问点TSAP。 – 从内部实现看,端口是一种抽象的软件结构(数据 结构和I/O缓冲区) – 从通信对方看,端口是通信进程的标识,应用进 程通过系统调用与端口建立关联后,传输层传给 该端口的数据都会被相应的应用进程所接收 – 从本地应用进程看,端口是进程访问传输服务的 入口点。 • 每个端口拥有一个端口号(port number), 端口号是16比特的标识符,因此,端口号的 取值范围是从0到65535。 • 端口分配有两种基本的方式:全局端口分配和 本地端口分配
TcP和UDP都是提供进程通信能力的传输层协议,各 有一套端口号,都是从0到65535。 同一个端口在TcP和UDP中可能对应于不同类型的应 用进程,也可能对应于相同类型的应用进程。为了区 别TCP和UDP的进程,除了给出主机P地址和端口号 之外,还要指明协议。 因特网中要全局惟一地标识一个进程必须采用一个 元组:(协议,主机地址,端口号) 网络通信是两个进程之间的通信,两个通信的进程构 成一个关联。这个关联应该包含两个三元组,由于通 信双方采用的协议必须是相同的,可以用一个五元组 来描述两个进程的关联:(协议,本地主机地址,本地端 口号远地主机地址远地端口号)
• TCP和UDP都是提供进程通信能力的传输层协议,各 有一套端口号,都是从0到65535。 • 同一个端口在TCP和UDP中可能对应于不同类型的应 用进程,也可能对应于相同类型的应用进程。为了区 别TCP和UDP的进程,除了给出主机IP地址和端口号 之外,还要指明协议。 • 因特网中要全局惟一地标识一个进程必须采用一个三 元组:(协议,主机地址,端口号) • 网络通信是两个进程之间的通信,两个通信的进程构 成一个关联。这个关联应该包含两个三元组,由于通 信双方采用的协议必须是相同的,可以用一个五元组 来描述两个进程的关联:(协议,本地主机地址,本地端 口号,远地主机地址,远地端口号)
·因特网通信进程间的相互作用模式:客户服务 器模型。客户服务器模型相互作用的过程是 客户向服务器发出服务请求,服务器完成客户 所要求的操作,然后给出响应。 ·服务器一般先于客户端启动,为了让客户能够 找到服务器,服务器必须使用一个客户熟知的 地址,客户可以根据此地址向服务器提出服务 请求。 熟知地址的含义:协议是双方约定的协议,主 机P地址是固定且公开的,端口号是大家所熟 知的
• 因特网通信进程间的相互作用模式:客户/服务 器模型。客户/服务器模型相互作用的过程是: 客户向服务器发出服务请求,服务器完成客户 所要求的操作,然后给出响应。 • 服务器一般先于客户端启动,为了让客户能够 找到服务器,服务器必须使用一个客户熟知的 地址,客户可以根据此地址向服务器提出服务 请求。 • 熟知地址的含义:协议是双方约定的协议,主 机IP地址是固定且公开的,端口号是大家所熟 知的
每一个标准的服务器都拥有一个熟知的端口号, 不同主机上相同服务器的端口号是相同的。客 户进程一般采用临时端口号,而不采用熟知的 端口号。临时端口是使用时向操作系统申请, 由操作系统分配,使用完后再交由操作系统管 理的端口。因此,只要同一时间同一主机上的 应用进程数量不超过可分配的临时端口数量就 能保证系统的正常运行 熟知端口所占端口号不多,以全局方式进行分 配。TCP和UDP规定,小于1024的端口号用 作熟知端口,熟知端口又称为保留端口
• 每一个标准的服务器都拥有一个熟知的端口号, 不同主机上相同服务器的端口号是相同的。客 户进程一般采用临时端口号,而不采用熟知的 端口号。临时端口是使用时向操作系统申请, 由操作系统分配,使用完后再交由操作系统管 理的端口。因此,只要同一时间同一主机上的 应用进程数量不超过可分配的临时端口数量就 能保证系统的正常运行。 • 熟知端口所占端口号不多,以全局方式进行分 配。TCP和UDP规定,小于1024的端口号用 作熟知端口,熟知端口又称为保留端口
从1024到65535编号的端口为临时端口, 临时端口又称为自由端口。临时端口占 全部端口的绝大部分,以本地方式进行 分配。当进程要与远地进程通信时,首 先申请一个临时端口,然后根据全局分 配的熟知端口号与远地服务器建立联系, 传输数据。 ·TCPP结合了两种端口分配方式,既保 证了灵活性,又方便了建立通信进程间 的联系
• 从1024到65535编号的端口为临时端口, 临时端口又称为自由端口。临时端口占 全部端口的绝大部分,以本地方式进行 分配。当进程要与远地进程通信时,首 先申请一个临时端口,然后根据全局分 配的熟知端口号与远地服务器建立联系, 传输数据。 • TCP/IP结合了两种端口分配方式,既保 证了灵活性,又方便了建立通信进程间 的联系
01023 102449151 4915265535 Well-known Registered dynamIc
0—1023 Well-known 1024—49151 Registered 49152—65535 Dynamic
TcP要将数据分为分组,TCP所采用的分组称 为TCP段。TCP段不定长,被封装在P数据报 中传输。IP数据报不能保证数据的按序到达, 还可能造成数据的丢失或毁坏,这些问题经过 TCP协议的处理后,对上层提供的是可靠的无 差错的服务。 主机A 临时端口 Tele Telnet 主机B 客户 服务器熟知端口 -153068 1|23 UDP TCP TCP UDP IP地址:192.168.1.2 IP地址:192.1686.4 字节流 图8-1进程标识与流传输 返回
• TCP要将数据分为分组,TCP所采用的分组称 为TCP段。TCP段不定长,被封装在IP数据报 中传输。IP数据报不能保证数据的按序到达, 还可能造成数据的丢失或毁坏,这些问题经过 TCP协议的处理后,对上层提供的是可靠的无 差错的服务。 图 8-1 进程标识与流传输 | | UDP 字节流 | | | | TCP |53068| | | TCP | 23 | | | UDP | | 临时端口 熟知端口 Telnet 客户 Telnet 服务器 IP 地址:192.168.1.2 IP 地址:192.168.6.4 主机 A 主机 B 返回
82TcP段格式 TCP将应用层的数据分块并封装成TcP段进行 发送。 TcP段=段首部+数据 段首部(20到60字节)=定长部分+变长部分 定长部分长度:20字节 ·变长部分=选项+填充,长度:0到40字节之间。 TcP段格式中各个字段的含义和作用
8.2 TCP段格式 TCP将应用层的数据分块并封装成TCP段进行 发送。 TCP段=段首部+数据 • 段首部(20到60字节)=定长部分+变长部分 • 定长部分长度:20字节 • 变长部分=选项+填充,长度:0到40字节之间。 TCP段格式中各个字段的含义和作用: