南山网站建设,做网站还是做阿里,备案查询,哪个网站可以做微信推送系列文章目录
什么是计算机网络#xff1f; 什么是网络协议#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能#xff08;1#xff09;——速率、带宽、延迟 计算机网络性能#xff08;2#xff09;…系列文章目录
什么是计算机网络 什么是网络协议 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能1——速率、带宽、延迟 计算机网络性能2——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型基本概念 OSI参考模型中非端-端层物理层、数据链路层、网络层功能介绍 OSI参考模型中端-端层传输层、会话层、表示层、应用层功能介绍 TCP/IP参考模型基本概念包括五层参考模型 网络应用的体系结构 网络应用进程通信 网络应用对传输服务的需求 Web应用之HTTP协议涉及HTTP连接类型和HTTP消息格式 Cookie技术 Web缓存/代理服务器技术 传输层服务概述、传输层 vs. 网络层 系列文章目录为什么要进行多路复用/分用什么是多路复用/分用分用如何工作基本原理无连接的多路分用面向连接的分用面向连接的分用之多线程Web服务器 为什么要进行多路复用/分用 如果某层的一个协议对应直接上层的多个协议/实体则需要复用/ 分用 传输层的核心功能是提供应用进程之间的逻辑信机制而一个主机上有着许多应用程序所以传输层提供的一个最基本的功能就是多路复用多路分用。
比如下面这张图host2的应用层上运行这两个应用进程P1和P2。host1上的P3进程会给host2的P1进程发送报文段host3上的P4进程会给host2的P2进程发送报文段。在这样一个情况下host2的传输层作为接收端就必须进行多路分用。因为下面的网络层协议只有一个那从网络层接收到报文段之后传输层必须要做的事情是把接收的报文段正确地交付给不同的进程。相反如果在发送端有多个应用进程那发送端必须从多个Socket接收数据再通过统一的网络层发送出去发出去之前为每块数据封装上正确的头部信息生成 Segment报文端。这就是多路复用。 什么是多路复用/分用
接收端进行多路分用传输层依据头部信息将收到的 Segment交给正确的Socket 即不同的进程。发送端进行多路复用从多个Socket接收数据为每块数据封装头部信息生成Segment交给网络层。 分用如何工作基本原理 主机接收到IP数据报(datagram) 每个数据报携带源IP地址、目的IP地址每个数据报携带一个传输层的段(Segment 每个段携带源端口号和目的端口号 主机收到Segment之后传输层协议提取IP地址和端口号信息将Segment导向相应的Socket也就是相应的进程。 无连接的多路分用
也就是面向UDP协议的。
在服务器端利用端口号创建Socket。对于UDP的Socket是用二元组标识。二元组包括目的IP地址和目的端口号、主机收到UDP段后会检查段中的目的端口号然后将UDP段导向绑定在该端口号的Socket。对于来自不同源IP或源端口号的IP数据包如果目的地址和目的端口号相同就会被导向同一个Socket。源端口号用于“返回地址”。 面向连接的分用 TCP的Socket用四元组标识 源IP地址源端口号目的IP地址目的端口号 接收端利用所有的四个值将 Segment导向合适的Socket 服务器可能同时支持多个TCP Socket。每个Socket用自己的四元组标识。比如说Web服务器为每个客户端开不同的 Socket。 一定要注意TCP连接是一对一的一个客户机进程对应一个服务器进程。 面向连接的分用之多线程Web服务器
进程耗费的资源是比较多的随着技术的进步可以让一个进程创建多个线程它是轻量级的进程机制。这样就可以把线程和TCP连接绑在一起。我们就可以通过不同的线程维持多个TCP连接。