传输层协议 TCP协议 知识点

文章目录

    • 传输层定义
    • 传输层“端到端”解析
    • 传输层端口:Port
      • 端口号分类
      • 端口实验(FTP为例)
    • 扩展知识


传输层定义

传输层定义了主机应用程序之间端到端的连通性。
传输层中最为常见的两个协议分别是传输控制协议TCP (Transmission Control Protocol ) 和 用户数据包协议UDP (User Datagram Protocol)


传输层“端到端”解析

实际场景:电脑上的APP究竟是如何发送接收消息?
1、电脑上下载应用软件的时候,正常操作都会到软件的官网去下载。官网里提供的APP下载都是客户端,选择安装平台下载对应的客户端APP。这样电脑上就会装上很多类型的APP,如QQ、浏览器、邮箱、微信等等APP客户端。
2、下载完一堆的APP后,打开QQ客户端开始登入聊天。这整个登入聊天的过程QQ客户端是在和谁暗送秋波呢? QQ服务器。
这下就知道,电脑上装着一堆APP客户端,在使用的时候都会和对应服务器通信。
当电脑PC机上打开多个客户端APP,同时开始向各自的服务器发送数据,服务器回复回来的消息是混乱的,如下图所示
图一
如何才知道哪些数据是给QQ的,哪些数据是给邮箱的呢?端口号


传输层端口:Port

传输层提供端到端的连接(端口号和端口号之间的连接)根据端口号可以区分不同的应用协议
图二
(S 表示源端口号;D表示目标端口号)

主机发送数据时,在数据前添加数据的源端口号1027和目标端口号80,将封装好的数据发送给对应服务器上的80端口。
服务器将处理好的数据,根据之前接收的源端口号和目标端口号,封装现在的数据(源端口号80,目标端口号1027),将封装好的数据发送给主机上开着1027端口号的客户端进行处理。

网络层提供点到点的连接(节点之间)
在网络里每个设备都是一个节点。
图二来分析,主机A在网络层是一个节点,假如它的IP地址是192.168.1.7;服务器在网络层也是一个节点,假如它的IP地址是36.155.132.75。这种通信在网络层中就是点到点之间的传输。

小结
主机A(192.168.1.7)的1027端口发送数据到服务器(36.155.132.75)的80端口
服务器(36.155.132.75)的80端口发送数据到主机A(192.168.1.7)的1027端口


端口号分类

端口号总数有 2^16 = 65536 个,通过下面列表进行端口分类:

端口号范围端口类型
0到1023公认端口
1024到49151注册端口
49152到65535私有和动态端口

常用的TCP公认端口
FTP(21) Telnet(23) AMTP(25) HTTP(80)
POP3(110) IRC(194) HTTPS(443)
常用的UDP公认端口
TFTP(69) RIP(520)
常用的TCP/UDP 公认端口
DNS(53) SNMP(161)
1024~49151属于注册端口/登记端口(应用注册使用的端口)
49152~65535属于私有端口/动态端口(主机/客户端使用的端口)


端口实验(FTP为例)

使用eNSP 拓扑图如下
图三
1、连接成功环境
服务端Server1开启ftp服务,端口号为21
客户端Client1 -> 客户端信息 -> 服务器地址,端口号21

2、连接失败环境
服务端Server1开启ftp服务,端口号改为5700
客户端Client1 -> 客户端信息 -> 服务器地址,端口号用21连接

连接失败的原因是: 服务器开启ftp服务端口为5700,只有通过5700这个端口才能用ftp服务;这时客户端连接服务器时端口号为21,所以连接失败。
修改配置: 将客户端连接服务器端口号改为5700,则连接成功

服务端端口号:

  • 端口是根据需求自行更改的
  • 可以通过更改端口可以让非信任用户访问不到应用
  • 如FTP的端口默认为21,修改端口为5700,让非信任用户访问不到FTP服务器

客户端端口号:

  • 源端口随机分配,目标端口使用知名端口(Well-known port)
  • 应用客户端使用的源端口号一般为系统中未使用的且大于1023
  • 目的端口号为服务器开启的服务所侦听的端口,如HTTP缺省使用80
    注:端口对应了一种应用协议,真正提供服务的是服务器

扩展知识

如何知道电脑PC中已经连接了多少端口号?
打开“任务管理器 -> 性能 -> 打开资源监视器 -> 网络 -> 侦听端口 ”
在这里插入图片描述

windows 使用ftp访问服务器(192.168.1.13)端口21
可以打开“文件资源管理器”中“快速访问”输入:ftp://192.168.1.13
若服务器端口号改为5700,则要输入ftp://192.168.1.13:5700
ftp://服务器地址 : 端口号 (不加端口号,默认ftp 公认端口号21)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STL篇四:stack和queue

文章目录 前言1.stack的介绍和模拟实现1.1 stack的介绍1.2 stack的模拟实现 2. Queue的介绍和模拟实现2.1 Queue的介绍2.2 Queue的模拟实现 3.priority_queue的介绍和模拟实现3.1 priority_queue的介绍3.2 priority_queue模拟实现3.3 仿函数 4.容器适配器4.1 什么是容器适配器4…

NestJS入门4:MySQL typeorm 增删改查

