当前位置: 首页 > news >正文

运输层---概述

目录

  • 运输层主要内容
  • 一.概述和传输层服务
    • 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:

    • 发送端:
报文
报文段
应用程序
运输层
网络层1
  • 图示2
    • 中间传输:
数据包
数据包
网络层1
...1
路由器
...2
网络层2

网络层将运输层的报文段封装为数据包。

中间路由器作用于网络层字段,不会检查运输层报文段的字段。

  • 图示3
    • 接收端:
报文段
数据
网络层2
运输层2
应用程序

1.2 传输服务和协议

  • 1. 运输层协议作用:为不同主机应用进程提供了逻辑通信功能。

计算机网络中的逻辑通信:在这种方式下,发送方不同应用进程可以使用同一个运输层协议来传送数据而接收方的运输层能够在剥去报文的首部后将数据正确交付到目的应用程序

逻辑通信的实现需要运输层提供端到端的逻辑连接,并且进行差错检测等操作。在计算机网络中,虽然两个运输层之间并没有一条水平方向的物理连接,但是它们之间的通信却好像是沿水平方向传送数据

  • 2. 运输层协议实现位置端系统之中
  • 3.运输层协议TCP和UDP协议

1.3 传输层 vs. 网络层

在这里插入图片描述
以下面图例作类比:

交付
交付
交付
交付
分发
分发
分发
写信人1
收信人Bob
写信人2
写信人...
邮政服务
收信人Ann
收信人1
收信人...

其中”邮政服务“左右两侧分别为两个家庭的所有成员,代表两个主机(端系统)

  • 收信人Bob和Ann:运输层协议
  • 邮政服务:代表网络层协议
  • 信封内容(字符):应用层报文
  • 进程:两家人的亲戚关系。

1.4 Internet传输层协议

  • UDP(用户数据报协议):不可靠,无连接服务。

  • TCP(传输控制协议):可靠,面向连接服务。
    在这里插入图片描述

    1. 面向连接的服务和面向无连接的服务

    面向无连接的服务
    指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输

    面向连接的服务
    通信双方在通信时,要事先建立一条通信线路,其过程有建立连接、使用连接和释放连接三个过程

    1. 有应答与无应答的服务

    有应答服务
    指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不是由用户实现。
    所发送的应答可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。
    无应答服务
    指接收方收到发送的数据后,不向发送方反馈任何信息,该服务是不透明的,即不是由用户实现,
    而是由通信系统自动实现。因此,该服务不能保证可靠性

    1. 可靠与不可靠的服务

    可靠服务
    指网络具有纠错、检错机制,能保证数据正确、可靠地传送到目的地。

    不可靠服务
    指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地。
    如文件传输服务就是一种有应答服务,客户端收到服务器发送的页面文件后不给出应答,属于不可靠服务

二. 多路复用与多路分解(解复用)

2.1 概述

  • 前置:
    网络层IP协议(国际协议):是一种尽力而为的交付服务(Best-Effort Delivery Service),基于每台主机有一个IP地址提供不可靠服务
  • 定义:
    多路复用将运输层报文段中数据交付到正确套接字的工作
    多路分解(解复用):包括从源主机不同套接字收集数据块,并封装上首部信息(用于在以后分解),再将报文段传递到网络层的所有工作。

在这里插入图片描述

  • 多路复用的要求:
      1. 套接字有唯一标识符
      1. 每个报文段有 特殊字段指示交付到的套接字。

运输层报文段中的源与目的端口字段:

在这里插入图片描述

  • 流程图示:
    在这里插入图片描述

2.2 无连接与面向连接的多路分解(解复用)

  • 1. 无连接的多路分解(解复用)
    在这里插入图片描述

在这里插入图片描述

2.面向连接的多路分解(解复用)
在这里插入图片描述

2.3面向连接的多路复用

在这里插入图片描述

*2.4 Web服务器与TCP

  • 前置
    连接套接字与进程之间并不是一 一对应关系。

如今的高性能web服务器通常只使用一个进程,但是为每一个新的客户连接创建一个具有新连接套接字的新线程(线程可被看作一个轻量级的的子进程)。对于这样一台服务器,任意给定时间内都有可能有(具有不同标识的)许多连接套接字连接到相同的进程。

  • 使用持续HTTP:客户与服务器之间经过同一个服务器套接字交换HTTP报文。

  • 使用非持续HTTP:每一对请求/响应都创建一个新的TCP连接并随后关闭(每次创建关闭不同的套接字)。频繁创建关闭套接字会影响web服务器的性能。

  • 多线程Web Server:
    在这里插入图片描述

http://www.lryc.cn/news/109434.html

相关文章:

  • 高速公路巡检无人机,为何成为公路巡检的主流工具
  • 仓库管理系统有哪些功能,如何对仓库进行有效管理
  • Java 比Automic更高效的累加器
  • antDv table组件滚动截图方法的实现
  • JavaSE【抽象类和接口】(抽象类、接口、实现多个接口、接口的继承)
  • 微信小程序如何跳转H5页面
  • C++(20):bit_cast
  • STM32 低功耗-停止模式
  • Hutool中 常用的工具类和方法
  • K8s(健康检查+滚动更新+优雅停机+弹性伸缩+Prometheus监控+配置分离)
  • Django学习记录:使用ORM操作MySQL数据库并完成数据的增删改查
  • React Hooks 中的 useEffect(副作用)
  • [CKA]考试之持久化存储卷PersistentVolume
  • 基于LLM的SQL应用程序开发实战(一)
  • 如何批量实现多行合并后居中
  • 【深度学习_TensorFlow】手写数字识别
  • antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY
  • 再续AM335x经典,米尔TI AM62x核心板上市,赋能新一代HMI
  • springboot和Django哪一个做web服务器框架更好
  • C#核心知识回顾——21.归并排序
  • 基于netty的rpc远程调用
  • RabbitMQ输出日志配置
  • 解决一个Sqoop抽数慢的问题,yarn的ATSv2嵌入式HBASE崩溃引起
  • 为Android构建现代应用——应用导航设计
  • 聊聊 Docker 和 Dockerfile
  • element表格+表单+表单验证结合u
  • 数据库:MYSQL参数max_allowed_packet 介绍
  • 基于DiscordMidjourney API接口实现文生图
  • springboot+vue农产品特产商城销售平台_50kf2 多商家
  • 【深度学习_TensorFlow】感知机、全连接层、神经网络