DJ1-3 计算机网络和因特网
目录
一、物理介质
1. 双绞线
2. 同轴电缆
3. 光纤线缆
4. 无线电磁波
二、端系统上的 Internet 服务
1. 面向连接的服务
TCP(Transmission Control Protocol)
2. 无连接的服务
UDP(User Datagram Protocol)
TCP 和 UDP 的应用场景
三、网络核心部分
1. 电路交换
2. 报文交换
3. 分组交换
4. 比较分组交换与电路交换
5. 总结:网线的分类
一、物理介质
- 物理链路:在发送方和接收方之间传播位(bit)信号。
- 导引型媒体:信号在固态介质中有向传播, 如:光纤、双绞线、同轴电缆等。
- 非导引型媒体:信号在大气空间或外太空空间自由传播,如:无线电等。
光纤(光)、双绞线(电)、同轴电缆(电)、无线电(电磁波)
1. 双绞线
是指两根彼此绝缘且相互缠绕成螺旋状的铜线。缠绕的目的是减少电磁干扰,提高传输质量。
- 屏蔽双绞线(STP,Shielded Twisted Pair)
- 非屏蔽双绞线(UTP,Unshielded Twisted Pair)

一根网线共有 4 对双绞线,即 8 根线,两端需要连接水晶头。
参考视频:双绞线及七类水晶头压接讲解_哔哩哔哩_bilibili
拓展知识 1
最开始,若想在端系统 A 和 B 之间传输信息,则必须根据双绞线引脚功能进行配对,即 A 的输出必须配对 B 的输入,从而在两者之间形成交叉线。再后来,使用网卡即可自适应地调整引脚功能,从而在两者之间使用直通线。
- 交叉线:同一根网线的两端使用不同的线序,即一端使用 568A,一端使用 568B 。
- 直通线:同一根网线的两端使用相同的线序,即两端都使用 568A 或 568B 。

拓展知识 2
由于双绞线传输的是电信号,而电信号在传输过程中会产生损耗,因此在工程布线中,要求双绞线的长度 ≤ 100m 。

2. 同轴电缆
是指两根彼此绝缘的同心导体。
双向传输

3. 光纤线缆
光纤传导光脉冲,每个光脉冲代表 1 位。
- 高速传输:高速点对点传输,可达数十或数百 Gbps 。
- 低误码率:中继到更远传输距离。
- 防止电磁干扰,难以被分光窃听。

单模光纤纤芯细,对光的入射角有严格的要求。
- 由于光信号几乎按直线传播,因此传得又远又快。
- 由于光信号入射角相同,因此不会出现弯道超车的情况。
多模光纤纤芯粗,对光的入射角没有那么高的要求。
- 由于光信号有多种入射角,因此可能出现弯道超车的情况。
- 为避免弯道超车,就需要增大两次传输之间的间隔时间,从而导致带宽减小。
另一种分类方式:根据纤芯数量,分为单芯光纤和多芯光纤。
4. 无线电磁波
是指以电磁频谱承载信号。
- 没有物理连线
- 双向传输
- 受传播环境的影响
多路径衰落(干扰物表面反射)、盲区衰落(障碍物绕/透)、干扰(其它电磁信号)。
无线链路的类型有:
- 地面微波
- 局域无线通道
- 广域无线通道
- 卫星通道
二、端系统上的 Internet 服务
1. 面向连接的服务
目的:在端系统间传送数据。
握手:客户和服务器事先进入戒备状态,为接下来的分组交换做好准备。流程如下。
![]()
在两个端系统之间建立连接。
TCP(Transmission Control Protocol)
TCP 具有 4 大特性:
- 属于 Internet 的面向连接的服务。
- 可靠、顺序(编号)、字节流传输:解决数据错误、丢失(确认和重传)、时延等问题。
- 流量控制:解决速率不匹配问题,发送方不至于淹没接收方。
- 拥塞控制:当网络拥塞时发送者降低发送速率。
字节流传输是指采用没有边界的数据发送,其对立面为数据报传输。流量控制还能解决接收方缓冲能力有限,导致丢包的问题。
2. 无连接的服务
目的:在端系统间传送数据。
UDP(User Datagram Protocol)
- 属于 Internet 的无连接服务
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
优点:由于传输时不需等待,因此传输速度更快,从而其实时性更好。
TCP 和 UDP 的应用场景
使用 TCP 的网络应用
- HTTP(Web)
- FTP(file transfer)
- Telnet(remote login)
- SMTP(email)
使用 UDP 的网络应用
- 流媒体
- 视频会议
- DNS
- Internet 电话
三、网络核心部分
网络核心部分是由相互连接的路由器构成的网络。基本原理有:
- 电路交换:每次会话预留沿其路径(线路)所需的独占资源,如:电话网。
- 分组交换:数据以离散的数据块通过网络来发送。
报文交换的出现时间位于两者之间。
1. 电路交换

