【计算机网络】深入浅出计算机网络

第一章

计算机网络在信息时代的作用

计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施

CNNIC 中国互联网网络信息中心

因特网概述

网络、互联网和因特网

网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成

多个网络还可以通过路由器(router)互联起来,这样就构成了一个覆盖范围更大的网络,即互联网。因此互联网是网络的网络(Network of Network)

因特网(Internet)是世界上最大户互联网络(用户数以亿计,互连的网络数以百万计)

Internet(互联网)是一个通用名词,它泛指由多个计算机网络连接而成的网络。在这些网络之间的通信协议可以是任意的

Internet(因特网)则是一个专有名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET

因特网发展的三个阶段

因特网服务提供者ISP(Internet Service Provider)

基于ISP的三层结构的因特网

第一层ISP(主干网,覆盖国际性区域范围,并拥有高速链路和交换设备),第一层ISP之间直接互联

第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性或国家性覆盖规模,与少数第一层ISP相连接

第三层ISP,又称本地ISP,它们是第二层ISP的用户,且只拥有本地范围的网络,一般的校园网或企业网,以及住宅用户和无线移动用户都是第三层ISP的用户

相隔较远的两台主机间的通信可能需要经过多个ISP

一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的是购买一些如调制器或路由器这样的设备,让其他用户能够和他相连

一个ISP可以很方便地在因特网拓扑上增添新的层析和分支

因特网的标准化工作

注意:不是所有的RFC文档都是因特网标准,只有一小部分RFC文档最后才能变为因特网标准

因特网的组成

边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

核心部分:由大量的网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连连通性和交换)

在网络核心部分起特殊作用的是路由器,是一种专用计算机,但我们不称它为主机。路由器是实现分组交换的关键构件,其任务是转发接收到的分组。

三种交换方式

电路交换(Circuit Switching)

电话交换机接通电话线的方式称为电路交换;

从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;

电路交换的三个步骤:

(1)建立连接(分配通信资源)

例如,在使用电路交换机打电话之前,必须先拨号请求建立连接。当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端建立了一条连接(也就是一条专用的物理通路),这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。

(2)通话(一直占用通信资源)

在整个通话期间,第一步建立连接所分配的通信资源始终被占用

(3)释放连接(归还通信资源)

也就是通话完毕后挂机后,电话交换机释放刚才使用的这条专用物理通路,是把刚才占用的所有通信资源归还给电信网。

思考:如果使用电路交换来传送计算机数据,是否可行?

尽管采用电路交换可以实现计算机之间的数据传送,但是线路的传送效率往往很低(计算机数据是突发式地出现在传输线路上的)

用户正在输入和编辑一份待传输的文件时,用户所占用的通信资源暂时未被利用,该通信资源也不能被其他用户利用,宝贵的通信线路资源白白地被浪费了

因此,计算机网络通常采用分组交换,而不是电路交换

分组交换(Packet Switching)

假设主机H6的用户要给主机H2的用户发送一条消息,(通常把该消息的整块数据称为一个报文),在发送报文之间,先把较长的报文划分成一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部(也可称为“包头”)后,就构成了一个分组(也可简称为“包”)

添加首部的作用?首部中肯定包含了分组的目的地址,否则分组传输路径中的各分组交换机(也就是各路由器)就不知道如何转发分组了。

分组交换机收到一个分组后,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机,

主机H6将所构造出的各分组依次发送出去,各分组经过交换机的存储转发,最终到达主机H2,主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文。

只给出两种情况:一种是各分组从源站到达目的站可以走不同的路径(不同的路由);

另一种是分组乱序,分组到达目的站的顺序不一定与分组在源站的发送顺序相同。

可能出现的分组丢失、误码、重复等

报文交换(Message Switching)

交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要有较大的缓存空间。

主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代

分组交换,相比于报文交换,减少了转发时延,避免过长的报文长时间占用链路,同时有利于进行差错控制。

计算机网络的定义和分类

计算机网络的定义

计算机网络的精确定义并未统一

计算机网络的简单定义是:一些互相连接的、自治的计算机的集合

互连:是指计算机之间可以通过有线或无线的方式进行数据通信;

自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用;

集合:是指至少需要两台计算机;

