网络的相关概念介绍

news2024/11/25 0:57:30

客户端和服务器通常运行在不同的主机上,通过计算机网络的硬件和软件资源来通信。网络是个复杂的系统,这里我们从程序员的角度来介绍一下网络相关的概念。

对主机而言,网络只是一种I/O设备,是数据源和数据接收方。

一个插到I/O总线扩展槽的适配器提供了到网络的物理接口,从网络上接收到的数据从适配器经过I/O和内存总线复制到内存。相似地,数据也能从内存复制到网络。

物理上而言,网络是一个按照地理远近组成的层次系统。最低层是LAN(local area network,局域网),如一个公司或学校的局域网。局域网有多种形式,但后来以太网(Ethernet)被证明是适应力极强的,因此成为最流行的局域网技术。

一个以太网段包括一些电缆和一个叫集线器的小盒子。以太网段通常跨越一些小的区域,如某个房间。每根电缆都有相同的最大位带宽,通常是100Mb/s或1Gb/s。一端连接到主机的适配器,一端连接到集线器的一个端口。集线器不加分辨地将从一个端口收到的每个位复制到其他所有端口上。因此,每台主机都能看到每个位。

每个以太网适配器都有一个全球唯一的48位地址,它存储在这个适配器的非易失性存储器上,一台主机可以发送一段位(帧)到这个网段内的其他任何主机。每个帧包括一些固定数量的头部位(header),用来标识此帧的源和目的地地址以及此帧的长度,紧随其后的就是数据位的有效载荷(payload)。每个主机适配器都能看到这个帧,但只有目的主机实际读取它。

使用电缆和叫做网桥(bridge)的小盒子,多个以太网段可以连接成较大的局域网,称为桥接以太网(bridged Ethernet)。

桥接以太网能够跨越整个建筑物或校区。在一个桥接以太网里,一些电缆连接网桥与网桥,一些连接网桥与集线器。这些电缆的带宽可以是不同的。如上图所示,网桥与网桥之间的电缆有1Gb/s的带宽,而网桥与集线器之间的电缆带宽是100Mb/s。

网桥比集线器更充分地利用了电缆带宽。利用一种聪明的分配算法,它们随着时间自动学习哪个主机可以通过哪个端口可达,然后只在必要时,有选择地将帧从一个端口复制到另一个端口。如主机A发送一个帧到同网段的主机B,当该帧到达网桥X的输入端口时,X就将此帧丢弃,因此节省了其他网段上的带宽。而当主机A发送一个帧到一个不同网段上的主机C时,网桥X就会把此帧复制到与网桥Y相连的端口上,网桥Y只会把此帧复制到与主机C的网段连接的端口。

在更高的层次上,多个不兼容的局域网通过叫路由器(router)的特殊计算机连接起来,组成一个互联网络(internet)。每台路由器对于它所连接到的每个网络都有一个适配器。路由器也能连接高速点对点电话连接,这是称为WAN(Wide Area Network,广域网)的示例。下图是一个互联网络的示例。

互联网络重要的特性是能由采用完全不同和不兼容技术的各种局域网和广域网组成。

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

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

相关文章

【Linux奇遇记】我和Linux的初次相遇

🌈个人主页: Aileen_0v0 🔥系列专栏:Linux奇遇记系列专栏💫"没有罗马,那就自己创造罗马~" 目录 前端和后端的介绍 1.前端 2.后端 3.前后端区别 Linux在前后端开发中的角色 如何学习Linux 去进行程序开发 Linux的常见根目…

Windows 安装 JDK 8 和 JDK 17 和多版本JDK切换

下载 JDK JDK 8 下载地址:https://www.aliyundrive.com/s/koYe1SVRg76 JDK 17 下载地址: https://www.aliyundrive.com/s/tBcbUtAHTbg 安装 JDK 点击可执行文件 jdk-8u291-windows-x64.exe 进行安装 如果需要更改JDK安装目录,根据个人偏好…

海康Visionmaster-通讯管理:使用 Modbus TCP 通讯 协议与流程交互

使用 Modbus TCP 通讯协议与视觉通讯,当地址为 0000 的保持型寄存器(4x 寄存器)变为 1 时,触发视觉流程执行一次,同时视觉将地址为 0000 的寄存器复位(也即写为 0),视觉流程执行完成后,将结果数…

Wix使用velo添加Google ads tag并在form表单提交时向谷歌发送事件

往head里加代码时,不能看谷歌的代码,要看wix的代码,不然必定踩坑 https://support.wix.com/en/article/tracking-google-ads-conversions-using-wix-custom-code 这里的代码才对,因为wix搞了个velo,这个velo很傻x&am…

使用LLama和ChatGPT为多聊天后端构建微服务

