查看原文
其他

网络基础(上篇)

孙超 金科优源汇 2020-09-02

作者 | 孙超

编辑 | 徐广欣





tips1.网络名词说明、物理层网络协议、数据链路层网络协议、网络层网络协议~




一. 名词


  • internet

    互联网,由多个计算机网络互联而成的网络。


  • Internet

    因特网,特定的计算机网络。

  • ISP

    因特网服务提供商(Interne Service Provider),例如电信、移动,他们向因特网管理机构申请海量IP。

  • IXP

    因特网交换点(Internet exchange point)。

  • p2p

    peer-to-peer。两个主机都运行了对等连接软件(P2P软件),进行平等的、对等连接通信。

  • 路由器

    一种具有多个输入端口和多个输出端口的专用计算机。实现分组交换的关键构件。使用存储转发技术。

  • 存储转发

    在发送报文之前,先将较长的报文划分为一个个小的等长数据段,每个数据段前面加上Header,这样就构成了分组 Packet,也成为包。包是网络中传输的基本单元。

  • 报文(Message),要发送的整体数据。

  • Header包头,包含诸如目标地址、源地址等控制信息。

  • 分组转发,路由器收到一个包,先暂存,然后根据Header去查找转发表,将包转发到下一个路由器。


  • 带宽

    单位时间内网络从一点到另一点所能通过的 “最高数据率”。

  • 吞吐量

    单位时间内通过某个网络(或信号、接口)的数据量。100Mb/s的以太网,典型吞吐量70Mb/s。


  • 延迟

    数据从网络一端到另一端所需要的时间。总延迟 = 发送延迟 + 传播延迟 + 处理延迟 + 排队延迟。

  • 发送延迟

    主机或路由器发送数据帧所需时间,也称为传输延迟 = 数据帧长度(b) / 发送速率(b/s)。

  • 传播延迟

    电磁波在信道上传播一定距离所需时间,信道长度(m) / 传播速率(m/s)。其中光纤的传播速率是

2 * 10⁵ km/s。
  • 处理延迟

    主机或路由器进行分组转发所花费的时间。

  • 排队延迟

    分组进入路由器后,先在输入队列排队等待处理,确定了转发接口后,在输出队列中等待转发。RTT: 往返时间(Round-Trip Time),从发送方发送数据开始,到发送方收到接收方的确认。

  • 利用率

    信道利用率和网络利用率,利用率过高会产生非常大的延迟。上行带宽:用户到ISP的带宽。

  • 下行带宽

    ISP到用户的带宽。TTL:数据报在网络中的寿命,单位是跳数。


二.网络协议


  • 应用层:应用进程根据应用层协议(例如:http、smtp等),相互发送报文。


  • 传输层:为应用进程的通信提供传输服务。传送报文到下层(网络层),接受下层数据返回到应用层。

  • TCP:数据传输协议,面向连接的,基本传输单位是报文段(segment)。

  • UDP:用户数据报协议,无连接的数据传输服务,基本传输单位是用户数据报。


  • 网络层提供通信服务,使用IP协议。接受传输层的报文段,封装成包(Packet)(或IP数据报),负责查找路由进行传输。需要使用设备路由器。

  • 数据链路层(data link layer),接受网络层的 IP数据报,组装成帧(framing),每一帧由 数据+控制信息 组成。收到一个帧后,抽取数据部分,传给网络层。

  • 物理层连接传输媒体传输bit流数据。传输数据的单位是bit,将数据交由硬件设备(光缆、无线信道等)进行处理。

1. 物理层

  • 集线器(hub)主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。即多端口转发器,网络中某条线路产生了故障,并不影响其它线路的工作。

2. 数据链路层

  • 物理链路一个节点到相邻节点的一段物理线路(有线或无线)。

  • 逻辑链路物理线路 + 通信协议 + 实现软/硬件(例:网络适配器)。

  • 信道类型点对点信道、广播信道。

  • 点对点协议封装成帧、透明传输、差错检测。

  • 封装成帧:将IP数据报的前后添加Header和Tailer,构成一个帧。

  • 透明传输:无论IP数据包是什么内容,都可以构成帧进行传输。(帧的开始、结束符是特定的控制字符,不能在数据中出现)。

  • PPPoE:PPP over Ethernet 宽带上网的主机使用的链路层协议。将PPP帧在封装成 Ethernet帧。

  • 适配器:PC 和 LAN通过适配器进行通信,含有处理器和存储器(RAM 和 ROM),计算机发送IP数据报,由协议栈将IP数据报向下交给适配器,组装成帧后发送到局域网,硬件地址也成为MAC地址(适配器地址)。

