0%

计网chp45-网络层

参考书:计算机网络自顶向下方法(第6版)(黑皮书)

一些概念

  • subnet mask子网掩码:按位与运算,主机号部分全0,网络号部分全1.

网络层

最重要的三个组成:

  • IP协议
  • 路由协议
  • ICMP协议

提供:

  • 有限的error control
  • 拥塞控制

虚电路和数据报网络

虚电路

VC(virtual circuit),面向连接

  • 一条虚电路=源和目的之间的路径+(首部携带)VC号+链路号+路由器中的转发表
  • 每台中间路由器必须用一个新的VC号替代每个传输分组的VC 号

数据报

datagram,无连接

  • 路由算法:计算端到端的路径
  • 转发表:确认输出接口
    • 最长前缀匹配

IP

IPv4

报文

image-20220612173214851

切片

fragmentation

  • MTU=20B头部+数据
  • offset表示数据的偏移(MTU-20),还要除8
  • flag置为0表示末端

image-20220612174132763

IPv6

报文

共40字节
image-20220615130105082

  • pri是traffic class
  • next hdr==next header

compare with IPv4

相同/类似字段:

item IPv4 IPv6
指示服务/流量类型 TOS (type of service) traffic class
指示下一层协议(运输层) protocol next header
(路由器)跳数限制 TTL(time to live) hop limit
报文长度 total datagram length payload length

独特点:

  • IPv4:fragmentation,option
  • IPv6:flow

ICMP

当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。用来传递错误报文信息。

traceroute

Traceroute跟踪路由的原理是通过设置IP数据报的TTL(生存周期)。利用ICMP实现Traceroute - 简书 (jianshu.com)

路由算法

链路状态

在链路状态(LS)算法中,每个节点都有完整地网络拓扑图,也就是完整的链路信息(距离矢量法只知道和相邻路由的),节点向相邻网络广播自己和邻居的信息,每当自己也收到这个信息,就用dijkstra算法来重新计算路由表。

Dijkstra最短路径算法

image-20220613114633972

  • p(x)表示最短路径中x的上一个结点
  • 最小生成树
    image-20220613114801372
  • 转发表:下一条链路
    image-20220613114830494

OSPF

BGP

距离矢量

距离矢量算法(DV)他会把自己的路由表分享给自己的所有相邻节点,那么这些节点如果发现通过新的路由表自己到其他节点的距离改变了,那么再把自己的更新的路由表发送给自己的周围节点,所以这个过程是迭代的,异步的。

Bellman-Ford

image-20220613115325652

  • 从x到y的最短路径=min{x到邻居+邻居到y的最短路径}
  • 距离表:
    img

RIP

比较

item 描述 优点 缺点
LS 全局计算 1.收敛快 1.振荡
DV 迭代、分布式 1.效率高 1.无穷计数
2.环路
  • RIP是应用层协议
  • OSPF是传输层协议
  • BGP是应用层协议