chapter4-网络层:数据平面
网络层提供的两种服务
虚电路服务 可靠通信应当由网络来保证
数据报服务 可靠通信应当由用户主机来保证
因特网网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
转发和路由选择
转发和路由选择这两个概念很重要,一定要区分开,他们的严格定义如下:
转发:将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。
路由选择:确定分组从源到目的地所采取的端到端路径的网络范围过程。
注:
转发发生的时间尺度很短(通常为几纳秒),因此通常用硬件来实现
路由选择发生的时间尺度长得多(通常为几秒),因此通常用软件来实现
本章数据平面的主要工作就是转发。
链路层交换机和路由器
某些分组交换机称为链路层交换机,基于链路层帧中的字段值做出转发决定,这些交换机因此被称为链路层设备
其他分组交换机称为路由器,基于网络层数据报中的首部字段值做出转发决定
每个路由器都有一个转发表,路由器根据分组目的地前缀与该路由表中的表项进行匹配,找到对应的出口进行转发。
路由器工作原理
路由器最主要的作用就是把接收到的一个包通过另一个端口转发出去,这个过程中就涉及到很多问题了,比如路由器怎么知道向哪个口转发?它怎么选择转发链路等等。
当路由器的输入端口接收到网络包时,理论上可以用三种方式来交换要转发的网络包。分别为内存交换、总线交换、网络交换。其中内存交换我个人觉得可以理解为共享内存;总线交换即所有的输入输出端口都连接到同一条总线上去;而网络交换着更高级了,因为它不止一条线路,所以只要两个包不是走同一条线路,那么路由器就能实现非阻塞式的转发。
当然,如果对一个输入端口狂输入网络包,或者输出端口来不及转发网络包,那很容易就会出现丢包的情况,因为缓存已经撑爆了,要解决这个问题要么加大缓存、要么提升交换速率。
但是再怎么样都会出现丢包的问题,所以就搞个排队机制,只要您进了队列,那么就不会被抛弃,但是进了队列就不代表一定就会把你发出去
分组调度的几种规则
1、先进先出
如果链路当前忙于传输另一个分组,到达链路输出队列的分组要排队等待传输。如果没有足够的缓存空间来容纳到达的分组,队列的分组丢弃策略则确定该分组是否将被丢弃或者从队列中去除以便为到达的分组腾出空间
2、优先权排队
通常由源或目的TCP、UDP端口号来进行分组。如实时话音分组可能获得超过非实时流量的优先权。
同一个队列中的还是采用先进先出的策略。
3、循环和加权公平排队
把分组进行分类然后赋予一个权重w,然后调度器循环的在各个类之间进行分组的传输
IP地址
1、与 IP 协议配套使用的还有三个协议:
- 地址解析协议 ARP
- 网际控制报文协议 ICMP
- 网际组管理协议 IGMP
2、网络互相连接起来要使用一些中间设备
3、互联网可以由许多异构网络互联组成
4、分类的 IP 地址
IP 地址定义:就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。
5、IP 地址的编址方法 分类的 IP 地址,子网的划分,构成超网。
两级的 IP 地址 :IP 地址 ::= { <网络号>, <主机号>}
分类的 IP 地址:A类,B类,C类地址都是单播地址
D类地址用于多播,E类地址保留
实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
Ip地址不仅可以指明一个主机,还指明了主机所连接到的网络
点分十进制记法:192.168.1.1
一些特殊的ip地址:保留地址0.0.0.0 本地软件环回测试地址127.0.0.1
不指派地址 128.0.0.0 192.0.0.0
6、ip地址与硬件地址的区别:IP地址放在IP数据报首部,硬件地址放在MAC帧首部,在网络层及网络层以上使用IP地址,在链路层及以下使用硬件地址
7、解析协议 ARP 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表,这个映射表还经常动态更新。
8、如何知道同一个局域网内其他主机的mac地址?
A在局域网内广播arp请求分组,其他主机接收分组,IP地址与报文中一致的主机收下分组,并在自己的arp缓存中写入主机A的IP地址到mac地址的映射,并发送arp响应报文,A收到响应报文后在自己的arp缓存中写入主机B的IP地址到mac地址的映射。
9、若主机不在同一个局域网内,arp映射表怎样建立? 交给连接不同网络的路由器
10、 为什么不直接使用mac地址通信,要加上ip地址
为了完成异构网络之间的通讯,mac地址比较复杂,ip方便用户操作,提高CPU的效率,这样在网络传输中就可以由网卡来识别mac地址,不用再上传到CPU识别
网络地址转换 NAT
1、需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。
2、在专用网络内使用专用IP地址,仅在连接到英特网上的路由器时使用全球IP地址。并且一定要使用全球IP才能和英特网连接
3、通过NAT地址转换表可以把IP数据报上的旧目的IP地址转换为新的目的IP地址
4、使用端口号的NAT也叫网络地址与端口号转换NAPT