适配器的过滤功能
  1. 单播帧(unicast): 收到的帧的MAC地址与本站的硬件地址相同。

  2. 广播帧(broadcast): 发送给本局域网上所有站点的帧。

  3. 多播帧(multicast): 发送给本局域网上一部分的帧。

  • 网桥(桥接器):用来连接不同的网段,简单的网桥有两个端口,分别有一条独立交换信道,不是共享一条背板总线,可隔离冲突区。每个端口与一个网段互联,可扩展局域网。
连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。
  • 交换机(switch):一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机交换机拥有一条很高带宽的背部总线和内部交换矩阵,可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的发送者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。


3. 网络层

网络层向上(运输层)只提供简单的、无连接的、尽最大努力交付(传输错误)的数据报服务。


a.协议

  • IP协议

    所有的网络之间使用IP协议进行互联,构成一个大的网络。

  • 地址解析协议 ARP(Address Resolution Protocol)

    数据链路层传输的是MAC帧,ARP 协议通过在主机 ARP 高速缓存中存放一个从IP到硬件地址的映射表,此表动态更新。

bogon:~ dante$ arp -abogon (10.10.0.1) at 3c:8c:40:5e:ea:d5 on en0 ifscope [ethernet]bogon (10.10.0.16) at 6c:19:c0:68:a8:e1 on en0 ifscope [ethernet]bogon (10.10.0.18) at 44:6e:e5:1c:e8:19 on en0 ifscope [ethernet]bogon (10.10.0.24) at b0:48:1a:3f:6b:d9 on en0 ifscope [ethernet]bogon (10.10.0.39) at c0:a5:3e:79:8c:57 on en0 ifscope [ethernet]bogon (10.10.0.43) at 78:7b:8a:3c:e2:6b on en0 ifscope [ethernet]bogon (10.10.0.44) at 6c:4d:73:67:47:e1 on en0 ifscope [ethernet]bogon (10.10.0.56) at 20:ab:37:22:81:f1 on en0 ifscope [ethernet]
  • 网际控制报文协议 ICMP(Internet Control Message Protocol)

    ICMP 允许主机或路由报告差错情况和提供有关异常情况的报告,ICMP报文封装在IP数据报中,作为数据部分。

  • 差错报告报文

  • 询问报文

    ping,分组网间探测(Packet InterNet Groper),用来测试两个主机之间的连通性。使用 ICMP 的回送请求和回送回答报文,即由主机或路由器向一个特定的目的主机发出的询问,收到此报文的主机必须给源主机发送ICMP回送回答报文。

bogon:~ dante$ ping baidu.comPING baidu.com (220.181.57.216): 56 data bytes64 bytes from 220.181.57.216: icmp_seq=0 ttl=52 time=8.477 ms64 bytes from 220.181.57.216: icmp_seq=1 ttl=52 time=6.015 ms64 bytes from 220.181.57.216: icmp_seq=2 ttl=52 time=38.573 ms64 bytes from 220.181.57.216: icmp_seq=3 ttl=52 time=13.032 ms64 bytes from 220.181.57.216: icmp_seq=4 ttl=52 time=40.353 ms
  • 网际组管理协议 IGMP(Internet Group Manage Protocol)


b.IP分类


IP地址是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界唯一的32位的标识符。
IP地址 = <网络号>,<主机号>

  • 分组转发算法

  • 从数据报的首部提取目的主机的IP地址 D,从而获取网络地址 N。

  • 若 N 与此路由器直连,则进行直接交付。否则,间接交付。

  • 若路由表中有目标地址为D的特定路由,则数据发送到路由表中指明的下的路由器。否则,下一步。

  • 若路由表中有一个默认路由,则把数据报传送到默认路由器。否则,转发分组错误。


  • 子网寻址(划分子网)

  • 将IP地址变成三级结构,只把IP地址的主机号部分进行划分,不改变原来的网络号。

IP地址 = <网络号>,<子网号>,<主机号>
  • 子网掩码,用来计算子网地址的掩码,计算方式 IP 和 子网掩码 逐位相“与”。

