计算机网络:运输层 - 概述

计算机网络:运输层 - 概述

    • 运输层的任务
    • 端口号
    • 复用与分用
    • UDP协议
      • 首部格式
    • TCP协议
      • 面向字节流


运输层的任务

物理层数据链路层以及网络层,他们共同解决了将主机通过网络互联起来所面临的问题,实现了主机到主机的通信

网络层的作用范围是主机到主机,但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程

在这里插入图片描述

AP1AP2 是局域网LAN1上主机A中与网络通信相关的两个应用进程。

AP3AP4 是局域网LAN2上主机B中的与网络通信相关的两个应用进程。

如何为运行在不同主机上的应用进程提供直接的通信服务?是运输层的任务。运输层协议又称为端到端协议运输层的作用范围是应用进程到应用进程,也称为端到端

运输层最重要的两个协议是TCPUDP

  • 用户数据报协议UDP

传输的协议数据单元是UDP报文或者UDP用户数据报UDP在传输数据之前不需要先建立连接,对方的运输层在收到UDP报文后,不需要给出任何确认。

常见的使用UDP的应用层协议:DNSDHCPTFTP

  • 传输控制协议TCP

传输的协议数据单元是TCP报文段TCP提供面向连接的服务,在传输数据前必须先建立连接,数据传输结束后要释放连接,接收方收到TCP报文后也要给出去确认。因此TCP也只能提供一对一的服务

常见的使用TCP的应用层协议:HTTPSMTPFTPTELNET


端口号

在这里插入图片描述

如图,假设AP1要和AP4通信,那么当主机B接收到了主机A发来的报文后,主机B怎么知道这个数据报要交给AP3还是AP4?也就是说运输层面临的第一个问题就是如何标识一个进程。

计算机上的进程是使用进程标识符 PID 来标志的。然而因特网上的计算机并不是使用统一的操作系统,不同操作系统使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程之间能够进行网络通信,就必须使用统一的方法对 TCP/IP 体系的应用进程进行标识。

运输层使用端口号来区分应用层的不同应用进程

端口号长度为16bit,取值范围是 0-65535,分为:熟知端口号登记端口号短暂端口号

熟知端口号

取值范围是 0-1023。因特网数字分配机构 IANA 把这些端口号指派给了 TCP/IP 体系中最重要的一些应用协议。常见的端口号如下:

协议端口号
DHCP67 和 68
DNS53
TFTP69
SNMP161
SNMP(trap)162
SMTP25
FTP21 和 20
TELNET23
HTTP80
HTTPS443

登记端口号

取值范围是 1024-49151,为没有熟知端口号的服务器所使用。这类端口号必须在 IANA 按照规定的手续登记,以防止重复。

例如,微软远程桌面应用程序使用的端口号是3389。

短暂端口号

取值范围是 49152-65535,留给客户进程选择,暂时使用当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。


复用与分用

接下来我们介绍发送方的复用和接收方的分用,如图所示:
在这里插入图片描述

这是收发双方的应用进程,发送方的某些应用进程所发送的不同应用报文在运输层使用 UDP 协议进行封装,这称为 UDP 复用。而另一些应用进程所发送的不同应用报文在运输层使用 TCP 协议进行封装,这称为 TCP 复用

运输层使用端口号来区分不同的应用进程,不管是使用运输层的 UDP 协议封装成的 UDP 用户数据报,还是使用 TCP 协议封装成的 TCP 报文段。在网络层都需要使用 IP 协议封装成 IP 数据报,这称为 IP 复用

IP 数据报首部中协议字段的值,用来表明 IP 数据报的数据载荷部分封装的是何种协议数据单元:取值为6,表示封装的是TCP报文段;取值为17,表示封装的是UDP用户数据报

接收方的网络层收到 IP 数据报后进行 IP 分用

IP 数据报首部中协议字段的值为17,则把 IP 数据报的数据载荷部分所封装的 UDP 用户数据报上交运输层的 UDP。若协议字段的值为6,则把 IP 数据报的数据载荷部分所封装的 TCP 报文段上交运输层的 TCP

运输层对 UDP 用户数据报进行 UDP 分用,对 TCP 报文段进行 TCP 分用,也就是根据端口号将它们交付给上层相应的应用进程。


接下来我对TCPUDP两个协议做一个简单讲解,只是了解它们的基本特点,不深入讲解,后续会有其它博客讲解具体细节。

UDP协议

