第5章 网络层
2015-12-01 19:07
495 查看
网络层关注的是如何将数据包一路发送到接收方,期间可能沿途要经过许多条跳(hop)中间路由器。网络层处理的是端到端的数据传输最底层。
提供给传输层的服务:
(1)向上层提供的服务应独立于路由器技术;
(2)应该向传输层屏蔽路由器的数量、类型和拓扑关系;
(3)传输层可用的网络地址应该有一个统一的编码方案,可以跨越LAN和WAN;
一种面向连接的网络服务例子是多协议标签交换(MPLS,Multiprotocol Label Switching),它主要被用在Internet的ISP网络。
## 5.2 路由算法
路由算法(routing algorithm):是网络层软件的一部分,它负责确定一个入境数据包应该被发送到哪一条输出线路上。
路由:即对使用哪一条路径做出决策。
转发:当一个数据包到达时该采取什么动作。
路由包含两个进程:一个负责在每个数据包到达时对他进行处理,它在路由表中查找对应的出境线路,即为转发(forwarding)进程;另一个进程负责生成和更新路由表,这正是路由算法发挥作用的地方。
### 5.2.4 距离矢量算法
距离矢量路由(distance vector routing)算法:每个路由维护一张表, 表中列出了当前已知的到每个目标的最佳距离,以及所使用的链路。这些表通过邻居之间相互交换信息而不断被更新,最终每个路由器都了解到达每个目的地的最佳路径。
### 5.2.5 链路状态路由
由于无穷计数问题,当网络拓扑结构发生变化后距离矢量路由算法需要太长时间才能收敛到稳定状态,因此使用链路状态路由算法(link state routing)。
设计思想:
(1)发现邻居,并了解其网络
(2)设置到每个邻居结点的距离或者成本度量值
(3)构造一个包含所有刚刚获知的链路信息包;
(4)将这个包发送给其他所有路由器,并接收来自所有其他路由器的信息包;
(5)计算出他到每个其他路由器的最短路径;
各种路由:
层次路由;广播路由;组播路由;选播路由;移动主机路由;自组织网络路由;
拥塞崩溃(congestion collapse):表现为随着注入负载的增加到超出网络的容量,网络性能骤降。
拥塞控制途径从慢到快分为:网络供给;留流量感知路由;准入控制;流量限制;负载脱落;
抖动(jitter):延迟的变化或数据包到达的时间的变化。
1. 流量整形(traffic shaping):是指调节进入网络的数据流的平均速率和突发性所采用的技术。(漏桶(leaky bucket)和令牌桶(token bucket))
2. 包调度(packet scheduling):在同一个流的数据包之间以及在竞争流之间分配路由器算法:先入先出(FIFO,Fisrt-In First-Out)或先来先服务(FCFS,First-Come First-Serve),公平队列(fair queueing),加权公平队列(WFQ,Weithted Fair Queueing)
3. 准入控制
前缀(prefix) 每个32位地址由高位的可变长网络和低位的主机两部分数据组成。同一网络上的所有主机,其地址的网络值是相同的,即一个网络对应一块连续的IP地址空间。
IP地址的书写方式是点分十进制表示法。按此格式,4个字节中的每个写成十进制,取值范围从0到255。前缀的书写给出了块的最低IP地址和块的大小。块的大小由网络部分的位数决定。网络地址的书写格式是前缀IP地址后跟一个斜线,斜线后是网络部分的位长度。前缀长度无法从IP地址推断出来,前缀的长度相当于网络部分中1的二进制掩码。称为子网掩码(subnet mask),他可以与一个IP地址进行AND操作,以便提取出该IP地址的网络部分。
NAT网络地址转换 :其基本思想是ISP为每个家庭或每个公司分配一个IP地址,用这个IP地址来传输Internet 流量,在客户网络内部,每台计算机有唯一的IP地址,用来路由颞内部流量。进行地址转换。
Internet消息控制协议(ICMP,Internet Control Message Protocol)向数据包的源端报告有关事件;ICMP还可以用来测试Internet.
地址解析协议(Address Resolution Protocol): 是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol):是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述.
关键技术:
代理搜索:是计算节点用来判断自己是否处于漫游状态。
转交地址:是移动节点移动到外网时从外代理处得到的临时地址。
登录:是移动节点到达外网时进行一系列认证、注册、建立隧道的过程。
隧道:是家代理与外代理之间临时建立的双向数据通道。
5.1 网络层的设计问题
存储转发数据包交换:一台主机要发送一个数据包,他就将数据包传输给最近的路由器,路由器的链路层完成了对它的校验和验证之后,它先被存储在路由器上;然后沿着路径被转发到下一个路由器,直至到达目标主机。提供给传输层的服务:
(1)向上层提供的服务应独立于路由器技术;
(2)应该向传输层屏蔽路由器的数量、类型和拓扑关系;
(3)传输层可用的网络地址应该有一个统一的编码方案,可以跨越LAN和WAN;
5.1.3 无连接服务的实现
IP协议(Internet Protocol)是整个Internet的基础,它是无连接网络服务的典范。每个数据包携带一个目标IP地址,路由器使用该地址来单独转发每一个数据包。IPv4数据包的地址是32位,IPv6数据包的地址是128位。5.1.4 面向连接服务的实现
建立虚电路,交换标识符(label switching)。一种面向连接的网络服务例子是多协议标签交换(MPLS,Multiprotocol Label Switching),它主要被用在Internet的ISP网络。
## 5.2 路由算法
路由算法(routing algorithm):是网络层软件的一部分,它负责确定一个入境数据包应该被发送到哪一条输出线路上。
路由:即对使用哪一条路径做出决策。
转发:当一个数据包到达时该采取什么动作。
路由包含两个进程:一个负责在每个数据包到达时对他进行处理,它在路由表中查找对应的出境线路,即为转发(forwarding)进程;另一个进程负责生成和更新路由表,这正是路由算法发挥作用的地方。
### 5.2.4 距离矢量算法
距离矢量路由(distance vector routing)算法:每个路由维护一张表, 表中列出了当前已知的到每个目标的最佳距离,以及所使用的链路。这些表通过邻居之间相互交换信息而不断被更新,最终每个路由器都了解到达每个目的地的最佳路径。
### 5.2.5 链路状态路由
由于无穷计数问题,当网络拓扑结构发生变化后距离矢量路由算法需要太长时间才能收敛到稳定状态,因此使用链路状态路由算法(link state routing)。
设计思想:
(1)发现邻居,并了解其网络
(2)设置到每个邻居结点的距离或者成本度量值
(3)构造一个包含所有刚刚获知的链路信息包;
(4)将这个包发送给其他所有路由器,并接收来自所有其他路由器的信息包;
(5)计算出他到每个其他路由器的最短路径;
各种路由:
层次路由;广播路由;组播路由;选播路由;移动主机路由;自组织网络路由;
5.3 拥塞控制算法
拥塞(congestion):网络中存在太多的数据包导致数据包被被延迟和丢失,从而降低传输性能。网络层和传输层共同承担着处理拥塞的责任。控制拥塞的最有效手段是减少传输层注入网络层的负载。拥塞崩溃(congestion collapse):表现为随着注入负载的增加到超出网络的容量,网络性能骤降。
拥塞控制途径从慢到快分为:网络供给;留流量感知路由;准入控制;流量限制;负载脱落;
5.4 服务质量
一个源端发到一个接收方的数据包流称为一个流(flow),流的需求可由四个参数来表示:带宽,延迟,抖动和丢失,即其决定了服务质量(QoS,Quality of Service).抖动(jitter):延迟的变化或数据包到达的时间的变化。
1. 流量整形(traffic shaping):是指调节进入网络的数据流的平均速率和突发性所采用的技术。(漏桶(leaky bucket)和令牌桶(token bucket))
2. 包调度(packet scheduling):在同一个流的数据包之间以及在竞争流之间分配路由器算法:先入先出(FIFO,Fisrt-In First-Out)或先来先服务(FCFS,First-Come First-Serve),公平队列(fair queueing),加权公平队列(WFQ,Weithted Fair Queueing)
3. 准入控制
5.6 Internet 的网络层
5.6.1 IPv4协议
IPv4的一个明确特征是他的32位地址,Internet上的每台主机和每个路由器都有一个IP地址.前缀(prefix) 每个32位地址由高位的可变长网络和低位的主机两部分数据组成。同一网络上的所有主机,其地址的网络值是相同的,即一个网络对应一块连续的IP地址空间。
IP地址的书写方式是点分十进制表示法。按此格式,4个字节中的每个写成十进制,取值范围从0到255。前缀的书写给出了块的最低IP地址和块的大小。块的大小由网络部分的位数决定。网络地址的书写格式是前缀IP地址后跟一个斜线,斜线后是网络部分的位长度。前缀长度无法从IP地址推断出来,前缀的长度相当于网络部分中1的二进制掩码。称为子网掩码(subnet mask),他可以与一个IP地址进行AND操作,以便提取出该IP地址的网络部分。
NAT网络地址转换 :其基本思想是ISP为每个家庭或每个公司分配一个IP地址,用这个IP地址来传输Internet 流量,在客户网络内部,每台计算机有唯一的IP地址,用来路由颞内部流量。进行地址转换。
5.6.3 IPv6协议
采用128位地址,但不与IPv4兼容;但与一些辅助性的Internet协议则是兼容的,包括TCP,UDP,ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。,IDMP,OSPF,BGP,DNSDNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。5.6.4 Internet控制协议
除了用于数据传输的IP协议外,Internet在网络层的几个辅助控制协议:ICMP,ARP,DHCP协议。Internet消息控制协议(ICMP,Internet Control Message Protocol)向数据包的源端报告有关事件;ICMP还可以用来测试Internet.
地址解析协议(Address Resolution Protocol): 是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol):是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述.
5.6.5 标签交换和MPLS
多协议标签交换(MPLS,MultiProtocol Label Switching) :是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制.5.6.6 OSPF-内部网关路由协议
开放最短路径优先(OSPF,Open Shortest Path First)协议:其借鉴了一个称为中间系统到中间系统(IS-IS,Internediate-System to Intermediate-System),OSPF广泛的应用于公司网络,而IS-IS则更多的应用于ISP网络。5.6.7 BGP-外部网关路由协议
边界网关协议(BGP,Border Gateway Protocol):是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。5.6.8 Internet组播
Internet组管理协议(IGMP,Internet Group Management Protocol):是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间;5.6.9 移动IP
移动IP:移动IP技术是移动节点(计算机/服务器/网段等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。关键技术:
代理搜索:是计算节点用来判断自己是否处于漫游状态。
转交地址:是移动节点移动到外网时从外代理处得到的临时地址。
登录:是移动节点到达外网时进行一系列认证、注册、建立隧道的过程。
隧道:是家代理与外代理之间临时建立的双向数据通道。
相关文章推荐
- android使用volley框架访问https
- 网络之Snmp的学习总结
- 映射断开网络驱动器
- Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
- java的socket网络编程
- linux常用网络命令
- xmlhttprequest
- http协议的无状态性及基于memcached-session-manager构建tomcat cluster会话服务器
- 奇怪的HP P2000 iSCSI磁盘阵列TCP三次握手
- socket TCP和UDP的区别对比http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html
- 每个 HTTP/2 连接会发送一条隐藏的秘密信息!
- 网络编程
- ios获取当前的网络状态, 获取当前连接的wifi名字
- Delphi 使用idhttp下載显示进度以及大小
- Linux下配置Apache httpd
- socket TCP协议 http://blog.chinaunix.net/uid-22488454-id-3059636.html
- UNIX网络编程笔记(1):TCP简介
- Centos查看apache,nginx并发连接数和TCP连接状态命令
- Delphi IDHTTP用法详解
- TCP如何能正常关闭连接?