网络层----数据平面

前言:

最紧要记得自己为咩上台—《激战》

网络层基本概括:

网络层主要功能为

  • 转发(将数据从路由器输入接口转移到合适的输出接口) (数据平面)
  • 路由选择(端到端的路径选择),每台路由器都有一张转发表,用最长前缀匹配规则来转发。(控制平面)
    网络层提供单一的服务:尽力而为的服务,无带宽保证,无丢包保证,无顺序保证,不定时,无拥塞指示。也即差不多根本无服务。

这篇博客我们主要讲的是数据平面的东西。-----转发

路由器工作原理:

  • 输入端口:执行终结入物理链路的物理层功能,执行查找功能(查询转发表决定输出的端口)
  • 交换结构:将输入端口连接到输出端口
  • 输出端口:存储从交换结构接收的分组,执行必要的链路层和物理层的功能,在输出链路上传输这些分组。
  • 路由选择处理器:执行控制平面的功能,执行路由选择协议,并为路由器计算转发表,在sdn路由器中,路由选择器负责与远程控制器通信,接收由其计算的转发表项,并在输入端口安装好。

输入端口处理:前缀匹配法,使用最长前缀匹配规则

交换

三种交换技术。
1.经内存交换。 (cpu控制)
2.经总线交换。 (一根共享总线将分组直接传送到输出接口)
3.经互联网络交换。

输入输出端口排队

  • 输入排队:到达分组加入输入端口队列中,以等待通过交换结构传输到输出端口
  • 输出排队:当n个分组将到达同一个输出端口的时候,发生排队,路由器会将其缓存起来,若耗尽可用内存则会选择 弃尾、弃多个或者一个正在排队的,在缓冲满之前丢弃一个。

IPV4

IPV4的数据报格式

  • 版本: ip协议版本号
  • 首部长度:用于确认ip数据报中载荷实际开始的地方
  • 服务类型:使用不同类型的ip数据报能够相互区分
  • 数据报长度:ip数据报的总长度
  • 16bit标识、标志、13bit片偏移:与ip分片有关,生成一个数据报时,发送主机在为改数据报设置源和目的地址的同时贴上标示号。发送的每个表示号+1。标志则是在ip数据报分片后的最后一片的标志为0.其他为1。偏移字段制定该片应放在初始ip数据报的哪个位置。
  • 寿命:用于确保数据报不会在网络中循环。
  • 上层协议:到达目的地址的时候才有用,16为tcp 17为udp
  • 首部检验和:比特误差
  • 源和目的ip地址:
  • 选项:允许ip地址首部被扩展
  • 数据(有效载荷)
    在这里插入图片描述

ip4数据报为什么会分片?

原因其实是因为链路层有最大传输单元 通常为1500,而如果数据报大于1500,则该IP数据报需要分片传输。在目的主机处重组这些片段。根据(标志、标识、片偏移字段)。

获取主机地址:动态主机配置协议(DHCP)

某组织一旦获取一块地址,可为本组织的主机与路由器接口逐个分配ip地址,系统管理员通常手动分配路由器中的ip地址,而主机地址虽然也可以手动分配,但主要采用动态主机配置协议,DHCP允许主机自动获取ip地址、子网掩码、默认网关、本地服务器等。

那么是DHCP是如何交互的呢?

1、DHCP服务器发现:新到达的主机使用DHCP发现报文,向67端口发送udp分组,此时主机不知道所连接网络的ip地址,使用广播地址255.255.255.255并使用愿地址0.0.0.0。DHCP将该ip数据报传递到链路层,链路层将该帧广播到所有子网连接的节点。
2、DHCP服务器提供:DHCP服务器收到一个DHCP发现报文,用DHCP提供报文向客户作出响应。该报文仍然采用广播地址,提供给客户报文的事务id、ip地址、网络掩码、以及ip地址的租期。
3、DHCP请求:客户从一个或者多个dhcp服务器中选择一个,并向选中的服务器用dhcp请求报文进行响应
4、dhcp ack:服务器用DHCP ACK报文对于DHCO请求报文进行响应
至此,交互完成,客户能使用所分配的地址。

网络地址转换(NAT)

通常家用路由器都含有NAT,NAT路由器对外界如同一个单一ip地址的单一设备。NAT通过isp的dhcp服务器得到自己的ip地址。
而NAT路由器下的家庭网络则由NAT路由器中的DHCP服务器提供虚拟的ip地址,NAT路由器将NAT转换表,在表项中包含端口号以及其ip地址。

一个用户访问公网中某个资源的过程:

NAT路由器收到该数据报,将其源地址改为从nat路由器的地址,端口号修改,并且存储到NAT转发表中然后转发到公网中,随后收到响应后从NAT转发表中找到该记录,然后修改目的地址和端口号,转发给用户。
NATS其实就是用端口来区分不同的用户主机的报文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章