UDP协议具有一下特点:

  • UDP 是无连接的,即发送数据之前不需要建立连接
  • UDP 使用尽最大努力交付,即不保证可靠交付
  • UDP 是面向报文的,即一次发送和交付一个完整的报文
  • UDP 没有拥塞控制,很适合实时通信,因为实时通信要求源主机以恒定的速率发送数据,并允许丢失部分数据
  • UDP 支持一对一、一对多、多对一和多对多的交互通信
  • UDP 的首部开销小,只有 8 个字节

首部格式

UDP数据报的首部只要8 byte,由四个字段组成,每个字段都是2 byte,如图:

在这里插入图片描述

  • 源端口目的端口用与标识两个不同主机上的进程。
  • 长度为整个UDP数据报的长度
  • 校验和用于检验数据报是否出错

在计算校验和时,还会引入一个伪首部的概念:

在这里插入图片描述

伪首部不是一个真实存在的首部,只有计算校验和是,会把这个伪首部也计算进来。


TCP协议

TCP协议有以下特点:

  • TCP 是面向连接的运输层协议。TCP 在传送数据之前,必须先建立连接;在传送数据完毕后,必须释放已经建立的连接。
  • 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
  • TCP 提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达
  • TCP 提供全双工通信。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。

面向字节流

  • 面向字节流,指的是一连串的字节序列。

发送方的 TCP 把应用进程交付下来的数据块,仅仅看作是一连串的无结构的字节流,TCP 并不知道这些带传送的字节流的含义,仅将他们编号并存储在自己的发送缓存。

在这里插入图片描述

TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块,具有对应大小的关系。

接收方要具有还原字节流的能力,接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/29743.shtml

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

相关文章

如何使用GPT?初学者的指南

ChatGPT是一个非常先进的AI工具,它使用GPT-4架构,能够生成自然的语言回应。它的多功能性和理解复杂指令的能力,使得很多人用它来回答各种问题,就像用Google一样输入关键词。不过,ChatGPT还能做更多事情,下面…

ArcGIS arcpy代码工具——关于工具使用的软件环境说明

系列文章目录 ArcGIS arcpy代码工具——批量对MXD文件的页面布局设置修改 ArcGIS arcpy代码工具——数据驱动工具批量导出MXD文档并同步导出图片 ArcGIS arcpy代码工具——将要素属性表字段及要素截图插入word模板 ArcGIS arcpy代码工具——定制属性表字段输出表格 ArcGIS arc…

【Redis】java客户端(SpringData和jedis)

https://www.oz6.cn/articles/58 https://www.bilibili.com/video/BV1cr4y1671t/?p16 redis官网客户端介绍&#xff1a;https://redis.io/docs/latest/develop/connect/clients/ jedis maven引入依赖 <dependencies><!--引入Jedis依赖--><dependency><…

cms XAMPP搭建帝国cms示例(用于代码审计)

网上大部分都是小皮因为是一键很省事&#xff0c;但本人一直用的xampp所以若有人也是用xampp搭建可以看此篇文章 这里示例为 帝国CMS -v7.5 xampp搭建过程中如果本机存在mysql服务则需要先将mysql服务停止在start xampp的mysql服务 任务管理器----->服务----->找到mys…

揭秘网络盗版游戏产业链,守护游戏安全 | 天堂1私服非法牟利,涉嫌洗黑钱!

近年来&#xff0c;网络盗版游戏现象日益猖獗&#xff0c;尤其是天堂1私服。这些盗版游戏不仅非法牟利&#xff0c;还存在偷税漏税、诱导消费等违法行为。本文将揭示这一产业链的真相&#xff0c;提醒广大游戏玩家保持警惕&#xff0c;并向相关部门举报&#xff0c;共同维护互联…

从0开始开发一个简单web界面的学习笔记(HTML类)

文章目录 什么是HTML页面vscode 开放工具搭建第一个HTML页面编写vscode 如何快速生成代码框架html标签——注释、标题、段落、换行标签格式化标签img 标签(src 属性01)img 属性02(alt、title、width/height、border)a标签href属性a标签target属性表格标签01 基本属性表格标签02…

AV1:帧间预测(一)参考帧管理

​AV1中帧类型 在H.26X系列标准中&#xff0c;根据帧允许的预测模式可以将帧分为I帧、P帧和B帧&#xff0c;根据帧在码流中前后的参考关系又可以分为IRAP、RADL等。AV1也类似地将帧分为4种类型&#xff0c;在码流中用frame_type来标识帧类型。 KEY_FRAME&#xff1a;相当于IDR帧…

HTB Editorial

