Chapter 3 outline 口31 Transport-ayer 03. 5 Connection-oriented services transport: TCP 口3.2 Multiplexing and o segment structure demultiplexing o reliable data transfer 03. 3 Connectionless flow control transport: UDP o connection management O 3.4 Principles of 口36 Principles of eliable data transfer congestion control 口3.7 TCP congestion control Transport Layer 3-7
Transport Layer 3-7 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 Principles of congestion control 3.7 TCP congestion control
3.2多路复用与多路分解 传输层基本服务:将主机间交付扩展到进程间交付 (发送端)多路复用: (接收端)多路分解: 传输层从多个套接字收集数据,交传输层将收到的数据交付到正确 给网络层发送 的套接字 application application P2 application L socket P3 P4 process transport rk trarsport network network link physical physical ransport Layer 3-8
Transport Layer 3-8 3.2 多路复用与多路分解 process socket 传输层将收到的数据交付到正确 的套接字 (接收端)多路分解: 传输层从多个套接字收集数据,交 给网络层发送 (发送端)多路复用: transport application physical link network P1 P2 transport application physical link network P4 transport application physical link network P3 传输层基本服务:将主机间交付扩展到进程间交付
如何进行多路复用和多路分解? 为将邮件交付给收信人: 为将报文段交付给套接字: 口每个收信人应有一个信箱,口主机中每个套接字应分配 写有收信人地址和姓名(唯 个唯一的标识 标识) 口报文段中包含接收套接字的 口信封上有收信人地址和名字 标识 口多路复用: 口发送方传输层将源/目的套接字标识置于报文段中,交给网 终层 口多路分解: 口接收方传输层根据报文段中的目的套接字标识,将报文段交 付到正确的套接字 Transport Layer 3-9
如何进行多路复用和多路分解? 为将邮件交付给收信人: 每个收信人应有一个信箱, 写有收信人地址和姓名(唯 一标识) 信封上有收信人地址和名字 为将报文段交付给套接字: 主机中每个套接字应分配一 个唯一的标识 报文段中包含接收套接字的 标识 Transport Layer 3-9 多路复用: 发送方传输层将源/目的套接字标识置于报文段中,交给网 络层 多路分解: 接收方传输层根据报文段中的目的套接字标识,将报文段交 付到正确的套接字
套接字与端口号 口端口号是套接字标识的一部分 32 bits o每个套接字在本地关联一个端口号 source por# dest port# 口端口号: O一个16比特的数 other header fields o0~1023由公共域协议使用,称众 所周知的端口号 口报文段中有两个字段携带端口号 application o源端口号:与发送进程关联的本地 data 端口号 (message) o目的端口号:与接收进程关联的本 地端口号 TCP/UDP报文段格式 Transport layer 3-10
Transport Layer 3-10 套接字与端口号 端口号是套接字标识的一部分 每个套接字在本地关联一个端口号 端口号: 一个16比特的数 0~1023由公共域协议使用,称众 所周知的端口号 报文段中有两个字段携带端口号 源端口号:与发送进程关联的本地 端口号 目的端口号:与接收进程关联的本 地端口号 source port # dest port # 32 bits application data (message) other header fields TCP/UDP报文段格式
如何分配∪DP套接字的端口号? 口自动分配: ○例如, new Datagramsocket(),不指定端口号 o通常由操作系统从1024~65535中分配 o客户端通常使用这种方法 口使用指定端口号创建套接字: O例如, new Datagramsocket(53) o实现公共域协议的服务器应分配众所周知的端口号 o服务器通常采用这种方法 口UDp套接字标识为<IP地址,端口号>二元组 Transport Layer 3-11
如何分配UDP套接字的端口号? 自动分配: 例如,new Datagramsocket(),不指定端口号 通常由操作系统从1024~65535中分配 客户端通常使用这种方法 使用指定端口号创建套接字: 例如,new Datagramsocket(53) 实现公共域协议的服务器应分配众所周知的端口号 服务器通常采用这种方法 UDP套接字标识为<IP地址,端口号>二元组 Transport Layer 3-11