网站的功能,医院咨询,网络推广公司如何做,做dota2菠菜网站目录 运输层主要内容一.概述和传输层服务1.1 概述1.2 传输服务和协议1.3 传输层 vs. 网络层1.4 Internet传输层协议 二. 多路复用与多路分解#xff08;解复用#xff09;2.1 概述2.2 无连接与面向连接的多路分解#xff08;解复用#xff09;2.3面向连接的多路复用*2.4 We… 目录 运输层主要内容一.概述和传输层服务1.1 概述1.2 传输服务和协议1.3 传输层 vs. 网络层1.4 Internet传输层协议 二. 多路复用与多路分解解复用2.1 概述2.2 无连接与面向连接的多路分解解复用2.3面向连接的多路复用*2.4 Web服务器与TCP 运输层主要内容
1. 传输层工作原理
多路复用与多路分解可靠数据传输流量控制拥塞控制
2. Intrnet传输层协议
UDP无连接传输TCP面向连接的可靠传输TCP的拥塞控制
一.概述和传输层服务
1.1 概述 1. 运输层将从应用程序接收到的报文分成多个小块各个小块均加上运输层首部以生成运输层报文段即转换成运输层分组。运输层分组也称为运输层报文段) 2. 应用程序数据传输—图示1 发送端 #mermaid-svg-oZfQqMFTvO43vr47 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-oZfQqMFTvO43vr47 .error-icon{fill:#552222;}#mermaid-svg-oZfQqMFTvO43vr47 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-oZfQqMFTvO43vr47 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-oZfQqMFTvO43vr47 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-oZfQqMFTvO43vr47 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-oZfQqMFTvO43vr47 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-oZfQqMFTvO43vr47 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-oZfQqMFTvO43vr47 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-oZfQqMFTvO43vr47 .marker.cross{stroke:#333333;}#mermaid-svg-oZfQqMFTvO43vr47 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-oZfQqMFTvO43vr47 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-oZfQqMFTvO43vr47 .cluster-label text{fill:#333;}#mermaid-svg-oZfQqMFTvO43vr47 .cluster-label span{color:#333;}#mermaid-svg-oZfQqMFTvO43vr47 .label text,#mermaid-svg-oZfQqMFTvO43vr47 span{fill:#333;color:#333;}#mermaid-svg-oZfQqMFTvO43vr47 .node rect,#mermaid-svg-oZfQqMFTvO43vr47 .node circle,#mermaid-svg-oZfQqMFTvO43vr47 .node ellipse,#mermaid-svg-oZfQqMFTvO43vr47 .node polygon,#mermaid-svg-oZfQqMFTvO43vr47 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-oZfQqMFTvO43vr47 .node .label{text-align:center;}#mermaid-svg-oZfQqMFTvO43vr47 .node.clickable{cursor:pointer;}#mermaid-svg-oZfQqMFTvO43vr47 .arrowheadPath{fill:#333333;}#mermaid-svg-oZfQqMFTvO43vr47 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-oZfQqMFTvO43vr47 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-oZfQqMFTvO43vr47 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-oZfQqMFTvO43vr47 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-oZfQqMFTvO43vr47 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-oZfQqMFTvO43vr47 .cluster text{fill:#333;}#mermaid-svg-oZfQqMFTvO43vr47 .cluster span{color:#333;}#mermaid-svg-oZfQqMFTvO43vr47 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-oZfQqMFTvO43vr47 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 报文 报文段 应用程序 运输层 网络层1 图示2 中间传输 #mermaid-svg-RbT2Hwv80YbE0DuQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .error-icon{fill:#552222;}#mermaid-svg-RbT2Hwv80YbE0DuQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-RbT2Hwv80YbE0DuQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .marker.cross{stroke:#333333;}#mermaid-svg-RbT2Hwv80YbE0DuQ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-RbT2Hwv80YbE0DuQ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .cluster-label text{fill:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .cluster-label span{color:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .label text,#mermaid-svg-RbT2Hwv80YbE0DuQ span{fill:#333;color:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .node rect,#mermaid-svg-RbT2Hwv80YbE0DuQ .node circle,#mermaid-svg-RbT2Hwv80YbE0DuQ .node ellipse,#mermaid-svg-RbT2Hwv80YbE0DuQ .node polygon,#mermaid-svg-RbT2Hwv80YbE0DuQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-RbT2Hwv80YbE0DuQ .node .label{text-align:center;}#mermaid-svg-RbT2Hwv80YbE0DuQ .node.clickable{cursor:pointer;}#mermaid-svg-RbT2Hwv80YbE0DuQ .arrowheadPath{fill:#333333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-RbT2Hwv80YbE0DuQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-RbT2Hwv80YbE0DuQ .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-RbT2Hwv80YbE0DuQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-RbT2Hwv80YbE0DuQ .cluster text{fill:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ .cluster span{color:#333;}#mermaid-svg-RbT2Hwv80YbE0DuQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-RbT2Hwv80YbE0DuQ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 数据包 数据包 网络层1 ...1 路由器 ...2 网络层2 网络层将运输层的报文段封装为数据包。 中间路由器作用于网络层字段不会检查运输层报文段的字段。 图示3 接收端 #mermaid-svg-0dpTQTDvLnjUwaH1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .error-icon{fill:#552222;}#mermaid-svg-0dpTQTDvLnjUwaH1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0dpTQTDvLnjUwaH1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .marker.cross{stroke:#333333;}#mermaid-svg-0dpTQTDvLnjUwaH1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0dpTQTDvLnjUwaH1 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .cluster-label text{fill:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .cluster-label span{color:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .label text,#mermaid-svg-0dpTQTDvLnjUwaH1 span{fill:#333;color:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .node rect,#mermaid-svg-0dpTQTDvLnjUwaH1 .node circle,#mermaid-svg-0dpTQTDvLnjUwaH1 .node ellipse,#mermaid-svg-0dpTQTDvLnjUwaH1 .node polygon,#mermaid-svg-0dpTQTDvLnjUwaH1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-0dpTQTDvLnjUwaH1 .node .label{text-align:center;}#mermaid-svg-0dpTQTDvLnjUwaH1 .node.clickable{cursor:pointer;}#mermaid-svg-0dpTQTDvLnjUwaH1 .arrowheadPath{fill:#333333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-0dpTQTDvLnjUwaH1 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-0dpTQTDvLnjUwaH1 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-0dpTQTDvLnjUwaH1 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-0dpTQTDvLnjUwaH1 .cluster text{fill:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 .cluster span{color:#333;}#mermaid-svg-0dpTQTDvLnjUwaH1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-0dpTQTDvLnjUwaH1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 报文段 数据 网络层2 运输层2 应用程序 1.2 传输服务和协议
1. 运输层协议作用为不同主机应用进程提供了逻辑通信功能。 计算机网络中的逻辑通信在这种方式下发送方不同应用进程可以使用同一个运输层协议来传送数据而接收方的运输层能够在剥去报文的首部后将数据正确交付到目的应用程序。 逻辑通信的实现需要运输层提供端到端的逻辑连接并且进行差错检测等操作。在计算机网络中虽然两个运输层之间并没有一条水平方向的物理连接但是它们之间的通信却好像是沿水平方向传送数据。 2. 运输层协议实现位置端系统之中。3.运输层协议TCP和UDP协议。
1.3 传输层 vs. 网络层 以下面图例作类比 #mermaid-svg-o561JqatUMge2HqV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-o561JqatUMge2HqV .error-icon{fill:#552222;}#mermaid-svg-o561JqatUMge2HqV .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-o561JqatUMge2HqV .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-o561JqatUMge2HqV .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-o561JqatUMge2HqV .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-o561JqatUMge2HqV .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-o561JqatUMge2HqV .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-o561JqatUMge2HqV .marker{fill:#333333;stroke:#333333;}#mermaid-svg-o561JqatUMge2HqV .marker.cross{stroke:#333333;}#mermaid-svg-o561JqatUMge2HqV svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-o561JqatUMge2HqV .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-o561JqatUMge2HqV .cluster-label text{fill:#333;}#mermaid-svg-o561JqatUMge2HqV .cluster-label span{color:#333;}#mermaid-svg-o561JqatUMge2HqV .label text,#mermaid-svg-o561JqatUMge2HqV span{fill:#333;color:#333;}#mermaid-svg-o561JqatUMge2HqV .node rect,#mermaid-svg-o561JqatUMge2HqV .node circle,#mermaid-svg-o561JqatUMge2HqV .node ellipse,#mermaid-svg-o561JqatUMge2HqV .node polygon,#mermaid-svg-o561JqatUMge2HqV .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-o561JqatUMge2HqV .node .label{text-align:center;}#mermaid-svg-o561JqatUMge2HqV .node.clickable{cursor:pointer;}#mermaid-svg-o561JqatUMge2HqV .arrowheadPath{fill:#333333;}#mermaid-svg-o561JqatUMge2HqV .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-o561JqatUMge2HqV .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-o561JqatUMge2HqV .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-o561JqatUMge2HqV .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-o561JqatUMge2HqV .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-o561JqatUMge2HqV .cluster text{fill:#333;}#mermaid-svg-o561JqatUMge2HqV .cluster span{color:#333;}#mermaid-svg-o561JqatUMge2HqV div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-o561JqatUMge2HqV :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 交付 交付 交付 交付 分发 分发 分发 写信人1 收信人Bob 写信人2 写信人... 邮政服务 收信人Ann 收信人1 收信人... 其中”邮政服务“左右两侧分别为两个家庭的所有成员代表两个主机端系统
收信人Bob和Ann运输层协议邮政服务代表网络层协议信封内容字符应用层报文进程两家人的亲戚关系。
1.4 Internet传输层协议 UDP用户数据报协议不可靠无连接服务。 TCP传输控制协议可靠面向连接服务。 面向连接的服务和面向无连接的服务 面向无连接的服务 指通信双方不需要事先建立一条通信线路而是把每个带有目的地址的包报文分组送到线路上由系统自主选定路线进行传输 面向连接的服务 通信双方在通信时要事先建立一条通信线路其过程有建立连接、使用连接和释放连接三个过程 有应答与无应答的服务 有应答服务 指接收方在收到数据后向发送方给出相应的应答该应答由传输系统内部自动实现而不是由用户实现。 所发送的应答可以是肯定应答也可以是否定应答通常在接收到的数据有错误时发送否定应答。 无应答服务 指接收方收到发送的数据后不向发送方反馈任何信息该服务是不透明的即不是由用户实现 而是由通信系统自动实现。因此该服务不能保证可靠性 可靠与不可靠的服务 可靠服务 指网络具有纠错、检错机制能保证数据正确、可靠地传送到目的地。 不可靠服务 指网络只是尽量正确、可靠地传送但不能保证数据正确、可靠地传送到目的地。 如文件传输服务就是一种有应答服务客户端收到服务器发送的页面文件后不给出应答属于不可靠服务
二. 多路复用与多路分解解复用
2.1 概述
前置 网络层IP协议国际协议是一种尽力而为的交付服务Best-Effort Delivery Service基于每台主机有一个IP地址提供不可靠服务。定义 多路复用将运输层报文段中数据交付到正确套接字的工作。 多路分解解复用包括从源主机不同套接字收集数据块并封装上首部信息用于在以后分解再将报文段传递到网络层的所有工作。 多路复用的要求 套接字有唯一标识符 每个报文段有 特殊字段指示交付到的套接字。
运输层报文段中的源与目的端口字段 流程图示
2.2 无连接与面向连接的多路分解解复用
1. 无连接的多路分解解复用 2.面向连接的多路分解解复用
2.3面向连接的多路复用 *2.4 Web服务器与TCP
前置 连接套接字与进程之间并不是一 一对应关系。 如今的高性能web服务器通常只使用一个进程但是为每一个新的客户连接创建一个具有新连接套接字的新线程线程可被看作一个轻量级的的子进程。对于这样一台服务器任意给定时间内都有可能有具有不同标识的许多连接套接字连接到相同的进程。 使用持续HTTP客户与服务器之间经过同一个服务器套接字交换HTTP报文。 使用非持续HTTP每一对请求/响应都创建一个新的TCP连接并随后关闭每次创建关闭不同的套接字。频繁创建关闭套接字会影响web服务器的性能。 多线程Web Server