美文网首页
计算机网络

计算机网络

作者: 谭英智 | 来源:发表于2021-07-10 17:40 被阅读0次

术语

  • 链路
  • 节点
  • 点到点
  • 多路复用
  • 交换网路
  • 存储转发
  • 主机
  • 交换机
  • spanning tree
  • 英特网
  • 路由器
  • host-to-host连接
  • 地址
  • 路由
  • 单播、多播、广播
  • LAN(局域网)
  • MAN(城域网)
  • WAN(广域网)
nw-lan
nw-wan

网络的可靠性

  • 网路应该隐藏错误
  • bit的丢失
  • 包丢失
  • 链路、交换机或者路由器失效
  • 消息延迟到达
  • 消息乱序

协议

  • 应用层角度
nw-app-nw
  • 协议视觉
nw-tcp-nw
  • 路由器视觉
nw-rout-nw
  • 交换机视觉
nw-switch-nw

传输

  • 物理层(如何把资料在链路上传输)

    • 铜族电缆
    • 双绞线
    • 光纤
    • 无线电波
  • 数据链路层(如何传输资料给直接相连的机器)

    • 把bit汇聚成frame

    • 通过CSMA/CD或者CSMA/CA协议传送

    • 通过交换机或者网桥连接不同的主机

    • 在网路上构建spanning tree来路由frame

nw-lan
nw-datalink-pro
  • 网络层(如何透过英特网把资料送到目的主机)

    • 通过IP包来传输

    • 使用路由器来转发请求

    • 路由协议有RIP、OSPF和BGP

    • 路由器维护路由表

nw-wan
  • 传输层(不同主机的进程如何传输资料)

    • 在主机上通过端口区分不同进程

    • 使用UDP和TCP作为协议

nw-process-2-process

性能

  • 带宽 Bandwidth

    大数据传输,更关注单位时间内可以传输的数据的总量

  • 延迟 Latency

    短数据传输,更关注从源到目的,消息的传输时间

nw-pipe

技术细节

Ethernet

nw-ethernet

速度

10 Mb 到100 G

特性

  • 无连接

  • 不可靠

  • CSMA/CD协议

  • 每段网,最长500米

  • 可以通过repeater连接不同的网路,来延长Ethernet的覆盖范围

  • 最多四个repeater

  • 通过repeater相连的网路,每个包发送,都是广播形式,独占整条链路

  • 通过switch相连的网路,每个包发送,不会独占整条链路,因为switch内部学习了MAC地址的路由规则,可以过滤掉包

nw-switch

CSMA/CA

  • 发送数据包前先监听链路是否有包在传输
  • 如果链路有包传输,则先不传输
  • 如果链路空闲,则传输数据
  • 如果在传输过程中,发现有冲突,则发送一个破坏包到链路上,并停止发送
  • 过一个随机时间,再重新发送包到链路
  • 数据包的最小长度是512bits
nw-csmaca

地址学习

nw-address-learning

Spanning Tree

  • switch之间通过包交换,来或者地址学习
  • 解决链路中存在多条通路导致地址学习不收敛的问题
  • 通过把一个可能有回路的链路图转换成一颗树的链路来解决地址学习不收敛问题
  • 如果某条树的链路断开,则有不通的终端发起包,来局部重新构建spanning tree
术语
  • Root Bridge:最小序号的交换机
  • Path Cost:链路代价
  • Root Port:每个交换机有可能有多个网卡,Root Port是到根交换机代价最小的网卡
  • Root Path Cost:交换机到根交换机的最小代价
  • Designated Bridge:对于每个LAN,到根交换机的最小代价的外出交换机
  • Designated Port:对于每个LAN,外出到根交换机代价最小的交换机的网卡
算法过程
  • 决定Root Bridge
  • 决定每个交换机的Root Port
  • 决定每个LAN的Designated Port
nw-spanning-tree

可靠传输

依赖特性

  • ACK
  • Timeout

停止等待协议

  • 传送完一个包后,sender等待ACK,然后才发送下一个包
  • 如果等待的ACK超过一定时间内没有回复,则超时重送
  • 如果ACK延迟到达,则会造成相同的包发送了两次,可以通过加一个需要0,1来解决