计算机网络的较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能欧用来传递多种不同类型的数据,并能支持广泛的和日益增长的应用。

计算机网络所连接的硬件,并不限于一般的计算机,还包括智能手机、具有网络功能的传感器以及智能硬件。

计算机网络并非只用来传送数据,而是能够基于数据传送而实现各种各样的应用,包括在今后可能出现的各种应用。

计算机网络的分类

计算机网络的性能指标

计算机网络体系结构

总结

第二章

物理层的基本概念

物理层下面的传输媒体

传输方式

编码与调制

信道的极限容量

总结

第三章

数据链路层概述

封装成帧

差错检测

可靠传输的实现机制

点对点协议PPP

媒体接入控制的基本概念

媒体接入控制

随机接入

MAC地址、IP地址以及ARP协议

集线器与交换机的区别

以太网交换机自学习和转发帧

以太网家滑稽的生成树协议STP

虚拟局域网VLAN概述

虚拟局域网VLAN的实现机制

第四章

网络层概述

网络层提供的两种服务

IPv4地址概述

分类编址的IPv4地址

划分子网的IPv4地址

无分类编址的IPv4地址

IPv4地址的应用规划

IP数据报的发送和转发过程

静态路由器配置以及

路由器选择协议概述

IPv4数据报的首部格式

网际控制报文协议ICMP

虚拟专用网VPN与网络地址转换NAT

第五章

运输层概述

运输层端口号、复用与分用的概念

UDP和TCP的对比

TCP的流量控制

TCP的拥塞控制

TCP超时重传时间的选择

TCP可靠性传输的实现

TCP的运输连接管理

TCP报文段的首部格式

第六章

应用层概述

客户--服务器方式和对等方式

动态主机配置协议DHCP

域名系统DNS

文件传送协议FTP

电子邮件

万维网WWW

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

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

相关文章

【linux】vi编辑文件及readonly文件修改读写权限方法

板端vi修改文件: 1、vi 文件路径 vi mnt/eol/config/oem_eol.xml2、按 i进入修改状态,此时可以修改配置文件 3、按 esc退出修改状态,并按:wq!保存 问题:readonly文件无法直接vi修改 方案: 1、mount -o remount /rw…

Vue.js组件开发-使用地图绘制轨迹

在Vue.js中开发一个组件来展示地图并绘制轨迹,可以使用诸如Leaflet.js、Mapbox GL JS或百度地图等地图库。这些库提供了丰富的API来创建和定制地图,以及绘制路径、标记和其他地图元素。 示例: 1. 安装Leaflet.js 首先,需要安装…

计算机网络八股文学习笔记

总结来自于javaguide,本文章仅供个人学习复习 javaguide计算机网络八股 文章目录 计算机网络基础网络分层模型OSI七层模型TCP/IP四层模型 HTTP从输入URL到页面展示到底发生了什么?(非常重要)HTTP状态码HTTP Header中常见的字段有哪些?HTTP和HTTPS有什么区别?(重要)HTTP/1.0和…

测试模型安全的手段

1. 指令劫持(Instruction Hijacking) 定义: 通过嵌入特殊指令或诱导性的提示,使模型执行与设计目标不符的任务。例如,将模型从安全模式切换到非安全模式,或使其输出敏感内容。 实现方式: 在…

QT Quick QML 实例之椭圆投影,旋转

文章目录 一、前言二、演示三、部分代码与分析 QML 其它文章请点击这里: QT QUICK QML 学习笔记 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 一、前言 此 Demo 主要用于无人机吊舱视角的模拟&#xf…

Mysql--架构篇--体系结构(连接层,SQL层,存储引擎层,文件存储层)

MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),其体系结构设计旨在提供高效的数据存储、查询处理和事务管理。MySQL的体系结构可以分为多个层次,每个层次负责不同的功能模块。 MySQL的体系结构主要由以下几个部分组成&#…

【人工智能】用Python进行对象检测:从OpenCV到YOLO的全面指南

对象检测是计算机视觉领域的核心任务之一,广泛应用于视频监控、自动驾驶、智能安防等多个场景。随着深度学习技术的发展,基于传统方法的对象检测逐渐被基于神经网络的先进模型所取代。本文将系统地介绍如何使用Python进行对象检测,重点探讨了…

