计算机网络-概述


要学好计算机网络的内容,首先是得对计算机网络有个全貌的概况了解,七层模型, 四层协议,都是需要先理解的概念,本章带你入门计算机网络。

1. 什么是计算机网络

计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。

  • 计算机网络不仅是软件概念,还包含硬件设备。
  • 计算机网络不仅是信息通信,还可以支持广泛应用。

2. 计算机网络的分类

2.1 网络作用范围

  • 广域网(WAN)
  • 城域网(MAN)
  • 局域网(LAN)
分类 英文 范围 区域
广域网 WAN(Wide Area Network) 几十到几千公里 跨省、跨国
城域网 MAN(Metro Area Network) 5KM-50KM 城市间
局域网 LAN(Local Area Network) 1KM以内 地区间

2.2 网络的使用者

  • 公用网络
  • 专用网络

3. 计算机网络的发展简史

3.1 互联网的发展历史

第一阶段:ARPANET -> 第三阶段:三级结构互联网 -> 第三阶段:多层次ISP互联网

3.2 中国互联网的发展历史

1980年开始互联网实验 -> 1989年第一个公共网络建立运行 -> 1994年接入国际互联网

4. 计算机网络的层次结构

4.1 层次结构设计的基本原则

分层实现不同的功能:如,保证数据通路顺畅,目的计算机状态,识别目的计算机,数据是否错误。
网络应用数据:视频、文件、游戏,数据可靠通信:数据错误、重复,物理网络接入:光电等物理特性

  • 各层之间是相互独立的
  • 第一层要有足够的灵活性
  • 各层之间完全解藕

4.2 OSI七层模型

  1. 应用层:为计算机用户提供接口和服务
  2. 表示层:数据处理(编码解码、加密解密等)
  3. 会话层:管理(建立、维护、重连)通信会话
  4. 传输层:管理端到端的通信连接
  5. 网络层:数据路由(决定数据在网络中的路径)
  6. 数据链路层:管理相邻节点之间的数据通信
  7. 物理层:数据通信的光电物理特性

OSI欲成为全球计算机都遵循的标准
OSI在市场化过程中困难重重,TCP/IP在全球成功运行
OSI最终并没有成为广为使用的标准模型
OSI的专家缺乏实际经验
OSI标准定制周期过长,按OSI标准生产的设备无法及时进入市场
OSI模型设计得并不合理,一些功能在多层中重复出现

4.3 TCP/IP四层模型

  1. 应用层:HTTP/FTP/… =>对应OSI:应用层,表示层,会话层
  2. 传输层:TCP/UDP =>对应OSI:传输层
  3. 网络层:IP/ICMP =>对应OSI:网络层
  4. 网络接口层:Ethernet/ARP/RARP =>对应OSI:数据链路层,物理层

5. 现代互联网的网络拓扑

5.1 边缘部分

左右滑动查看更多

5.2 核心部分

左右滑动查看更多

6. 计算机网络的性能指标

6.1 速率

速率单位:bps=bit/s

为什么电信拉的100M光纤,测试峰值速度只有12M每秒?
100M/s = 100Mbps = 100Mbit/s
100Mbit/s = (100/8)MB/s = 12.5MB/s。注:1byte = 8bits。

6.2 时延

  • 发送时延 = 数据长度(bit) / 发送速率(bit/s)
  • 排队时延 = 传播路径距离 / 传播速率(bit/s)
  • 传播时延:数据包在网络设备中等待被处理的时间
  • 处理时延:数据包到达设备或者目的机器被处理所需要的时间
  • 总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延

6.3 往返时间RTT

  • RTT(Route-Trip Time)是评估网络质量的一项重要指标
  • RTT表示的是数据报文在端到端通信中的来回一次的时间
  • 通常使用ping命令查看RTT

7. 物理层概述

7.1. 物理层的作用

  • 连接不同的物理设备:双绞线、同轴电缆、光纤、红外线、无线、激光
  • 传播比特流:0/1,低/高电位(物理特性:机械特性、电气特性、功能特性、过程特性)

7.2. 信道的基本概念

