运输层---概述

目录

  • 运输层主要内容
  • 一.概述和传输层服务
    • 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.mzph.cn/news/22204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链智能合约代码示例

以下是一个简单的区块链智能合约代码示例: pragma solidity ^0.4.17;contract SimpleContract {uint public myData;function setMyData(uint newData) public {myData newData;} }该合约具有以下功能: 定义了一个名为 SimpleContract 的合约。定义了一…

arcgis字段计算器

1、两字段叠加。要求待叠加的字段类型为文本或字符串类型。如下: 2、字符串部分提取。

坚鹏:中国邮储银行金融科技前沿技术发展与应用场景第2期培训

中国邮政储蓄银行金融科技前沿技术发展与应用场景第2期培训圆满结束 中国邮政储蓄银行拥有优良的资产质量和显著的成长潜力,是中国领先的大型零售银行。2016年9月在香港联交所挂牌上市,2019年12月在上交所挂牌上市。中国邮政储蓄银行拥有近4万个营业网点…

java工厂设计模式

Java中的工厂设计模式是一种创建型设计模式,它提供了一种将对象的创建逻辑抽象出来的方法,使得客户端代码不需要直接实例化具体的类,而是通过一个共同的接口来创建对象。这样可以降低代码之间的耦合性,提高代码的可维护性和可扩展…

性能测试怎么做?测试工具怎么选择?

在当前软件测试行业,熟练掌握性能测试已经是测试工程师们面试的敲门砖了,当然还有很多测试朋友们每天的工作更多的是点点点,性能方面可能也只是做过简单的并发测试,对于编写脚本,搭建环境方面也比较陌生。今天这篇文章…

暑假刷题第20天--8/3

B-序列的与和_2023河南萌新联赛第&#xff08;四&#xff09;场&#xff1a;河南大学 (nowcoder.com)&#xff08;dfs&#xff09; #include<iostream> #include<string> using namespace std; #define ull unsigned long long int n,k; ull a[21]; ull ans0; int…

物联网工程开发实施,应该怎么做?

我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 物联网工程的概念 物联网工程是研究物联网系统的规划、设计、实施、管理与维护的工程科学&#xff0c;要求物联网工程技术人员根 据既定的目标&#xff0c;依照国家、行业或企业规范&#xff0c;制定物联网…

Delphi Architect Crack,部署支持Swagger

Delphi Architect Crack,部署支持Swagger 单一代码库-用更少的编码工作为所有主要平台创建应用程序。写一次&#xff0c;到处编译。 Windows-使用最新的用户界面控件、WinRT API和HighDPI相关功能&#xff0c;使Windows的VCL应用程序现代化。 远程桌面-使用改进的VCL和IDE远程桌…

图的深度、广度优先探索(数据结构)

深度&#xff1a; #include <stdio.h> #include <stdlib.h> #define MAX 20typedef struct ANode {int adjver,len;struct ANode*next; } ArcNode;typedef struct VNode {int data;ArcNode*firstarc; } VertexNode;typedef struct {VertexNode vers[MAX1];int ver…

使用Nmap的简单教程

Nmap是一个开源的网络探测和安全审核工具。它可以用于扫描网络上的主机和服务&#xff0c;识别开放的端口、操作系统信息等。 1、 下载和安装Nmap&#xff1a;从Nmap官方网站&#xff08;https://nmap.org/&#xff09;下载适用于Windows的Nmap安装程序。运行安装程序并按照指…

763. 划分字母区间

763. 划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度…

http请求头信息说明

协议头 说明 示例 状态 Accept 可接受的响应内容类型&#xff08;Content-Types&#xff09;。 Accept: text/plain 固定 Accept-Charset 可接受的字符集 Accept-Charset: utf-8 固定 Accept-Encoding 可接受的响应内容的编码方式。 Accept-Encoding: gzip, defl…

R语言glmnet包详解:横截面数据建模

R语言glmnet包详解:横截面数据建模 glmnet适用的模型glmnet建模补充glmnet适用的模型 glmnet程序包即适用于线性模型,也适用于添加惩罚项项的线性模型。如果数据中的变量个数大于样本量并且想用线性模型解决问题,那么glmnet再合适不过了! 根据glmnet函数中参数family的指定…

【C++进阶知识】04 - 函数默认实参、默认初始化、initializer_list

1. 函数默认实参 默认实参需要注意以下几点&#xff1a; &#xff08;1&#xff09;函数默认实参的赋值应从右往左&#xff0c;否则编译报错&#xff0c;因为参数入栈应该从右往左。 void f(int, int, int 1); void f(int, int 2, int); void f(int 3, int, int);&#x…

chrome插件开发实例02-使用content_scripts对用户浏览页面操作

目录 引言 chrome插件 插件演示 源代码 manifest.json content_scripts.js css设置(放在css文件夹下)<

【二等奖方案】Web攻击检测与分类识别赛题「机器学习」团队解题思路

2022 CCF BDCI 数字安全公开赛 赛题「Web攻击检测与分类识别」 地址&#xff1a;http://go.datafountain.cn/4Zj 机器学习战队 获奖方案 团队简介 我们团队由五名成员组成&#xff0c;对机器学习都非常感兴趣&#xff0c;同时在机器学习领域有着丰富的实战经验&#xff0c…

C# wpf程序

--App.xaml namespace WpfMyproject { /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class App : PrismApplication { protected override Window CreateShell() { return Container.R…

2023年下半年软考报名时间及汇总(附报名流程图)

2023下半年软考考试时间为11月4、5日&#xff0c;2023年下半年软考全国报名平台入口8月14日开通&#xff0c;由此可知各地报名时间将会从8月14日起陆续开始。千万别错过报名了哦&#xff01;这几天要多关注&#xff01; 2023年下半年软考考试安排各科目考试时间已定&#xff0…

无人机机巢有哪些,无人机机场/机场的主要分类

随着无人机技术的飞速发展&#xff0c;无人机已经渗透到了物流、农业、救援、公共安全等多个领域。而为了使这些无人机能更加高效、灵活地运行&#xff0c;一个新的概念应运而生&#xff0c;那就是无人机机巢&#xff08;UAV Nest&#xff09;。复亚智能无人机机巢是一种供无人…

Android Studio新版本logcat过滤说明

按包名过滤 //输入package:&#xff08;输入一个p就会有提示的&#xff09; &#xff0c;后面加上包名 比如: package:com.xal.runcontrol package:包名可以完整或者输部分包名即可 package:包名需要输完整准确 package~:正则表达式过滤 不了解正则表达式的可以参考&#…