农业4.0背后的智慧引擎:机器学习助力精准农事决策

农业4.0背后的智慧引擎:机器学习助力精准农事决策 在21世纪的科技浪潮中,农业作为人类生存和发展的基石,正经历着前所未有的变革。从传统的农耕文明到现代化的机械农业,再到如今智能化的农业4.0时代,每一步都凝聚着科…

Spring Boot 项目启动后自动加载系统配置的多种实现方式

Spring Boot 项目启动后自动加载系统配置的多种实现方式 在 Spring Boot 项目中,可以通过以下几种方式实现 在项目启动完成后自动加载系统配置缓存操作 的需求: 1. 使用 CommandLineRunner CommandLineRunner 是一个接口,可以用来在 Spring…

【SpringSecurity】SpringSecurity安全框架登录校验流程与登录配置示例

文章目录 SpringSecurity安全框架登录校验流程登录配置示例 SpringSecurity安全框架 Security 是一个能够为基于 Spring 的应用程序提供认证、授权以及保护免受攻击的安全框架。它是 Spring 生态系统的一部分,与 Spring 框架无缝集成。这些框架帮助开发者实现认证&…

dockerfile1.0

docker的数据卷 docker file ------------- 自动自定义镜像 docker的数据卷: 容器与宿主机之间,或者容器和容器之间的数据共享(目录) 创建容器的时候,通过指定目录,实现容器于宿主机之间,或…

晨辉面试抽签和评分管理系统之九:随机编排考生的分组(以教师资格考试面试为例)

晨辉面试抽签和评分管理系统(下载地址:www.chenhuisoft.cn)是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…

PythonQT5打包exe线程使用

打包: pyinstaller --noconsole --onefile test.py–noconsole 表示不需要打开命令行 修改:test.spec 一般项目里面需要用的资源文件,比如lib、png、exe等。 需要单独修改spec文件 pathex[.],binaries[(D:/test.png, .),(D:/simsun.ttc, .…

List 接口的实现类

在 Java 中,List 是一个非常常用的接口,提供了有序、可重复的元素集合。List 接口有多个实现类,每个实现类都有其特定的特性和适用场景。以下是 Java 中主要实现了 List 接口的类及其详细介绍。 1. 常见的 List 实现类 1.1 ArrayList 简介&…

信号与系统初识---信号的分类

文章目录 0.引言1.介绍2.信号的分类3.关于周期大小的求解4.实信号和复信号5.奇信号和偶信号6.能量信号和功率信号 0.引言 学习这个自动控制原理一段时间了,但是只写了一篇博客,其实主要是因为最近在打这个华数杯,其次是因为在补这个数学知识…

Qt之http客户端类

一、HTTP客户端类功能: 1、POST请求发送: 支持发送JSON格式的数据自动处理请求头设置提供上传进度监控、 2、GET请求发送: 简单的GET请求实现支持下载进度监控 3、状态监控: 通过信号槽机制监控上传/下载进度错误处理和状态回调 /…

解决winodws server iis 下的php mkdir(): Permission denied 问题

这个问题报错原因是权限不够,解决办法如下: 1.在php安装目录下,打开配置文件php.ini 把upload_tmp_dir 前面的分号去掉。 2.给上传的文件夹添加权限 在网站的相应目录,比如目录为tmp,添加IUSR用户,并给所…

如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等)

如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等) 如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等)模型地址模型下载模型部署指定显卡运行app.py 运行环境requirements 调用接口代码调用 结语 如何…

数据库增量备份和全量备份

数据库增量备份和全量备份 1.修改配置 首先打开配置文件my.ini 添加以下配置 #log-bin"JSSM-20230617FY-bin" log-bin"mysql-bin"# Server Id. server-id1#指令指定写入二进制日志的事件格式 binlog_formatMIXED添加完之后对MySQL服务进行重启 重启之后…

用 Python 从零开始创建神经网络(十九):真实数据集

真实数据集 引言数据准备数据加载数据预处理数据洗牌批次(Batches)训练(Training)到目前为止的全部代码: 引言 在实践中,深度学习通常涉及庞大的数据集(通常以TB甚至更多为单位)&am…