当前位置: 首页 > news >正文

计算机网络 第 1 章 计算机网络概述

计算机网络 第 1 章 计算机网络概述

思维导图

在这里插入图片描述

计算机在信息时代的作用

互联网的两个基本特点:连通性、共享

互联网概述

网络的网络

  • 网络:结点 + 链路
  • 可以通过路由器把网络连接起来
  • 网络互联不仅仅是简单地物理连接

三个阶段

第一阶段
	单个分组交换网往 互连网 发展的过程
	区分 internet 互连网 和 Internet 互联网(因特网)
	最早投入运行的计算机网络:ARPANET
第二阶段
	建成三级结构的因特网(互联网)
	三级
		主干网
		地区网
		校园网(企业网)
第三阶段
	逐渐形成多层次 ISP 结构的互联网
	ISP
		互联网服务提供者
		多层次(按覆盖面积和 ip 数量
			主干 ISP
				专门维护、面积大、高速
			 地区 ISP
				面积较小,速度稍慢,通过一个或多个主干 ISP 连接
			本地 ISP
				给用户提供直接的服务
		互联网交换点 IXP
			允许两个网络直接相连并交换分组,不需要第三个网络转发分组

标准化工作

ISOC
	IAB
		IETF
		IRTF
RFC 请求评论
标准制定三阶段
	互联网草案
	建议标准(RFC)
	互联网标准

互联网的组成

工作方式视角

边缘部分

定义
	用户直接使用
	由所有互联网中的主机组成
	利用核心部分提供的服务进行通信交换和共享信息
主机 A 和 主机 B 通信是是指不同主机上不同进程层面的通信
通信方式
	C/S
		进程之间由服务和被服务关系,不对等
		客户程序
			主动向服务器请求服务,要知道服务器程序地址
			不需要特殊硬件和复杂程序
		服务器程序
			专门提供某种服务,可同时处理多个客户请求
			系统启动后不断运行,被动接受请求
			要强大硬件和系统支持
	P2P
		双方平等不区分服务请求方和提供方
		都要安装 P2P 软件
		可支持大量对等用户同时工作

核心部分

定义
	为边缘部分提供服务(连通性和交换)
	由大量网络和连接网络的路由器组成
路由器
	实现分组交换,转发收到的分组
三种交换
	电路交换
		两两互连 N(N-1)/2 对电线
		都连到交换机
		三个步骤
			建立连接(占用通信资源)
			通话(一直占用通信资源)
			释放连接(归还通信资源)
		特点
			在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
			线路的传输效率比较低,真正传数据的时间比例很低
		优点
			通信时延小
			有序传输
			没有冲突
			适用范围广
			实用性强
			控制简单
		缺点
			建立连接时间长,由于计算机通信突发性质,信道利用率低
			灵活性差,物理通路中任意一点出现故障就要重新建立新连接
			难以规格化
	报文交换
		特点
			整个 报文传送到相邻结点,全部存储后转发到下一个结点
		优点
			无需预先建立专用的通信线路,用户随时可以发送报文
			动态分配线路。当发送方把报文传送给结点交换机时,结点交换机先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去
			提高线路可靠性,如果某条传输路径发生故障,会重新选择另一条路径传输路径,因此提高了传输的可靠性。
			提高线路的利用率。通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路,因而大大提高了通信线路的利用率
			提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中很难实现。
		缺点
			引发转发时延
			需要较大的存储缓存空间。这是因为报文交换对报文的大小没有限制
			需要额外信息量(地址等控制信息)
	分组交换
		步骤
			发送端将较长报文分成较短、固定长度数据段;数据段前添加首部(含地址等控制信息)构成分组;以分组为单元发送;以存储转发方式发送数据,接收机去除首部还原报文
		特点
			单个 分组传送到相邻节点,存储后查找转发到下一节点
		优点
			可靠
				分组比报文小,减少出错概率和重发数据量
				保证可靠的网络协议;分布式多路由分组交换网
			灵活
				为每个分组独立选择转发路由
			高效
				在分组传输过程中动态分配带宽,对通信链路逐段占用
				加速传输,后一个分组的存储操作和前一个分组转发操作可以同时进行
			迅速
				无需预先建立专用的通信线路,用户随时可以发送分组
			线路利用率高
			简化存储管理,分组长度固定,缓冲区大小固定
		缺点
			引发转发时延
			需要额外信息量(地址等控制信息)
			当分组交换采用数据报服务时,可能会出现失序、丢失、或重复分组,分组到达目的节点时,需要重新还原成原始报文
			若分组交换采用虚电路服务,虽然没有分组失序问题,但有呼叫建立、数据传输和虚电路释放三个过程

组成部分视角

  • 硬件
  • 软件
  • 协议

功能组成视角

通信子网

  • 传输介质、通信设备、网络协议组成的
  • 决定了网络的拓扑结构

资源子网

  • 实现资源共享功能的设备及其软件的集合

计算机网络的类别

作用范围

* WAN 广域网
* MAN 城域网
* LAN 局域网
* PAN 个人区域网

使用者

  • 公用网
  • 专用网

接入网 AN

用户端系统到互联网的第一个路由器之间的网络

传输技术

广播式网络

  • 局域网
  • 广域网中的无线、卫星通信

点对点网络

  • 广域网大多数是点对点网络
  • 分组转发、路由选择

拓扑结构

  • 总线
  • 星形
  • 环形
  • 网状

交换技术

  • 电路交换
  • 报文交换
  • 分组交换

计算机网络的性能

性能指标

速率
	表帧传输有效性的指标
带宽
吞吐量
时延
	发送时延
	传播时延
	处理时延
	排队时延
时延带宽积
	数值含义
	媒体中正在传播的比特数
往返时间 RTT
	有效数据率
利用率
	与时延关系

非性能指标

  • 费用
  • 质量
  • 标准化
  • 可靠性
  • 可扩展性
  • 易于管理和维护

计算机网络的功能

  • 数据通信(最基本)
  • 资源共享
  • 分布式处理
  • 提高可靠性
  • 负载均衡

体系结构

体系结构是抽象的,实现是具体的(硬件软件)

协议与划分层次

协议定义
	三要素
		语法
		语义
		同步
	为实现网络中数据交换而建立的规则、标准或约定
协议形式
	便于人阅读的文字描述
	便于计算机理解的程序代码
分层的作用
	将复杂问题化为局部的简单问题
	各层独立
	灵活性好
	结构上可分割
	易于实现和维护
	促进标准化

五层协议体系结构

应用层
	数据单元:报文
	进程间通信和交互的规则
	HTTP、DNS、SMTP
运输层
	为两主机中进程的通信提供通用的数据传输服务
	协议
		TCP 传输控制协议
			面向连接,可靠的数据传输服务
			数据传输单位:报文段
		UDP 用户数据报协议
			无连接、尽最大努力、不保证可靠性
			数据传输单位:用户数据报
网络层
	为分组交换网上不同主机提供通信服务
	把运输层数据单元封装成分组或包进行传送
	选择合适路由
	IP 协议
		数据单元:IP 数据报
		无连接的网际协议
数据链路层
	将 IP 数据报组装成帧
		包含数数据和必要的控制信息
物理层
	数据单位:比特
	任务
		多大电压表示 01
		电缆插头引脚
	传输媒体不是物理层
	解释比特含义也不是物理任务

几个概念要区分清楚

  • 协议和服务
  • PDU 和 SDU
  • SAP
  • 确认的确认,两军问题

TCP/IP 四层体系结构

  • 应用层
  • 运输层
  • 网际层
  • 网络接口层

OSI 七层协议

应表会传网数物

相关文章:

  • 如何转换图片格式?教你三招一键轻松转换图片格式
  • 【从小白到大白04】Linux基本权限
  • Unity_飞机大战_防止单例随场景销毁和跨场景两个物体脚本问题_自动加载物体挂载脚本的两种方式
  • taro 兼容支付宝小程序和微信小程序<七>-- 上传图片及图片转base64
  • 【附源码】计算机毕业设计SSM汽车交易平台
  • 购买域名-腾讯云
  • 【Linux练习生】Linux多线程
  • JavavEE中网络编程Socket套接字Ⅱ(TCP)
  • Intel汇编-函数使用堆栈传递数据
  • 【Android程序开发】常用布局--线性布局LinearLayout
  • 基于Dijkstra、A*和动态规划的移动机器人路径规划(Matlab代码实现)
  • 国产EDA与FPGA芯片验证方案
  • 一种更优雅书写Python代码的方式
  • 自定义类型(结构体、位段、联合体、枚举)
  • 如何基于 GORM 实现 CreateOrUpdate 方法
  • #Java异常处理
  • [数据结构]链表的实现在PHP中
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • [译] 怎样写一个基础的编译器
  • 【EOS】Cleos基础
  • 78. Subsets
  • canvas 五子棋游戏
  • Fastjson的基本使用方法大全
  • Fundebug计费标准解释:事件数是如何定义的?
  • Service Worker
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Webpack 4x 之路 ( 四 )
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 解决iview多表头动态更改列元素发生的错误
  • 配置 PM2 实现代码自动发布
  • 设计模式 开闭原则
  • 运行时添加log4j2的appender
  • Prometheus VS InfluxDB
  • ​批处理文件中的errorlevel用法
  • #Linux(权限管理)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $NOIp2018$劝退记
  • %@ page import=%的用法
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Java)【深基9.例1】选举学生会
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转) ns2/nam与nam实现相关的文件
  • (转)linux 命令大全
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET DataGridView数据绑定说明
  • .net wcf memory gates checking failed
  • .NET 命令行参数包含应用程序路径吗?
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化