信道是往一个方向传送信息的媒体
一条通信电路包含一个接收信道和一个发送信道

  • 单工通信信道:只能一个方向通信,没有反方向反馈的信道(有线电视、无线电收音机等等)
  • 半双工通信信道:双方都可以发送和接收信道,不能同时发送,也不能同时接收
  • 全双工通信信道:双方都可以同时发送和接收信息

7.3. 分用-复用技术

提升信道的利用效率

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

8. 数据链路层概述

8.1. 封装成帧

“帧”是数据链路层数据的基本单位
发送端在网络层的一段数据前后添加特写标记形成”帧”
接收端根据前后特定标记识别出”帧”
另,物理层不关心是否封装成”帧”

封装成帧

8.2. 透明传输

编程语言中”\“一般为转义字符
“\n”、”\t”等控制字符
“\“、”\\“

  • “透明”在计算机领域是非常重要的一个术语
  • “一种实际存在的事物却又看起来不存在一样”
  • “即是控制字符在帧数据中,但是要当做不存在的去处理”

8.3. 差错监测

物理层只管传输比特流,无法控制是否出错
数据链路层负责起”差错监测”的工作

8.4. 数据链路层的差错监测

  • 奇偶校验码

    00110010 1 0 + 0 + 1 + 1 + 0 + 0 + 1 + 0 = 3
    00111010 0 0 + 0 + 1 + 1 + 1 + 0 + 1 + 0 = 4

  • 循环冗余校验码CRC

    一种根据传输或保存的数据而产生固定位数校验码的方法
    检测数据传输或者保存后可能出现的错误
    生成的数字计算出来并且附加到数据后面

  • 模”2”除法

    模”2”除法是二进制下的除法
    与算术除法类似,但除法不借位,实际是”异或”操作

  • 循环冗余校验码CRC-实例

    1.选定一个用于校验的多项式G(x),并在数据尾部添加r个0
    2.将添加r个0后的数据,使用模”2”除法除以多项式的位串
    3.得到的余数填充在原数据r个0的位置得到可校验的位串

    例子:使用CRC计算101001的可校验位串
    发送端:
    G(x) = x3 + x2 +1 => 二进制位串:1101,最高阶为3
    G(x) = 1 * x3 + 1 * x2 + 0 * x1 + 1 * x0
    101001 => 101001000

    101001 => 101001000经过模”2”除法得到的余数为:001
    最终得到可校验位串为:101001000 => 101001001

    接收端:
    接收端接收的数据除以G(x)的位串,根据余数判断出错:101001001 / 1101
    余数为0表示校验通过

CRC的错误检测能力与位串的阶数r有关,r为1校验能力最差
数据链路层只进行数据的检测,不进行纠正
常用CRC(按照ITU-IEEE规范)

8.5. 最大传输单元MTU

  • MTU

    最大传输单元(Maximum Transmission Unit)
    数据链路层的数据帧也不是无限大的
    数据帧过大或过小都会影响传输的效率
    总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延
    以太网MTU一般为1500字节

  • 路径MTU

    路径MTU由链路中MTU的最小值决定

8.6. 以太网协议

  • MAC地址

    MAC地址(物理地址、硬件地址
    第一个设备都拥有唯一的MAC地址
    MAC地址共48位,使用十六进制表示

  • 以太网协议

    以太网(Ethernet)是一种使用广泛的局域网技术
    以太网是一种应用于数据链路层的协议
    使用以太网可以完成相邻设备的数据帧传输

9. 网络层概述

未完待续。。。


文章作者: 小动物不困
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小动物不困 !
评论
 上一篇
Nginx中解决cors跨域问题 Nginx中解决cors跨域问题
CORS跨域资源共享 CORS(Cross-Origin Resource Sharing)允许浏览器向跨Origin的服务器发起js请求获取响应常见处理方式:Jsonp、StringBoot Cors、Nginx Nginx中解决跨域u
2020-09-11
下一篇 
Hexo博客搭建-初始篇 Hexo博客搭建-初始篇
纵里寻她千百度,蓦然回首,那人却在灯火阑珊处我心目中的博客,应是一款省心且专注的记录工具 Hexo介绍Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生
2020-09-01
  目录