- Published on
计算机基础之网络层
- Authors
- Name
- noodles
- 每个人的花期不同,不必在乎别人比你提前拥有
简介
在实际的工作中,发现自己对网络这方面的知识有些欠缺并且作为一个web开发者有必要了解网络中数据传输的基本过程,在阅读计算机网络自顶向下方法中把网络层的基础知识整理如下。主要分为三个方面网络层的基础,IP(网际协议),相关协议简介来简单的学习下网络层。
基础
- 网络层提供的通信机制是多个协议族共同运行的结果。主要有以下三个组件:IP协议,路由选择协议,ICMP协议
- 网络层提供的主要功能是提供分组的转发并且结合路由算法实现路由功能,也就是最终实现主机间的通信。运输层提供了主机上进程之间的通信。
- 因特网的网络层提供的服务是一种尽力而为的服务,这样做能简化网络层的行为.当上层的服务需要对应的功能(例如运输层需要保证数据的按序接收等)时候,通过它自己去实现.
- 网络层的有连接服务和无连接服务 提供有连接服务和无连接服务的网络层形成了不同的网络体系。仅提供有连接服务计算机网络称为虚电路网络(ATM,帧中继)。仅提供无连接服务的网络称为数据报网络。
虚电路网络和数据报网络
虚电路网络
- 连接建立 虚电路网络需要在路由器上维持连接信息,在虚电路建立阶段,需要在建立的路径上的路由器之间维持连接状态信息(对应连接的路径),当连接建立后,这些路径信息存储在路由器的转发表中
- 数据发送 发送对应的数据
- 虚电路拆除 发送方通知网路层终止虚电路,在网络的路由器上就删除对应的路径信息
数据报网络
因特网是一种数据报网络,这种网络体系结构在发送数据的时候需要将目的端系统地址推进到网络中,通过逐个路由器的转发最终到达目的主机
网际协议
网际协议(IP)现在主要有两个版本:IPv4和IPv6


字段解释
- 版本号 指示当前数据报使用的IP协议版本
- 首部长度 数据报长度 IP数据报可以提供可变数量的选项,可以通过这两个字段来确定数据报的首部和数据的长度
- 标识、标志、片偏移 在数据报传输给链路层的时候,由于不同链路层协议的产生的链路层帧不同,通过这三个字段来完成数据报的分片与重组
- 生存时间(TTL) 保证一个分组不会在网络之前循环的转发,数据报信息每通过一次路由TTL字段减1.为0的时候必须丢弃改该数据报。
- 协议 与运输层的那种协议传输数据(TCP/UDP)
- 首部校验和 每次到达路由器的时候,路由器都会对数据报的IP首部进行校验,丢弃出错的分组信息
- 源IP地址和目的IP地址 实现主机间的通信
- 数据 承载上层协议的数据(TCP/UDP(应用层 HTTP SMTP) ICMP )
网络编址
IP地址
IP地址可以对应理解成主机与物理链路的接口,在每个子网中,子网中的主机的网络前缀相同为X,后面的32-X位决定该子网具体能容纳下多少台主机
地址获取(DHCP)
在一个子网中,需要为每个主机分配IP地址来实现通信,这个的通常实现是通过DHCP协议(也可以通过静态的配置),通过DHCP获取IP地址主要有以下四个阶段
- 新连接的主机广播DHCP发现报文
- DHCP 服务器收到发现报文,广播DHCP提供报文(在子网中存在多个DHCP服务器)
- 主机根据DHCP提供报文发送对应的DHCP响应报文,将之前DHCP的提供报文的数据回显
- DHCP ACk DHCP服务器确定请求,主机可以进行通信.
地址转换(NAT)
NAT是一种地址管理策略的实现。他通过在NAT路由器中维护NAT转换表来实现对外界统一请求的转发和请求到外界的转发。 实现 子网中的主机通过端口A连接NAT路由器,NAT在收到数据包的时候创建一个新的端口B并将数据的源端口改为B,IP地址改为改子网对外的统一IP地址,外部服务收到对应的报文,响应报文到NAT路由器,NAT路由器查找NAT转换表找到刚才转换的端口A和初始的请求主机IP地址将响应报文发送对请求的主机
相关协议简介
因特网控制报文协议(ICMP)
ICMP用于主机与路由器之间沟通网络层信息,ICMP是运行在IP协议层之上的,也就是IP数据报的数据部分是包括ICMP的数据报文的内容的(跟IP承载TCP/UDP报文一样)
理解路由
- 当主机想发送一个IP数据报的时候,它会查看自己的路由表。如果目的IP地址就是在本地网络,就直接将数据进行封装发送给目的主机.如果目的IP地址不在本局域网中,数据被封装然后发送给路由器(此时在数据链路层的帧的目的地址是路由器的物理地址,IP报头的目的IP仍然为原来的目的IP地址).
- 路由器接收到对应的数据传递给网络层,如果目的IP是自身则自己处理这个数据(用于更新路由表等)否则查询路由表将数据进行转发。
基础词汇解释
名称 | 含义 |
---|---|
丢包 | 在路由器中存在着缓存结构来缓存需要发送或者接受待转发的分组.当这个缓存过大超出其内存空间的时候,路由器就会丢弃该分组,造成丢包 |
IP数据报分片 | 由于不同数据链路层所能承载的最大传输数据单元(MTU)不同.IP数据报在数据链路层会被进行分片和重组 |
CIDR 无类别域间路由 | 它通过扩展IP的网络位数来实现将一个IP地址对应成多个IP地址的行为 |
ARP 地址解析协议 | 在数据链路层提供将网络层的IP地址转换为物理地址 |