1M 为带宽,单位为 bps 。显然这种独占会导致资源浪费,因此引入分片和多路复用。
① 要求呼叫建立
- 建立一个专门的端到端线路,意味着每个链路上预留一个线路
② 将网络资源(如:链路带宽)分片。
- 频分(frequency division)
- 时分(time division)
③ 采用多路复用(Multiple Access)的方式。
- 分片分配到会话
- 分片没有被会话使用的情况下,分片空载(不共享)
④ 电路级性能得到保证。
频分(FDMA)和时分(TDMA)

频分采用并行方式,因此无延迟。时分采用串行方式,因此需要等待;可通过减小单位时间来减少等待时间。
假设单位时间为 1s,将每个 1s 的 0-0.1s 分配给 “由 A 传输给 B”,即分配一个固定的时隙给 “由 A 传输给 B”。
电路交换举例
从主机 A 到主机 B 经一个电路交换网络需要多长时间发送一个 640Kb 的文件?假设所有链路都是 1.536 Mbps,每个链路使用 TDM 划分成 24 个时隙,创建一条端到端的链路需要 500msec 。
![]()
2. 报文交换
报文:用户一次传输的数据总量。
假设 A 的报文比 C 的报文早一位到达 R1,则 C 需要等待 10s 直到 A 的报文传输完毕才能传输。此外,若 A 的数据出错,则 B 只能丢掉全部数据,进行重传,C 需要再等待 10s 。
根源在于:没有限制报文的大小。

3. 分组交换
(1)每个端到端的数据流被划分成分组
- 所有分组共享网络资源
- 每个分组使用链路全部带宽
- 按需使用网络资源

(2)采用统计复用
在统计复用中,A 和 B 的分组没有固定的顺序;在时分复用中,每个主机获得各 TDM 循环帧的固定时隙。

(3)存在资源竞争
① 资源需求总量可以大于可获得资源的总量
② 拥塞:采用分组队列,等待使用链路。
③ 存储转发:分组每次转发 1 站。
- 所有分组均在同 1 个链路上传输
- 每经过 1 个链路就转发 1 次
- 转发分组前,要求收到完整分组

- 存在同一个分组跨越两个路由器
- 不存在同一个分组跨越两段通信链路
(4)分组交换网络的分类
① 数据报网络:TCP/IP
- 分组目的地址决定下一跳
- 会话期间路由可以改变
- 比方:驱车逐段问路
不记录状态信息,不建立连接。
② 虚电路网络:X.25、FR、ATM
- 每个分组有 1 个标签(虚电路号,virtual circuit ID),标签决定下 1 跳
- 连接建立时确定固定的路径,并且将保持于整个会话期间
- 路由器必须为每个连接维护状态信息
虚电路网络模拟电路交换但不会独占资源。
4. 比较分组交换与电路交换
假设 n 个用户共享 1Mbps 的通信链路,每个用户在活动期所需的传输率为 100Kbps,且只有 10% 的时间活动。
对于电路交换
如果有 10 位用户使用该通信链路。

