理解运输层服务依据的原理:
复用/分解
可靠数据传输
流量控制(端到端)
拥塞控制(全局性)
学习因特网中的运输层协议:
UDP:无连接传输
TCP:面向连接传输
TCP:拥塞控制
运输层服务
是整个网络体系结构中关键的一层,只有主机的协议栈(端系统)才有运输层 计算机网络本质:实现分布在不同地理位置的联网主机之间的进程通信,
运输层为相互通信的应用进程提供了逻辑通信: 运输层服务:
运输层协议数据封装
为什么需要数据分段:
- TCP具有最大报文长度(有长度限制)
- UDP数据报不会自己进行分析,因此当长度超过了MTU时,会在网络层进行IP分片
1460字节,以太网最大传输单元
数据封装过程
最大传输单元(MTU)——最大链路层帧长度
运输层vs网络层
- 网络层:主机间的逻辑通信
- 运输层:进程间的逻辑通信
以来、强化网络层服务
家庭类比: 12个孩子向12个孩子发信
- 进程 = 孩子
- 应用报文 = 信封中的新
- 主机 = 家庭
- 运输协议 = Ann和Bill
- 网络层协议 = 邮政服务
注意:
- 运输层
运输层协议和网络层协议的主要区别:
因特网运输层协议
Internet层的复用与分解
多路奋勇与多路分解将由网络层提供的主机到主机的交付服务延伸到进程到进程的交付服务
复用/分解:
分解工作过程
无连接(UDP)的复用和分解
- 生成具有端口号的套接字
- 新建数据报文
- 发送数据
- 接收数据
- UDP套接字由二元组标识(目的地IP地址,目的地端口号)
- 在段中检查目的端口号
- 将UDP段定向到具有该端口号的套接字
问题1:具有不同源IP地址和/或源端口号的IP数据报可能定向到相同的套接字吗? 可能的;来自不同源IP地址和/或源端口号的IP数据包被导向同一个Socket,许多客户进程对应同一个进程(套接字)。
问题2:
面向连接(TCP)分解
- TCP套接字由四元组标识
- 接收主机使用这四个值来将段定向到适当的套接字
- 服务器主机可能支持许多并行的TCP套接字
- Web服务器对每个连接的客户机具有不同的套接字
- 非持久HTTP将为每个请求提供不同的套接字
问题:
面向连接分解:多线程Web服务器
连接套接字与进程之间并非一一对应的关系 当今高性能Web服务器通常只使用一个进程,但为每个心得客户连接创建一个具有新连接套接字的新线程 持续HTTP和非持续HTTP
|