滑动窗口

  • Sending Windows Size (SWS)
  • Last Acknowledgement Received(LAR)
  • Last Frame Sent (LFS)
  • SWS >= LFS - LAR
nw-slicing-win
带来的问题
  • Receiver接受到窗口外的包

    丢弃并会ACK

  • SWS计算

    SWS = Delay x Bandwidth

  • Seq不能无限增长

    通过循环使用来解决

  • Sender接受到不是窗口内的产生的包的回包ACK

    SWS < (MaxSeqNum + 1)/2

功能
  • 可靠传输
  • 有序
  • 流量控制

IP路由

  • 面向无连接
  • 尽可能交付(不可靠传输)
    • 丢包
    • 乱序
    • 重复
    • 延迟
  • 路由器存储转发
  • 路由器通过查询IP表,决定下一跳的路由器或者主机
  • 路由器需要手工配置路由规则
  • 路由器通过路由选择算法RIP、OSPF、BGP来决定网路最短路径
  • 路由器维护IP->MAC的mapping表

IP地址分类

nw-ip-addr

路由表

nw-router

分包

每个网络都有MTU的限制

Router通过判断IP包是否允许分包

来做IP包的切割

并header包括分包信息,以方便重组

子网掩码与路由配置

nw-subnet
nw-subnet-router

通过子网掩码来规划IP

来减少路由表的配置项

ARP

IP to MAC

ICMP

  • 目标不可达,返回源机器
  • 重组包失败,返回源机器
  • TTL=0,返回源机器
  • IP包checksum失败,返回源机器

路由算法

nw-forwarding-table
nw-routing
  • 假设路由器的网络连接如上图
  • 则需要运行一个算法,找到每个路由器到其他路由器的最短路径出口
算法
  • 静态配置

  • 动态寻路

    • RIP

      通过交换路由器的Distance信息

      慢慢构建路由表

      存在的问题是,如果链路局部出现了问题,消息要很久才能广播到所有路由器

nw-rip
nw-rip-init
nw-rip-final
  • OSPF

    通过广播路由表的方式

    每个路由器就拥有了所有节点的信息

    并通过Dijkstra算法,算出最短路径

TCP/UDP已经很熟了,不再论述

相关文章

  • 计算机网络基本要素和结构

    什么是计算机网络 计算机网络的要素 计算机网络的协议 计算机网络的服务 计算机网络的结构 什么是计算机网络 计算机...

  • 计算机网络原理梳理丨计算机网络的概念

    目录 计算机网络概念 计算机网络结构 数据交换技术 计算机网络性能 计算机网络体系结构 计算机网络概念 计算机网络...

  • 计算机网络篇——网络层

    计算机网络系列 计算机网络篇——概述 计算机网络篇——链路层 计算机网络篇——网络层 计算机网络篇——传输层 计算...

  • 计算机网络篇——应用层

    计算机网络系列 计算机网络篇——概述 计算机网络篇——链路层 计算机网络篇——网络层 计算机网络篇——传输层 计算...

  • 计算机网络篇——传输层

    计算机网络系列 计算机网络篇——概述 计算机网络篇——链路层 计算机网络篇——网络层 计算机网络篇——传输层 计算...

  • 计算机网络篇——链路层

    计算机网络系列 计算机网络篇——概述 计算机网络篇——链路层 计算机网络篇——网络层 计算机网络篇——传输层 计算...

  • 计算机网络技术(一)——概论

    摘要 计算机网络的起源与发展 计算机网络的分类 计算机网络的硬件和软件设备 计算机网络的性能指标 计算机网络的功能...

  • 计算机网络 - 目录

    计算机网络01 - 应用层 计算机网络02 - 传输层 计算机网络03 - 网络层 计算机网络04 - 数据链路层...

  • 计算机网络 复习笔记 物理层

    目录 计算机网络 复习笔记 概述 计算机网络 复习笔记 物理层 计算机网络 复习笔记 数据链路层 计算机网络 复习...

  • 计算机网络知识大纲

    第一章 计算机体系结构 计算机网络概述 计算机网络的概念 计算机网络的组成 计算机网络的功能 计算机网络的分类 计...

网友评论

      本文标题:计算机网络

      本文链接:https://www.haomeiwen.com/subject/hyncpltx.html