《计算机网络自顶向下方法》之网络层总结

网络层三大组件

  • IP协议
  • ICMP互联网控制报文协议
  • RIP、OSFP、BGP选路协议

IP协议

IP编址

首先指定IP地址是32位bit组成,可取2^32个,约40亿个取值,IP地址书写采用点分十进制

每个接口都必须要分配一个唯一的IP(除了NAT后面的接口),接口的IP也不能随意选取,都是由其所连接的子网决定的

接口:主机和物理链路的边界,路由器和链路的边界

为何接口要有IP?因为主机和路由器都能收发IP数据表自然要有源/目的IP

  • 子网(subnet)

    连接多台主机到一台路由器接口的独立以太网络,或者是路由器之间相连的独立网络

  • 子网如何确定

    分开主机和路由器的每个接口,产生了几个分离的网络岛。而接口端连接了这些独立的网络岛的端点,这些独立的网络都是一个子网

  • IP编址会为每一个子网分配一个地址(形如223.1.1.0/24,/24称为子网掩码 subnet mask),则子网中主机和接口的IP都是223.1.1.xxx的形式

    子网掩码定义了子网地址,如/24,表明IP前24位bit全1,后8位全0就是子网地址
    前x为bit也通常称为前缀(prefix,网络前缀)

因特网的地址分配策略被称为无类别域间选路(CIDR)

路由器在转发数据报时,仅考虑前x bit(最长匹配),寻找所其属组织(可能包含多个子网);只有组织内部路由器转发分组时,才考虑后面的bit。可以减少路由器转发表的长度

好比江西省南昌市XXX这个地址,先找到江西省南昌市这个组织,之后又若干个县镇,就在组织内部比较后xxx位。如果不是南昌市,匹配到江西省后就组织外部转发寻找其他市

分类编址 classful addressing

  • A类:(/8),可容纳2^24-2台主机,以下类似
  • B类:(/16)
  • C类:(/24)

减去两个特殊的地址,全0的子网地址,全1的广播地址

  • 这样分会产生问题,地址空间利用率低

系统管理员向ISP申请手动配置路由器和主机的IP

ISP:网络服务提供商

动态主机配置协议 DHCP

DHCP是应用层协议,服务器端口号67,客户机端口号68。(基于UDP)

主机每次连接网络时都能得到一个相同的IP,或者分配到一个临时IP。DHCP也被称为即插即用协议(plug-and-play protocol)

每当主机加入或离开网络时,DHCP会更新其可用IP地址表。加入时,任意分配一个可以IP;离开时,回收地址

  1. DHCP服务器发现
    新到的主机要先寻找DHCP服务器,借助DHCP发现报文,在UDP分组中向端口67号发送数据报,源IP地址指定0.0.0.0,目的IP使用广播地址255.255.255.255

  2. DHCP服务器提供
    因为接收到发现报文的DHCP服务器可能有多台,所以DHCP服务器在接收到发现报文后,仍旧使用广播地址向客户机发送DHCP提供报文。提供报文中包含收到的发现报文的事务ID、向客户机推荐的IP地址、网络掩码、IP地址租用期(有效的时间量),客户机可以选择其中一个服务器

  3. DHCP请求
    新到的主机选择了某个服务器后,发送一个DHCP请求报文对选中的服务器响应,回显配置参数

  4. DHCP ACk
    服务器用DHCP ACk响应,证实所要求的参数

网络地址转换 NAT

它能解决网络地址不够用问题,分配地址的方法更简单

先说明一种特殊地址————用于专用网络或具有专用地址的地域(其地址仅对该网络中的设配有意义的网络,如1.0.0.0/24),所有网络都可以用这块地址,但也仅仅是在给定的网络中有意义

NAT就是用来给这些网络中的设配分配一个对外IP和端口的方法,简而言之NAT路由器对于外界而言就好比拥有单一IP地址的设备

NAT路由器上有一张NAT转换表,记录了网络内部的端口号和IP,以便将来接收数据时知道该把数据交付给那台设配

IPv6 及IPv4向IPv6转换

IPv6数据报格式

IPv4向IPv6迁移(双栈、隧道)

IPv6传播速度更快,因为相比于IPv4用的人少,路上不堵当然快

  • 双栈(dual-stack)

既是IPv6节点也可以具有完整IPv4实现,所以IPv6/IPv4节点必须具有IPv6和IPv4地址,而且它们可以请求DNS了解一个节点是支持IPv6(IPv6使能)的还是仅仅支持IPv4的

两个IPv6使能节点之间不能相互发送IPv4数据报,向IPv4使能点发送也仅是IPv4数据报。ipv6数据报中有一些特定的字段ipv4中没有的,所以经过双栈传输的IPv6数据报最后到达目的时,如果经过了IPv4节点,最后的数据报和原数据报有差别

  • 隧道(tunnel)

两台IPv6路由器间经过的IPv4路由器的集合就成为隧道,应用中就是给IPv6数据报打上一层IPv4的包裹(IPv4数据报本身含有一个完整的IPv6数据报)

ICMP 互联网控制报文协议

用于主机和路由器彼此交互网络层信息,典型应用在差错报告;ICMP报文是源抑制报文,最初目的用于执行拥塞控制,允许拥塞的路由器向主机发送该报文,强制减小主机传输速率

  • ICMP报文是承载在IP报文中的,在体系结构上讲它是位于IP之上,但通常被认为属于IP协议一部分

路由协议 (RIP、OSFP、BGP)

觉得有帮助的话,不妨加个鸡腿,O(∩_∩)O哈哈~