例如:IP是 141.14.72.24,子网掩码是 255.255.192.0,计算出网络地址。
IP二进制 = 10001101 00001110 01001000 00011000子网掩码 = 11111111 11111111 11000000 00000000
逐位相与 = 10001101 00001110 01000000 00000000计算结果 = 141.14.64.0
  • 分组转发:目的网络地址 + 子网掩码 + 下一跳地址


c.无分类编址 CIDR


IP地址 = <网络前缀> , <主机号>/<网络前缀的位数>
  • CIDR 地址块

    网络地址前缀相同的连续的IP地址组成一个 “CIDR 地址块”。


128.14.35.7/20 = 10000000000011100010 0011 00000111子网掩码11111111111111111111 0000 00000000 = 255.255.240.0最大、小地址10000000000011100010 0000 00000000 = 128.14.32.010000000000011100010 1111 11111111  =  128.14.47.255简写10.0.0.0/10 简写为 10/10
  • 分组转发

    网络前缀 + 下一跳地址,选择具有最长网络前缀的路由。


d.路由选择协议


因特网将整个互联网划分为许多个较小的自治系统(Autonomous System),即 AS。
  • 内部网关协议 IGP ,在一个自治系统内部使用的路由选择协议,例如 RIP 和 OSPF 协议。

  • RIP

    分布式的基于距离向量的路由选择协议,按固定的时间间隔与相邻路由器交换信息。交换的信息是自己当前的路由表,即到达本AS系统中所有网络的最短距离,以及到每一个网络应经过的下一跳路由器。

  • OSPF

    分布式链路状态协议,只在链路状态发生时,才向 AS 中的所有路由器发送链路状态信息。所有的路由器最终都能建立一个全网的拓扑结构图。

  • 外部网关协议 BGP,源主机和目标主机处在不同的自治系统中的路由选择协议,例如 BGP 边界网关协议,致力于寻找一条能过到达目的网络且比较好的路由,而非要寻找一条最佳路由。BGP 采用了路径向量(Path Vector)路由选择协议。

  • 因特网的规模太大,使得 AS 之间路由选择非常困难。在一个主干网路由器中,一个路由表中的项目数超过5万个网络前缀,若使用链路状态协议,则每个路由器都会维护一个很多的链路状态数据库。并且不同的 AS 评价标准不同,因此无法使用 RIP 协议。所以,对于不同的 AS 之间的路由选择,可在各个 AS 之间交换可达性(可达或不可达)信息。

  • AS 之间的路由选择必须考虑有关策略(政治、安全、经济等)。

    例如:

  1. 国内站点的通信不需要经过国外的AS。

  2. AS1 发送数据给 AS2,线路上经过 AS3 是最好选择,但 AS3 可能不愿意承受这部分的流量

  • BGP 发言人:每个 AS 中的 BGP 边界路由器通过一个共享网络(核心交换机)连接在一起。

  • 邻站(neighbor或peer):不同 AS 的 BGP 发言人通过 TCP 建立连接,交换路由信息,被连接的两个 BGP 发言人彼此成为对方的邻站(或对等站)。


  • 报文

    BGP 有四种报文,如下:

  • OPEN 报文,用来和相邻的另一个 BGP 发言人建立关系,初始化通信。

  • UPDATE 报文,用来通告某一路由的信息,以及列出要撤销的多条路由。

  • KEEPALIVE 报文,用来周期性的证实邻站的连通性。

  • NOTIFACATION 报文,用来发送检测到的差错。

  • BGP 自治系统连通图

    树形结构,不存在回路问题。

e. VPN


在公用网络上建立专用网络,进行加密通讯。一个机构要构建自己的 VPN 就必须为它的每一个场所购买专门的硬件和软件,并进行配置,使每一个场所的VPN系统都知道其他场所的地址。


f. 网络地址转换 NAT


专有网内的本地IP,要和因特网上的主机进行通信,需要在专有网连接到因特网的路由器上安装 **NAT** 软件(NAT路由器),他至少具有一个全球唯一的外部IP。所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将本地地址转化为全球IP地址。


NAT路由器如何将目的IP转化成专用网内的哪一个本地IP,通过网络地址和端口号转换。

关注我们



让我知道你在看



猜您喜欢往期精选▼

1. 敏捷,是一种方式,更是一种态度

2. 图表示学习介绍




    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存