浪费资源。
对于分组交换
如果有 35 位用户使用该通信链路,则同时有 10 位以上活动用户的概率小于 0.0004 。
![]()
能够满足。
分组交换允许更多的用户使用网络!
分组交换是最后的赢家吗?
优点:
- 适合大量的突发数据传输
- 资源共享
- 简单, 不需要建立连接
缺点:
- 过度竞争导致分组延迟与丢失
- 需要可靠数据传输、拥塞控制协议
问题:如何提供电路级的性能?
- 对于音视频的网络应用需要带宽保障
- 仍然是 1 个没有解决的问题(教材 CH9)
5. 总结:网线的分类

虚电路网络一定是面向连接的。
数据报网络既可以提供面向连接的服务,也可以提供无连接的服务。
如:Internet 为网络应用既提供面向连接的传输服务(TCP),也提供无连接的传输服务(UDP)。
相关文章:
DJ1-3 计算机网络和因特网
目录 一、物理介质 1. 双绞线 2. 同轴电缆 3. 光纤线缆 4. 无线电磁波 二、端系统上的 Internet 服务 1. 面向连接的服务 TCP(Transmission Control Protocol) 2. 无连接的服务 UDP(User Datagram Protocol) TCP 和 UD…...
Git学习笔记(六)-标签管理
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签…...
Semaphore 源码解读
一、Semaphore Semaphore 通过设置一个固定数值的信号量,并发时线程通过 acquire() 获取一个信号量,如果能成功获得则可以继续执行,否则将阻塞等待,当某个线程使用 release() 释放一个信号量时,被阻塞的线程则可以被唤…...
RZ/G2L工业核心板U盘读写速率测试
1. 测试对象HD-G2L-IOT基于HD-G2L-CORE工业级核心板设计,双路千兆网口、双路CAN-bus、2路RS-232、2路RS-485、DSI、LCD、4G/5G、WiFi、CSI摄像头接口等,接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。HD-G2L…...
《SQL与数据库基础》18. MySQL管理
SQL - MySQL管理MySQL管理系统数据库常用工具mysqlmysqladminmysqlbinlogmysqlshowmysqldumpmysqlimportsource本文以 MySQL 为例 MySQL管理 系统数据库 Mysql数据库安装完成后,自带了以下四个数据库,具体作用如下: 数据库含义mysql存储My…...
达梦关系型数据库
达梦关系型数据库一、DM8 安装1. 安装包下载2. Docker 安装3. Linux 安装4. Windows 安装二、DM 管理工具三、命令行交互工具 DIsql四、DM8 SQL使用1. 创建模式2. 创建表3. 修改表4. 读写数据5. 查看库下所有的表名6. 查看表字段信息GitHub: link. 欢迎star国产自主研发的大型…...
Postgresql | 执行计划
SQL优化主要从三个角度进行: (1)扫描方式; (2)连接方式; (3)连接顺序。 如果解决好这三方面的问题,那么这条SQL的执行效率就基本上是靠谱的。看懂SQL的执行计…...
Vue3之父子组件通过事件通信
前言 组件间传值的章节我们知道父组件给子组件传值的时候,使用v-bind的方式定义一个属性传值,子组件根据这个属性名去接收父组件的值,但是假如子组件想给父组件一些反馈呢?就不能使用这种方式来,而是使用事件的方式&a…...
在云服务器安装tomcat和mysql
将 linux 系统安装包解压到指定目录进入 bin 目录执行./startup.sh 命令启动服务器执行./shutdown.sh 关闭服务器在浏览器中访问虚拟机中的 tomcat ip端口具体操作入下解压tomcat压缩包解压,输入tom按table键自动补全tar -zxvf 启动tomcat进入bin目录在linux启动to…...
IO多路复用(select、poll、epoll网络编程)
目录一、高级IO相关1.1 同步通信和异步通信1.2 阻塞与非阻塞1.3 fcntl 函数二、五种IO模型2.1 阻塞式IO模型2.2 非阻塞式IO模型2.3 多路复用IO模型2.4 信号驱动式IO模型2.5 异步IO模型三、认识IO多路复用四、select4.1 认识select函数4.2 select函数原型4.3 select网络编程4.4 …...
Spark单机伪分布式环境搭建、完全分布式环境搭建、Spark-on-yarn模式搭建
搭建Spark需要先配置好scala环境。三种Spark环境搭建互不关联,都是从零开始搭建。如果将文章中的配置文件修改内容复制粘贴的话,所有配置文件添加的内容后面的注释记得删除,可能会报错。保险一点删除最好。Scala环境搭建上传安装包解压并重命…...
C++网络编程(一)本地socket通信
C网络编程(一) socket通信 前言 本次内容简单描述C网络通信中,采用socket连接客户端与服务器端的方法,以及过程中所涉及的函数概要与部分函数使用细节。记录本人C网络学习的过程。 网络通信的Socket socket,即“插座”,在网络中译作中文“套接字”,应…...
【Docker】Linux下Docker安装使用与Docker-compose的安装
【Docker】的安装与启动 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-cesudo systemctl enable dockersudo systemct…...
构造函数与普通函数,显式原型与隐式原型,原型与原型链
原型与原型链1 学前先了解一些概念1.1 构造函数和普通函数的区别1.1.1 调用方式1.1.2 函数中this的指向不同1.1.3 写法不同1.2 问题明确2 原型与原型链2.1 原型2.2 显式原型与隐式原型2.3 原型链3 原型链环形结构1 学前先了解一些概念 1.1 构造函数和普通函数的区别 构造函数…...
跨过社科院与杜兰大学金融管理硕士项目入学门槛,在金融世界里追逐成为更好的自己
没有人不想自己变得更优秀,在职的我们也是一样。当我们摸爬滚打在职场闯出一条路时,庆幸的是我们没有沉浸在当下,而是继续攻读硕士学位,在社科院与杜兰大学金融管理硕士项目汲取能量,在金融世界里追逐成为更好的自己。…...
macOS 13.3 Beta 3 (22E5236f)With OpenCore 0.9.1开发版 and winPE双引导分区原版镜像
原文地址:http://www.imacosx.cn/112494.html(转载请注明出处)镜像特点完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clover引导分区&#x…...
InceptionTime 复现
下载数据集: https://www.cs.ucr.edu/~eamonn/time_series_data/ 挂梯子,开全局模式即可 配置环境 虚拟环境基于python3.9, tensorflow下载:pip install tensorflow,不需要tensorflow-gpu(高版本python&…...
谷粒学院开发(二):教师管理模块
前后端分离开发 前端 html, css, js, jq 主要作用:数据显示 ajax后端 controller service mapper 主要作用:返回数据或操作数据 接口 讲师管理模块(后端) 准备工作 创建数据库,创建讲师数据库表 CREATE TABLE edu…...
2021牛客OI赛前集训营-提高组(第三场) T4扑克
2021牛客OI赛前集训营-提高组(第三场) 题目大意 小A和小B在玩扑克牌游戏,规则如下: 从一副52张牌(没有大小王)的扑克牌中随机发3张到每个玩家手上,每个玩家可以任意想象另外两张牌࿰…...
【OJ比赛日历】快周末了,不来一场比赛吗? #03.11-03.17 #12场
CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!更多比赛信息见 CompHub主页 或 点击文末阅读原文以下信息仅供参考,以比赛官网为准目录2023-03-11&…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
英国云服务器上安装宝塔面板(BT Panel)
在英国云服务器上安装宝塔面板(BT Panel) 是完全可行的,尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎,虽然官方主要面向中国大陆…...
