SickWorm的博客

《计算机网络:自顶向下方法》笔记(4):网络层

读书  ·  

网络层

网络层的功能是:分组从一台发送主机移动到另一台接收主机。细分为两个子功能:转发(forwarding)和路由选择(routing)。涉及的协议是:IP,NAT,ICMP。

转发:分组从一个输入链路到达路由器的时候,将其移动到一条合适的输出链路。

路由选择:从发送主机到接收主机的端到端的路由器选择。

每个路由器都有一张转发表,转发表指示一个分组应该移动到哪条输出链路。

某些计算机网络中还有第三种功能,连接建立(connection setup)。因为某些网络体系结构中(包括 ATM,帧中继的体系结构)属于虚电路网络。和因特网的数据报网络不一样,虚电路网络提供恒定速率和连接功能。

转发表的修改是通过路有选择算法进行修改的,这通常每 1 到 5 分钟左右更新一次转发表。

虚电路的概念来源于电话界,呼叫简历和每次呼叫的状态都要在网络中的路由器位置。这显然要复杂的多。复杂的原因是端系统设备(电话)是“哑巴”,他们本身不负责维持过于复杂的状态。而在因特网中,连接状态是由端设备(电脑)维持的,电脑会维护网络层之上的运输层 TCP 的连接。

当路由某个输出端口的分组转移速度赶不上其他输入端口的速度之和时,未处理的分组会放入缓存。当缓存满的时候,就会被路由器丢弃,出现丢包。

IPv4 数据格式:

版本 4bits
首部长度 4 bits
服务类型(TOS) 8bits  // 第七章
数据报长度(16 bits)
标识 16bits
标志 3bits
片偏移 13bits // 这三个与 IP 分片有关
寿命(TTL) 8bits  // 每经过一个路由会减 1
上层协议 8bits // 最终到达目的地才有用,指示了该报文应该交给哪个传输层协议。协议号绑定网络层和运输层,就像运输层的端口号绑定运输层和应用层
首部校验和 16bits
源地址 32bits
目的地址 32bits
选项(可选)
数据 n bits

版权所有,转载请注明出处:
https://sickworm.com/?p=1728