网络通信过程的一些基础问题

客户端A在和服务器进行TCP/IP通信时,发送和接收数据使用的是同一个端口吗?

这个问题可以这样来思考:在客户端A与服务器B建立连接时,A需要指定一个端口a向服务器发送数据。当服务器接收到A的报文时,从报文头部解析出A的ip地址和使用的端口号a,然后服务器B向A的a端口发送数据;那么自然的,A将从a端口接收数据。

所以在上面的过程中,A发送和接收数据使用的都是同一个端口。

客户端A在和服务器B进行TCP/IP通信时,会出现A同时向B的指定端口发送过多数据导致数据丢失的情况吗?

在TCP协议中,窗口大小(Window Size)是用来控制一方发送数据量的重要参数,可以避免发送方发送大量数据导致接收方处理不过来。双方通过TCP的三次握手过程能协商出一个初始的窗口大小,之后在数据传输过程中,接收方会通过ACK报文将自己当前的窗口大小告知发送方,以便发送方能根据这个窗口值调整数据发送量。
在正常情况下,如果接收方的处理速度跟不上发送方的速度,接收方的TCP窗口大小会减小,甚至变为0。此时发送方会停止向接收方发送数据,以待其处理完手头的数据,这种情况被称为接收方阻塞。只有当接收方再次发送的ACK报文中,窗口大小大于0,发送方才会继续传输数据。所以一般不会出现"因为发送数据太多导致接收方丢包的情况"。

存在A同时向端口a发送和接收数据的情况吗?

在 TCP 中,数据传输是双向的,也就是说,连接的两端(即端口)都可以同时接收和发送数据。
这种模式允许在任何给定时刻,只要连接是打开的,数据都可以在两个方向上流动。这就是为什么一个 TCP 连接可以使用一个单一的端口解决数据发送和接收的原因。

回顾网线水晶头的结构,网线一般都有八根线芯,根据T568B的标准,相对应网线颜色分为1橙白,2橙,3绿白,4蓝,5蓝白,6绿,7棕白,8棕。1橙白和2橙是负责发送数据,3绿白和6绿是负责接收数据的,4578闲置,也就是人们常说的1236通就能上网。在百兆网络中确实是这样的,所以以前人们也常常利用4578来做电话线使用。在千兆网络传输中,8根网线都要使用,1、2、3、6芯发送数据,4、5、7、8芯接收数据。

由水晶头的结构可知,数据的接收和发送是相互分开不干扰的。网卡处理数据的速度是非常快的,百兆网能在一秒内处理数十兆的数据。普通用户使用时基本上不会出现丢包的情况。

存在A同时向端口a发送多个报文的情况吗?他们会相互干扰吗?

A每发送一个报文,他的窗口就会减小,在减小为0之前,他可以发送多个报文。这些报文在通过网线发送时,会一个个排队发送,不会相互干扰。

其他

在现实应用中,使用的是四层网络协议:数据链路层、网络层(IP数据报)、传输层(TCP报文)、应用层(HTTP、FTP、SMTP协议等)。至于五层和七层协议,实际中似乎没有什么用处。

网卡处于数据链路层,并向上层返回IP数据报。

(比较久没有复习计算机网络了,这些以前学过的东西都给忘了,忘的真快)

在这里插入图片描述

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

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

相关文章

Spring Security 6.x 系列(15)—— 会话管理之源码分析

一、前言 在上篇 Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置 Spring Security 6.x 系列(14)—— 会话管理之会话固定攻击防护及Session共享 中了清晰了协议和会话的概念、对 Spring Security 中的常用会话配置进行了说明,并了解会话固定攻击防护…

thingsboard-gateway使用modbus协议接入设备

thingsboard-gateway使用modbus协议接入设备 前言1.modbus poll下载及配置2.修改tb_gateway.yaml3.修改modbus.json4.重启thingsboard-gateway服务 前言 本文主要介绍thingsboard-gateway使用modbus协议接入设备信息,使用thingsboard-gateway版本为2.5.5.2。 githu…

Linux学习第50天:Linux块设备驱动实验(二):Linux三大驱动之一

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 三、使用请求队列实验 1.实验程序编写 使用开发板上的一段RAM来模拟一段块设备,也就是ramdisk. 机械硬盘 34 #define RAMDISK_SIZE (2 * 1024 * 10…