前文参考: NestJS入门1 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 1. 安装数据库相关模块 npm install nestjs/typeorm typeorm mysql -S 2. MySql中创建数据库 ​ 3. 添加连接数据库代码 app.module.ts ​ import { M…

借助Aspose.BarCode条码控件,C# 中的文本转 QR 码生成器

二维码用于在较小的空间内存储大量数据。它们易于使用,可以通过智能手机或其他设备扫描来打开网站、观看视频或访问其他编码信息。在这篇博文中,我们将学习如何使用 C# 以编程方式生成基于文本的 QR 码。我们将提供分步指南和代码片段,帮助您…

【天衍系列 01】深入理解Flink的 FileSource 组件:实现大规模数据文件处理

文章目录 01 基本概念02 工作原理03 数据流实现04 项目实战4.1 项目结构4.2 maven依赖4.3 StreamFormat读取文件数据4.4 BulkFormat读取文件数据4.5 使用小结 05 数据源比较06 总结 01 基本概念 Apache Flink 是一个流式处理框架,被广泛应用于大数据领域的实时数据…

【VSCode】设置 一键生成vue模板 的快捷入口

问题 每次写一个组件的时候,都需要去手敲默认结构或者是复制粘贴,十分的麻烦! 解决办法 文件 > 首选项 > 用户代码片段 > vue.json 配置vue模板 其中prefix是用来触发代码段的内容,即模版的快捷入口;body里…

【RT-DETR有效改进】可变形大核注意力 | Deformable-LKA适用于复杂背景或不同光照场景

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进内容是Deformable-LKA(可变形大核注意力)。Deformable-LKA结合了大卷积核的广阔感受野和可变形卷积的灵活性,有效地处理复杂的视觉信息。这一机制通过动态调整卷积核的形状和大小来适…

Java实现Redis延时队列

“如何实现Redis延时队列”这个面试题应该也是比较常见的,解答如下: 使用sortedset(有序集合) ,拿时间戳作为 score ,消息内容作为key 调用 zadd 来生产消息,消费者用zrangebyscore 指令获取 N …

【Vuforia+Unity】01实现单张多张图片识别产生对应数字内容

1.官网注册 Home | Engine Developer Portal 2.下载插件SDK,导入Unity 3.官网创建数据库上传图片,官网处理成数据 下载好导入Unity! 下载好导入Unity! 下载好导入Unity! 下载好导入Unity! 4.在Unity设…

iconfont的使用(最详解)

目录 一、Iconfont是什么? 二、Iconfont如何使用 1.官网注册 2.新建项目 3.项目中使用 Unicode方式 Font class方式 Symbol方式 三、总结 一、Iconfont是什么? iconfont是阿里旗下的一套图标库,UI设计师设计号图标后,会…

FL Studio21.2注册激活码免费版安装包下载

FL Studio 21的音乐编辑功能强大而全面,能够满足音乐制作人在音乐创作过程中的各种需求。以下是一些主要特点: FL Studio 21 Win-安装包下载如下: https://wm.makeding.com/iclk/?zoneid55981 FL Studio 21 Mac-安装包下载如下: https://wm.makedin…

Java 基于微信小程序的考研论坛系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

使用SiteScan合理信息收集

一、介绍 作者:kracer 定位:专注一站式解决渗透测试的信息收集任务。 语言:python3开发 功能:包括域名ip历史解析、nmap常见端口爆破、子域名信息收集、旁站信息收集、whois信息收集、网站架构分析、cms解析、备案号信息收集、…

JVM性能调优P69+

方法 线程转储的查看方式 火焰图 线程耗尽问题

压缩感知(Compressed Sensing,CS)的基础知识

压缩感知(Compressed Sensing,CS)是一种用于信号处理的技术,旨在以少于奈奎斯特采样定理所要求的样本频率来重构信号。该技术利用信号的稀疏性,即信号可以用较少的非零系数表示。压缩感知在图像获取中的应用使得在采集…

《Solidity 简易速速上手小册》第3章:Solidity 语法基础(2024 最新版)

文章目录 3.1 变量和类型3.1.1 基础知识解析详细解析变量类型深入数据类型理解变量可见性 3.1.2 重点案例:创建一个简单的存储合约案例 Demo:编写一个简单的数字存储合约案例代码:SimpleStorage.sol在 Remix 中进行交互:拓展操作&…

css3盒子

盒子模型 一.看透网页布局本质二.认识盒子三.盒子的边框(border)1.概念2.简写及分开写法3.合并问题(会相加)4.边框会影响盒子实际大小 四.盒子的内边距(padding)1.概念2.简写3.内边距会影响盒子实际大小4.特…

小迪安全2023最新版笔记集合--续更

小迪安全2023最新版笔记集合–续更 小迪安全2023最新笔记集合 章节一 ---- 基础入门: 知识点集合: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下…

代码随想录刷题笔记-Day20

1. 二叉树的最近公共祖先 236. 二叉树的最近公共祖先https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/ 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q&#x…

NS安装-CentOS服务器安装Nightscout CGM

NS CGM 安装必要条件 有自己的云服务器好像没有2,有云服务器就行了 安装顺序 先安装数据库,目前支持的是 MongoDB ,官方推荐4,其实目前最新版本就行。可以用宝塔安装,比较简单克隆代码,我是放到 /opt/ns…

自动化上位机开发C#100例:如何用面向对象的方式封装雷赛运动控制卡EtherCAT总线卡(C#代码)

自动化上位机开发C#100例:雷赛运动控制卡EtherCAT总线卡C#封装类 文章目录 LTDMC.dll下载LTDMC.cs LTDMC.dll C#调用封装下载ICard.cs 运动控制卡接口Card.cs 运动控制卡抽象类CardLTDMC.cs 雷赛运动控制卡EtherCAT总线卡实现类CardList.cs 总线卡列表封装 LTDMC.dll下载 最新…