Editorial User Nmap ┌──(kali㉿kali)-[~/…/machine/SeasonV/linux/Editorial] └─$ nmap -A 10.129.24.67 -T 4 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-16 21:54 EDT Nmap scan report for 10.129.2…

C#使用轻量级深度学习模型进行车牌颜色识别和车牌号识别

看到这个文章时候请注意这个不涉及到车牌检测&#xff0c;这个仅仅是车牌颜色和车牌号识别&#xff0c;如果想涉及到车牌检测可以参考这个博客&#xff1a;[C#]winform部署yolov7CRNN实现车牌颜色识别车牌号检测识别_c# yolo 车牌识别-CSDN博客 【训练源码】 https://github.…

DBeaver windows下载、安装与连接数据库

下载 官网下载地址&#xff1a;https://dbeaver.io/download/ 安装 1、双击安装 2、下一步…… 选择所有用户 3、组件选择 配置连接数据库 下载驱动

【记录44】【案例】echarts地图

效果&#xff1a;直接上效果图 环境&#xff1a;vue、echarts4.1.0 源码 // 创建容器 <template><div id"center"></div> </template>//设置容器大小&#xff0c;#center { width: 100%; height: 60vh; }这里需注意&#xff1a;笔者在echar…

Git的下载安装及可视化工具小乌龟

一、 Git 的下载 第1步&#xff1a;下载Git&#xff0c;下载地址&#xff1a;Git for Windows 这个就需要去 Git 官网下载对应系统的软件了&#xff0c;下载地址为 git-scm.com或者gitforwindows.org&#xff0c;或者阿里镜像&#xff08;感谢评论区的星悸迷航同学&#…

什么是云恶意软件攻击,如何进行有效的防护

一切都在向云转移。云端数据越多&#xff0c;恶意攻击者攻击云平台的兴趣就越大。 攻击者使用恶意软件窃取数据并破坏服务。虽然恶意软件在云端可能不像在个人电脑上那么普遍&#xff0c;但大行其道的云恶意软件令人担忧。此外&#xff0c;组织不像您预料的那样意识到这点。 …

鸿蒙开发网络管理:【@ohos.request (上传下载)】

上传下载 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import request from ohos.request;限制与约束 默认支持https&#xff0c;如果要支持http&#xff0c;需要在config.json里…

所以spring mvc异常处理工作原理是啥

文章目录 spring mvc异常处理&#xff08;源码分析&#xff09;概述原理&#xff08;源码角度&#xff09;模拟debug前期提要分析4个map4个map的初始化为什么需要基于mappedMethods缓存 总结一下 spring mvc异常处理&#xff08;源码分析&#xff09; 概述 spring mvc有下面三…

力扣每日一题 6/18 字符串/模拟

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 2288.价格减免 【中等】 题目&#xff1a; 句子 是由若干个单词组成的字符…

‘引爆增长·赋能十堰’第一届学习峰会在十堰东方汉宫国际酒店成功举办

‘引爆增长赋能十堰’第一届学习峰会在十堰东方汉宫国际酒店成功举办 2024年6月 17 至18 日&#xff0c;为期两天的“引爆增长赋能十堰”第一届学习交流峰会在湖北十堰东方汉宫国际酒店一号盛大举行&#xff0c;学习峰会现场&#xff0c;来自十堰地区及邻边地市的上百位实体企业…

netty服务端与客户端的启动流程

如图所示&#xff0c;右侧是服务端Server&#xff0c;左侧是客户端Client 要点说明&#xff1a; 1.在Server中&#xff0c;在NioEventLoopGroup()中&#xff0c;会有1个selector和线程在不断循环&#xff0c;等待是否有accept事件&#xff0c;在accept事件发生后&#xff0c;才…

四款让人大开眼界的高质量软件,个个实力超群,使用起来爱不释手

电脑里的Windows软件&#xff0c;简直多得数不清&#xff0c;啥都有。 像那个电子表格、写文章的、玩游戏聊天的、还有修图的&#xff0c;这些都太常见了&#xff0c;它们确实给咱们生活带来方便&#xff0c;但有时候也会让那些不太懂电脑的小伙伴们头疼不已。 讲真&#xff0…

重学java 73.设计模式

本想送你一本沉思录&#xff0c;可该迷途知返的人是我 —— 24.6.18 设计模式 设计模式(Design pattern)&#xff0c;是一套被反复使用、经过分类编目的、代码设计经验的总结&#xff0c;使用设计模式是为了可重用代码、保证代码可靠性、程序的重用性,稳定性。 1995 年&#x…