微服务架构便于创建边界明确定义的灵活独立服务。这种可扩展的方法使开发人员能够在不影响整个应用程序的情况下单独维护和完善服务。然而,若要充分发挥微服务架构的潜力、特别是针对基于人工智能的聊天应用程序,需要与最新的大语言模型(LLM&…

机器学习——实践

目录 一、数据集划分 1、交叉验证 2、不平衡数据的处理 代价敏感学习 二、评价指标 三、正则化、偏差和方差 为什么要标准化/归一化? 过拟合的处理——Dropout 过拟合的处理——Early stopping 过拟合的处理——数据增强 偏差和方差 ​编辑 一、数据集划分…

【Git】gui图形化界面的使用、ssh协议以及idea集成Git

目录 gui图形化界面的使用 介绍 特点 gui图形的使用 ssh协议 介绍 步骤及概念 ssh协议的使用 配置公钥 idea集成Git idea配置git IDEA安装gitee IDEA中登入Git ​编辑 项目分享 克隆分享的项目 ​编辑 ​编辑 idea上传远程 gui图形化界面的使用 介绍 GUI&#xff08…

单链表按位序插入

按位序插入(带头结点) #define NULL 0typedef struct LNode {int data;struct LNode *next; }LNode,*LinkList;//在第i个位置插入数据e&#xff08;带头结点&#xff09; bool ListInsert(LinkList &L, int i, int e){if (i<1)return false;LNode *p L; //指…

canvas 曲线图 双数值轴 山峰图

下面的代码本人亲自撰写&#xff0c;原生不易啊。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>D…

从单体到微服务:使用Spring Boot构建事件驱动的Java应用程序

Spring Boot是Pivotal团队设计的一种微服务框架&#xff0c; 基于Spring开发&#xff0c;用于简化新Spring应用的初始搭建及开发过程&#xff0c;提升Spring 开发者的体验。它秉持“约定大于配置”的思想&#xff0c;集成了大量开箱即用的第三方库&#xff0c;支持绝大多数开源…

HCIP---VRRP

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一. VRRP概述 VRRP---虚拟路由器冗余协议 VRRP&#xff08;Virtual Router Redundancy Protocol&#xff09;是一种用于在多个路由器之间创建虚拟路由器的协议。 VRRP使用了一系列协议来实现路…

win11 idea 错误: 找不到或无法加载主类

买了新电脑win11系统&#xff0c;配置环境之后运行项目&#xff0c;始终运行不起来&#xff0c;一直报 刚开始以为是环境没装好&#xff0c;但是我创建其他项目运行时是正常的 纠结了好久突然发现&#xff0c;是不是因为项目路径中有中文造成的找不到编译文件 最后把项目改为…

【Python】AppUI自动化—appium自动化元素定位、元素事件操作(17)下

文章目录 前言一.Appium 元素定位1.定位方式种类2.如何定位2.1 id定位2.2 className定位2.3 content-desc 定位2.4 Android Uiautomator定位4.1 text定位4.2 text模糊定位4.3 text正则匹配定位4.4 resourceId定位4.5 resourceId正则匹配定位4.6 className定位4.7 className正则…

P6入门:项目初始化2-项目详情之日期Date

前言 使用项目详细信息查看和编辑有关所选项目的详细信息&#xff0c;在项目创建完成后&#xff0c;初始化项目是一项非常重要的工作&#xff0c;涉及需要设置的内容包括项目名&#xff0c;ID,责任人&#xff0c;日历&#xff0c;预算&#xff0c;资金&#xff0c;分类码等等&…

RPC 框架 openfeign 介绍和学习使用总结

一、基本概念 RPC 远程过程调用&#xff08;Remote Procedure Call&#xff09;的缩写形式 Birrell 和 Nelson 在 1984 发表于 ACM Transactions on Computer Systems 的论文《Implementing remote procedure calls》对 RPC 做了经典的诠释。 RPC 是指计算机 A 上的进程&am…

元核云亮相金博会,智能质检助力金融合规

11月初&#xff0c;第五届中新&#xff08;苏州&#xff09;数字金融应用博览会&#xff5c;2023金融科技大会在苏州国际博览中心举办&#xff0c;围绕金融科技发展热点领域及金融行业信息科技领域重点工作&#xff0c;分享优秀实践经验&#xff0c;探讨数字化转型路径与未来发…

C# OpenCvSharp DNN HybridNets 同时处理车辆检测、可驾驶区域分割、车道线分割

效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Numerics; using System.Text; using System.Windows.Forms;namespace OpenCvSharp_D…

设备零部件更换ar远程指导系统加强培训效果

随着科技的发展&#xff0c;AR技术已经成为了一种广泛应用的新型技术。AR远程指导系统作为AR技术的一种应用&#xff0c;具有非常广泛的应用前景。 一、应用场景 气象监测AR教学软件适用于多个领域&#xff0c;包括气象、环境、地理等。在教学过程中&#xff0c;软件可以帮助学…

Day26力扣打卡

打卡记录 搜索旋转排序数组&#xff08;二分&#xff09; 链接 class Solution {int findMin(vector<int> &nums) {int left -1, right nums.size() - 1; // 开区间 (-1, n-1)while (left 1 < right) { // 开区间不为空int mid left (right - left) / 2;if…

Antd G6实现自定义工具栏

在使用g6实现知识图谱可视化中&#xff0c;产品经理提出了有关图谱操作的不少功能&#xff0c;需要放置在工具栏中&#xff0c;其中有些功能不在g6自带的功能里&#xff0c;且工具栏样式、交互效果也和官方自定义工具栏不同。那我们怎么去实现呢&#xff1f; g6官方的工具栏案例…