本章知识概要
什么是计算机网络
计算机网络主要由一些通用的,可编程的硬件互连而成,通过这些硬件,可以传输不同类型的数据并且可以支持广泛和日益增长的应用。
- 计算机网路的不是软件概念,还包含硬件设备
- 计算机网络不仅仅是信息通信,还可以支持广泛的应用
计算机网络的分类
按网络的作用范围分类
分类 | 英文 | 范围 | 区域 |
广域网 | WAN(Wide Area Network) | 几十到几千公里 | 跨省、跨国 |
城域网 | MAN(Metro Area Network) | 5KM-50KM | 城市间 |
局域网 | LAN(Local Area Network) | 1KM以内 | 地区内 |
按网络的使用者分类
公用网络:公开允许任何人使用的网络
专用网络:机构或企业的内部为了特殊业务需求搭建的网络
计算机网络发展简史
互联网的发展历史
- 第一个阶段:单个网络APRANE。 1969年美国国防部创建的小网络,当时连接仅有的计算机
- 第二个阶段:三级结构的互联网。主要还是有美国使用互联网的
- 第三个阶段:多层次ISP互联网。
- ISP(Internet Service Provider):网络服务提供商
- 中国电信,中国联通,中国移动
- 中国的主干isp 可以连接美国isp及其他国家
- 地区isp 可以连接服务公司 校园 家庭
- isp通过海底电缆将全球的网络连接起来
- 到这个阶段才能让全球的互联网连接起来形成巨大无比的网络
现代国际互联网的主要线路The world’s largest network and datacenter infrastructure atlas (infrapedia.com)
中国互联网的发展历史
- 第一个阶段:1980年互联网实验
- 第二个阶段:1989年第一个公共网络运行
- 第三个阶段:1994年接入国际互联网
中国最大的五个公共的计算机网络
- 中国电信互联网CHINANET
- 中国联通互联网UNINET
- 中国移动互联网CMNET
- 中国教育与科研计算机网CERNET
- 中国科学技术网CSTNET
中国企业家互联网公司
- 1996年,张朝阳创建搜狐
- 1997年,丁磊创建网易
- 1998年,王志东创建新浪
- 1998年,马化腾、张志东创建腾讯
- 1999年,马云创建阿里巴巴
- 2000年,李彦宏创建百度
计算机网络层次结构
层次结构设计的基本原则
计算机A与计算机B进行数据通路考虑的问题?
- 保证数据通路顺畅
- 目的计算机状态
- 识别目的计算机
- 数据是否错误
解决方案:分层实现不同的功能
基本原则:
- 各层之间是相互独立的
- 每一层要有足够的灵活性
- 每层之间完全解耦
OSI七层模型
- 应用层:为计算机用户提供接口和服务
- 表示层:数据处理(编码解码,加密解密等)
- 会话层:管理(建立,维护,重连)通信会话
- 传输层:管理端到端的通信连接
- 网络层:数据路由(决定数据在网络的路劲)
- 数据链路层:管理相邻节点之间的数据通信
- 物理层:数据通信的光电物理特性
- OSI欲成为全球计算机都遵循的标准
- OSI在市场化过程中困难重重,TCP/IP在全球范围成功运行
- OSI最终并没有成为广为使用的标准
OSI为什么没有成为全球计算机都遵循的标准?
- OSI的专家缺乏实际经验
- OSI标准制定周期过长,按OSI标准生产的设备无法及时进入市场
- OSI模型设计的并不合理,一些功能在多层中重复出现
TCP/IP四层模型
层次结构与协议
- 网络层:HTTP/FTP/DNS/telnet/SMTP/POP3/SNMP
- 传输层:TCP/UDP
- 网络层:IP/ICMP
- 网络接口层:Ethernet/ARP/RARP
TCP/IP四层模型与OSI七层模型映射
计算机A->计算机B
现代互联网的网络拓扑
边缘部分
边缘部分:家庭
边缘部分:企业
核心部分
整个网络拓扑结构
树状结构
客服-服务器(C/S模式)
对等连接(P2P)模式
计算机网络的性能指标
计算机组成原理回顾
第一个性能指标也就是:bps
时延:
- 发送时延:。发送速率受限于计算机网卡
- 传播时延:。传播速率受限于传输介质
- 排队时延:数据包在网络设备中等待被处理的时间
- 处理时延:数据包到达设备或者目的机器被处理所需要的时间
- 总时延:发送时延+传播时延+排队时延+处理时延
往返时间RTT:
- RTT(Route-Trip Time)是评估网络质量的一项重要指标
- RTT表示的是数据报文在端到端通信中的来回一次的时间
- 通常使用ping命令查看RTT
物理层概述
物理层处于哪个位置?
ISO七层模型处于第一层对应的物理层
TCP/IP四层模型处于网络接口层
物理层作用
- 连接不同的物理设备
- 传输比特流
连接不同设备的物理介质:
双绞线:平时使用的网线也是一种双绞线
同轴电缆:以前比较常见的一种传输介质(网线),现在用的比较少了
光纤:随着科技的发展现在很多家庭互联网都是使用的光纤
传输的无线的一些介质:
- 红外线
- 无线
- 激光
比特流:使用的高低电平进行传输的
信道的基本概念
- 信道是往一个方向发送信息的媒体
- 一条通道电路包含一个接收信道和一个发送信道
- 单工通信信道
- 只有一个方向通信,没有反方向反馈的信道
- 有线电视,无线电收音机等等
- 半双工通信信道
- 双方都可以发送和接收信息
- 不能双方同时发送,也不能同时接收
- 全双工通信信道
- 双方都可以同时发送和接收信息
分用-复用技术
数据链路层概述
数据链路层处于哪个位置?
处于ISO七层模型的第二层
处于TCP/IP四层模型的网络接口层
主要解决三个问题
- 封装成帧
- “帧”是数据链路层数据的基本单位
- 发送端在网络层的一段数据前后添加特定标记形成“帧”
- 接收端根据前后特定标记识别出“帧”
物理层才部管你“帧”不“帧”
- 帧首部和尾部是特定的控制字符(特定比特流)正在上传…重新上传取消
- 有同学就要问了如果我们传输的字符也有控制字符怎么办?问题解决在下一个知识点
透明传输- “透明”在计算机领域是非常重要的一个术语
- “一种实际存在的事物却又看起来不存在一样”
- “即是控制字符在帧数据中,但是要当做不存在的去处理”
问题:数据链路层传输的字符也有控制字符怎么办?
解决:
如果说数据中也出现转移字符那该怎么办呢?
- 差错检测
- 物理层只管传输比特流,无法控制是否出错
- 数据链路层负责起“差错检测”的工作
- 下一节进行详细的学习
数据链路层的差错检测
- 奇偶校验码
下面在传输过程中假设传输错误用奇偶校验码进行判断(只错一位)
下面在传输过程中假设传输错误用奇偶校验码进行判断(错2的偶数倍位)
如图,出错两位,奇偶校验码校测不到错误
- 循环冗余校验码CRC
- 一种根据传输或保存的数据而产生固定位数校验码的方法
- 检测数据传输或者保存后可能出现的错误
- 生成的数字计算出来并且附加到数据后面
前提基础知识:模“2”除法
- 模“2”除法是二进制下的除法
- 与算术除法类似,但除法不借位,实际是“异或”操作
0 xor 0=0
1 xor 0=1
0 xor 1=1
1 xor 1=0
- 选定一个用于校验的多项式G(x),并在数据尾部添加r个0
- 将添加r个0后的数据,使用模“2”除法除以多项式的位串
- 得到的余数填充在原数据r个0的位置得到可校验的位串
例子1:使用CRC计算101001的可校验位串
第一步:
G(x)=++1二进制位串:1101,最高阶为3(最高阶就是r)
位串1101是怎么得到的?展开得到,如下:
G(x)=1*+1*+0*+1*
101001101001000
第二步:将添加r个0后的数据,使用模“2”除法除以多项式的位串
第三步:得到的余数填充在原数据r个0的位置得到可校验的位串
接收端接收的数据除以G(x)的位串,根据余数判断出错
余数为0就表示数据没有错
例子2:使用CRC计算10110011的可校验位串
第一步:
选取G(x),G(x)=++1 二进制位串:11001,最高阶为4
第二步:
- CRC的错误检测能力与位穿的阶数r有关
- 数据链路层只进行数据的检测,不进行矫正
- 常见的G(x)如下
MTU
MTU
- 最大传输单元MTU(Maximun Transmission Unit)
- 数据链路层的数据帧也不是无限大的
- 数据帧过大或过小都会影响传输的效率
总时延=发送时延+排队时延+传输时延+处理时延
正在上传…重新上传取消
路径MTU
以太网协议详解
MAC地址
- MAC地址(物理地址、硬件地址)
- 每一个设备都拥有唯一的MAC地址
- MAC地址共48位,使用十六进制表示
Windows查看MAC地址命令:ipconfig /all
例:30-B4-9E-ED-85-CA
以太网协议(重点)
- 以太网(Ethernet)是一种使用广泛的局域网技术
- 以太网是一种应用于数据链路层的协议
- 使用以太网可以完成相邻设备的数据帧传输
以太网协议数据格式:
下面的数字单位(byte字节)
MAC地址表:MAC地址与硬件接口的映射表
问题1:A需要跟C发数据的时候,需要通过E的路由器,但是E是怎么知道A所发送的数据是发送到C的呢?通过MAC地址表。我们来了解一下整个过程。
问题2:如果MAC地址表不知道C的硬件接口怎么办呢?使用广播技术。我们来了解一下整个过程。