网络层提供的服务是将数据从源主机到目的主机进行数据报传输,网络中的每个主机和路由器都有一个网络层,提供主机到主机(路由器)之间的服务。算法
在发送端,网络层将传输层的数据段(segment)进行封装,封装到网络层的数据报(datagram)中进行传输。网络
在接收端,网络层须要把数据段(datagram)提取出数据段(segment)给传输层进行处理。tcp
转发(forwarding)是指把数据分组从路由器的输入端口转移到合适的输出端口,由硬件完成。 路由器是如何知道当前输入的分组应该从那个输出端口转发出去呢?答案就是转发表。blog
每个路由器须要维护一个转发表,路由器基于转发表来决定输入的分组应该被转发到那个输出接口。当请求到来时,路由器直接读取转发表便可。接口
转发表示意图:进程
地址 | 输出链路 |
---|---|
0001 | 1 |
0002 | 3 |
0003 | 2 |
因此路由器须要事先维护一个转发表,这即是网络层的另一个核心功能:路由选择。ip
路由选择(routing)是指肯定分组从源到目的地的路径的网络处理过程,由软件实现。资源
路由器基于必定的路由算法来计算路径,最终计算出来的路径信息保存到了转发表里面,供路由器转发时使用。路由
针对某些网络好比ATM网络,在分组传输前须要先创建链接。table
网络层链接和传输层链接的区别:
ATM网络慢慢在退出舞台。
不事先为分组肯定传输路径
每一个分组的独立肯定传输路径
不一样分组的路径可能不一样:转发表可能会变(会出现先出发后到达的case)
核心用是数据报网络,如今急于tcp/ip的internet就是数据报网络
核心使用时虚电路网络,ATM网络,出于淘汰状态。所为虚电路就是模拟电路交换,传输前先创建链接,资源进行独占。