计算机网络——篇一

简介

  • 计算机网络还没用统一的概念, 多少人认为:计算机网络是由一些通用的、可编程的硬件互连而成,通过这些硬件可以传送不同类型的数据,并且可以支持广泛和日益增长的应用
  • 计算机网络包含硬件设备和软件应用,可以按不同的标准分类:
    • 按作用范围:
      net1
    • 按网络的使用者:公用网络(互联网)、专用网络(军政医等)
  • 本篇结构:
    net2

计网简史

  • 第一阶段:单一网络ARPANET
    • 机器数量少,网络未互连,主要用于军事机构等
      net3
  • 第二阶段:三层结构互联网
    • 可以在学校、地区等拥有计算机的区域之间互连(主要还是米国)
      net4
  • 第三阶段:出现ISP(网络服务提供商)
    • 中国电信、移动、联通都是
    • 可以通过主干ISP全球互连,形成了今天的互联网
      net5
    • 链接可以查看全球的互联网连接线路,如图:
      net6
    • 这些线大部分是海底电缆
  • 中国计网简史:
    • 发展阶段:
      net7
    • 当前最大的公用计算机网络:出国流量也是通过这
      net8
    • 还有一些民营科技集团也推动了中国互联网发展:张朝阳(搜狐)、网易(丁磊)、新浪(王志东)、腾讯(马化腾)、百度(李彦宏)

计网层次结构

  • 计网采用层次结构的设计,为什么分层呢?
    • 主机之间的网络通信要保证物理通路顺畅,识别目的计算机,校验数据错误等
    • 为了合理解决上述纷繁复杂的问题,使用分层结构,层与层之间相对独立(解耦),关注各自的功能,保证足够的灵活性;这也是分层原则
  • OSI七层模型
    • 大致了解一下不同层次的功能:
      net9
    • OSI欲称为全球计算机遵循的标准,但是TCP/IP的成功推行,让OSI只成为了理论成果
    • 被打败是有原因的:
      • 缺乏实际经验,不贴合应用场景
      • 制定周期太长,无法及时投入市场
      • 模型设计不合理,有重复冗余
    • TCP/IP四层模型:
      net10
    • 通信流程:
      net11
  • 比较普遍的方式是结合两种模型,分为五层:物理层、数据链路层、网络层、传输层和应用层
  • 我们以学习四层模型为主,从一开始的概念可以看出,计算机、路由器都是可编程的硬件(可以用Perl语言实现protocols),主机应用之间的数据要通过由上到下的数据封装、解析传递,由下到上的拆包等过程
  • 当然,上述图示和分层都是抽象的概念,但的确可以帮助我们精简协议优化网络,对理解学习也很有帮助
  • 接下来结合具体数据形式、硬件单元分层介绍