OpenHarmony应用构建工具Hvigor的构建流程

前言 OpenHarmony 应用和服务使用 Hvigor 作为工程的构建工具。本篇文章将介绍 Hvigor 的构建流程,通过修改脚本配置使 Hvigor 执行自定义任务。 Hvigor 的构建流程 加载命令行参数和环境变量;初始化项目结构,创建 Project 和 Module 实例…

OpenCV | 光流估计

光流估计 光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,根据各个像素点的速度的速度矢量特征,可以对图像进行动态分析,例如目标跟踪 高度恒定:同一点随着时间的变化,其亮度不会发生改变。小运动&…

WEB 3D技术 three.js 顶点交换

本文 我们来说 顶点的转换 其实就是 我们所有顶点的位置发生转变 我们整个物体的位置也会随之转变 这里 我们编写代码如下 import ./style.css import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.j…

在Raspberry Pi Zero W中配置TFT LCD Framebuffer驱动

TFT LCD Framebuffer驱动配置 文章目录 TFT LCD Framebuffer驱动配置1、硬件准备2、软件配置2.1 启用SPI驱动2.2 TFT LCD设备驱动树配置 本文将以ILI9341 LCD为例,将详细介绍如何配置TFT LCD的Framebuffer驱动。 1、硬件准备 Raspberry Pi Zero W开发板一个&#x…

密码学中的Hash函数

目录 一. 介绍 二. hash函数的五个基本性质 (1)压缩性 (2)正向计算简单性 (3)逆向计算困难性 (4)弱无碰撞性 (&…

(九)One-Wire总线-DS18B20

文章目录 One-Wire总线篇复位和应答读/写0,1 DS18B20篇原理图概述最主要特性几个重要的寄存器(部分要掌握)存储有数字温度结果的2个字节宽度的温度寄存器寄存器描述:寄存器说明: 一个字节的过温和一个字节的低温&#…

[嵌入式AI从0开始到入土]10_yolov5在昇腾上应用

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

window使用cpolar实现内网穿透

文章目录 cpolar下载和安装启动和配置cpolar卸载 cpolar下载和安装 进入spolar官网,完成注册,下载相应的cploar版本解压和运行安装文件 配置安装路径,然后选择next,完成即可 启动和配置 点击首页的快捷图标打开网页&#xf…

python学习:实现猜数游戏和汉诺塔问题的解决

实现猜数游戏 规则: 计算机随机产生一个0~100的预设数字,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了“;小于预设的数,显示”遗憾,太小了“,如此循…

【MySQL】数据库之MMM高可用

目录 一、什么是MMM 二、关于MMM架构的说明 三、实操MMM的高可用 步骤一:完成主主复制、主从复制 步骤二:所有节点服务器都安装mysql-mmm,并完成mmm_common.conf文件的配置 步骤三:完成monitor节点服务器的配置文件修改mmm_mon.conf 步…

基于SSM的基金投资交易管理网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

K210基础实验系列

CanMV K210 开发板: CanMV K210 是由 01Studio 设计研发,基于嘉楠科技边缘计算芯片 K210 ( RSIC V 架构, 64 位双核)方案的一款开发板,采用硬件一体化设计( K210 核心板、 摄像头、 LCD 集成在一个…

mysql进阶-重构表

目录 1. 原因 2. 如何重构表呢? 2.1 命令1: 2.2 命令2: 2.3 命令3: 1. 原因 正常的业务开发,为什么需要重构表呢? 原因1:某张表存在大量的新增和删除操作,导致表经历过大量的…

深入了解Snowflake雪花算法:分布式唯一ID生成器

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

JVM中对象的创建

一.JVM运行流程 JVM向操作系统申请内存,初始化运行时数据区,接下来装载使用的类,执行类里面相应方法的时候为当前虚拟机栈压入一个栈帧,方法执行完成后栈帧出栈,进行垃圾回收。 二.JVM中对象的创建过程 符号引用&…

MySQL数据库进阶-事务

事务 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到…

端云协同,Akamai 与快手联合落地 QUIC 提升海外用户视频体验

10月10日,负责支持和保护数字化体验且深受全球企业信赖的解决方案提供商阿卡迈技术公司( Akamai Technologies, Inc.,以下简称:Akamai )( NASDAQ:AKAM )携手全球领先的短视频记录和分享平台快手(HK:1024)通过全面落地 …
最新文章