互联网拓扑

  • 现代互联网拓扑
    • 边缘网络:可以理解成用户部分net12
    • 边缘部分除了散户,还可以是企业:
      net13
      • 一个企业有多个网关 ,需要统一网关接入ISP
    • 核心网络
      net14
  • 网络拓扑总览:
    net15
    • 用户并感知不到网关和ISP,最多是自家的路由器,也就是现在流行的C/S模式和P2P模式:
      net16
    • 对等连接的模式一般用在资源下载,还会介绍(flag立起来

网络性能指标

  • 峰值速度:常用单位Mbps,即Mbit/s,通常的百兆光纤只有12MB/s左右
  • 时延:后续学习协议时会常出现以下概念
    • 发送时延:报文长度/发送速率(网卡决定)
    • 传播时延:路径长度/传播速率(受限于传播介质)
    • 排队时延:等待处理时间
    • 处理时延:
    • 怎么记?一个报文从主机A出发(发送时延)到达下一台路由器B(传播时延),在此等待处理(排队时延),开始处理准备转发(处理时延)
  • RTT(Route-Trip time)
    • 表示数据报文在端到端通信中来回一次的时间
    • 评估网络质量的重要指标
    • ping命令查看,时间并不是稳定的:
      net17

物理层

  • 正式开始分层学习
  • 作用:
    • 传输比特流
    • 屏蔽设备差异
  • 设备:
    • 双绞线
      net18
    • 同轴电缆
      net19
    • 光纤
      net20
    • 红外线、无线、激光等介质
  • 物理特性(这个要考,你就背,背就完了)
    • 机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
    • 电气特性:指明在接口电缆的各条线上出现的电压范围
    • 功能特性:指明某条线上出现某一电平的电压意义
    • 过程特性:指明对于不同功能的各种可能事件的出现顺序
    • 记住:设备和通信手段种类繁多,物理层的目的是尽可能地屏蔽差异,传输比特,为数据链路层服务
      • 有些基本的概念后,会介绍协议、服务、接口之间的关系
  • 信道
    • 往一个方向传送信息的媒体
    • 一条通信电路包含:接收信道+发送信道;为了避免冲突,出现了:
      • 单工信道:一个只能发,一个只能收
      • 半双工:一个发/收,另一个收/发
      • 全双工:可同时收发
    • 分用-复用技术:提高信道利用率:
      net21
      • 频分复用
      • 时分复用
      • 波分复用
      • 码分复用
      • 这些在物理层设备已经实现,属于信号通信技术就不再展开
  • 物理层设备
    • 中继器
    • 集线器

数据链路层

  • 作用
    • 封装成帧
    • 透明传输
    • 差错检测
    • 流量控制和可靠传输
  • 比特位是物理层的基本单位,是链路层的数据基本单位
    • 在发送端将网络层的报文添加标记成帧(帧首部、帧尾部)
    • 在接收端识别拆帧交给网路层(下层给上层服务:下来了接着,上来了递上去)
  • 如果帧定界符和内容冲突呢?需要透明传输
    • 透明:重要术语,屏蔽底层实现,只提供API,例如物理层对数链层是透明的(它就在那,但是你看不到)
    • 这里的意思是:控制字符在数据中,但要当做不存在处理,用转义字符实现
      bet22
  • 物理层只管传输,无法监测过程中的错误,需要在此差错检测
    • 奇偶校验码
      net23
      • 根据内容的奇偶个数添加校验位0或1,传输后再检测奇偶个数,看是否一致
      • 局限:只能检测奇数个位错误,如果上面的同时错两位,无法检测到
    • 循环冗余校验码(CRC)
      • 根据数据产生固定校验码位数,如何产生?(要考)
  • 二进制模2除法
    • 作用:在这里产生CRC校验位
    • 和算术除法类似,但是不借位,使用异或操作(同0异1)
      net24
    • 得到CRC校验位:计算步骤的官方说法:
      net25
    • 但还是推荐看例子,这些规则的原理很伤脑筋,先记下就好:
      • 多项式G,填0:G的选取需要收发双发协商
        net26
      • 模2除法:注意写法,从高位开始除
        net27
      • 用得到的余数替换掉r个0,得到可校验数据串
    • 接收端如何校验的呢?
      • 将收到的数据模2除以G,根据余数判断
      • 余数为0则无错
    • 常用G(x)表:
      net28
  • CRC只检错不纠错,错误报文直接丢弃,等上层通知重传吧
  • 数链层还有纠错编码:海明码
  • IEEE802参考模型将数据链路层划分为两个子层,媒体访问控制MAC 子层和逻辑链路控制 LLC 子层,有很多细节(都要考)
    • MAC 子层与物理层相关联
    • LLC子层则完全独立出来,为高层提供服务
    • 后面仅介绍以太网(有线局域网)的数据转发流程
    • 这层的协议部分、硬件设备,还有流量控制与可靠传输可以参考其他资料(很推荐,考研党必看

MTU

  • 最大传输单元(maximum transmission unit)
  • 规定数据帧的最大长度
    • 物理硬件限制
    • 性能影响(考虑时延)
  • 以太网的MTU=1500B
  • 路径MTU
    • 由链路中MTU的最小值决定
      net29

以太网

  • 以太网(Ethernet)是一种广泛使用的局域网
    • 局域网(LAN)是从范围上划分的,并不限制在网络接口层
    • LAN可分为:无限局域网和有线局域网,以太网属于有线局域网
    • 对应的有CSMA/CA协议和CSMA/CD协议来保证传输质量(要考!)
  • 以太网协议是数链层数据传输的主要协议
  • 了解了真实数据传输流程后,我们发现,在考虑数据传送的过程中,可以只关注某一层,简化理解:
    net30
  • Ethernet规定了包括物理层的连线、电子信号和介质的内容
  • 是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET

MAC地址

  • 全球唯一标识一台计算机设备,刻在网卡上,不可改变
  • cmd中使用命令ipconfig /all即可查看,格式形如30-B4-9E-ED-85-CA,共48位(6字节)

以太网协议

  • 数据格式
    net31
    • 类型标识了帧数据带的是何种协议下的数据
      net33
  • 数据转发流程(很重要)
    nt34
    • 怎么路由器匹配MAC地址表呢,这不是IP层设备吗?(而且书上说路由器不同端口接不同网段啊啊啊)是这样的:
      • 属于同一网络号(网段)下(无论是内网还是外网),这时路由器本质上当交换机使(LAN口),数链层即可实现主机间通信
      • 交换机是同一网段设备之间数据转发的机器,工作在数链层
  • 两个问题:
    • 如何在不同网段传输数据?
    • 如果MAC表中地址未知,怎么解决?
    • 这就要学习下一篇的网络层,使用路由器和APR协议实现!

小结

  • 计网的知识点杂、碎~,不细想可能会觉得背就完了,细想发现想不通!
  • 我觉得还是要结合计算机基础相关知识,抽象的协议最终要落地在硬件上(不是网络编程那么简单的事),规则可能纷繁复杂,但如果不谈高屋建瓴的算法优化、架构设计,基本原则还是节约资源、提高效率,从这些角度思考,理得清记得牢,是入门的第一步
  • 这里更像是对物理层和数链层的介绍,还有一些细节的部分(要考)可以参考《计算机网络》
  • 如果对底层有兴趣可以看《现代交换原理和通信网技术》,揭开物理层的神秘面纱,去吧再见。。。
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值