网络层
网络层的主要功能就是在为运输层的数据选择一条合适的路,将其运到目的地。具体功能有:路由控制,拥塞控制,异种电路的互连。
- 网络层为传输层提供了两种服务,面向连接服务和无连接服务,不过这两种服务不是通过某种协议来实现的,而是通过传输方式的不同来实现的
- 网络数据传输方式有两种:一种是数据报,一种是虚电路。无连接服务又被称作数据报服务,面向连接服务又称为虚电路服务。
- 数据报服务
- 网络随时接受主机发送的分组(即数据报)网络为每个分组独立地选择路由。网络尽最大努力地将分组交付给目的主机,但网络对源主机没有任何承诺,数据报提供的服务是不可靠的,
它不能保证服务质量。实际上“尽最大努力交付”的服务,就是没有质量保证的服务 - 特点:数据报服务力求使网络生存性好和使对网络的控制功能分散,因而只能要求网络提供尽最大努力的服务;网络上传送的报文长度,在很多情况下都很短用数据报既迅速又经济;在使用数据报时,主机承担端到端的差错控制和流量控制(在传输层);数据报服务对军事通信有其特殊的意义。当
某个结点发生故障时,后续的分组就可另选路由,因而提高了可靠性。 - 缺点:数据报是不可靠的;在使用数据报时,每个分组必须携带完整的地址信息;
- 虚电路服务
- 在虚电路建立后,网络向用户提供的服务就好像在两个主机之间建立了一对穿过网络的数字管道。
所有发送的分组都按顺序进入管道,然后按照先进先出的原则沿着此管道传送到目的站主机。到达目的站的分组顺序就与发送时的顺序一致,因此网络提供虚电路服务对通信的服务质量 QoS (Quality of Service)有较好的保证。 - 特点:思路来源于传统的电信网;在使用虚电路的情况下,每个分组不需要携带完整的目的地址,而仅需要有个很简单的虚电路号码的标志;在使用虚电路时,分组按顺序交付,网络可以负责差错控制和流量控制。
- 缺点:在使用虚电路时,结点发生故障就必须重新建立另一条虚电路;若用虚电路,为了传送一个分组而建立虚电路和释放虚电路就显得太浪费网络资源了。
网络协议IP
网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议:地址解析协议 ARP;逆地址解析协议 RARP;网际控制报文协议 ICMP;网际组管理协议 IGMP
分类ip地址
- 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。总长32bit
- 根据网络号字段的不同可以分为ABCDE类ip地址
- 使用点分十进制记法提高可读性,没八位的二进制数转变成十进制数,
- 其中A类地址网络号范围1-126 B类地址网络号范围 128.1 - 191.255 C类地址网络号范围 192.0.1 - 223.255.255 D类地址:地址范围:224.0.0.0~239.255.255.255 E类地址:地址范围:240.0.0.0~255.255.255.255;暂时保留,用于某些实验和将来使用。
- 来看几个ip地址看看他们是什么地址
- 129.8.16.25 B类地址 网络号是129.8.0.0 主机号是0.0.16.25
- 10.2.0.52 A类地址 网络号是10.2.0.0 主机号是 0.0.0.52
- 126.0.0.0 A类地址 网络号是126.0.0.0 主机号是0.0.0.0
- 192.255.255.255 C类地址,这是一个广播地址
特殊作用的ip地址
- 私有地址:10.0.0.0到10.255.255.255
172.16.0.0至172.31.255.255
192.168.0.0至192.168.255.255
私有地址,被大量的使用与企业内部中,但在接入网络是,需要使用地址翻译NAT,将私有地址翻译成公用合法地址,私有地址是不能出现在网络总的 - 环回地址:127网段的所有地址都称为环回地址,主要用来
测试网络协议是否工作正常的作用。比如使用
ping 127.0.0.1就可以测试本地TCP/IP协议是 否
已正确安装 - 网络号为0的IP地址:当某个主机向同一网段上的其他主机发送报文时
就可以使用这样的地址,分组也不会被路由器转
发。比如12.12.12.0/24这个网络中的一台主机
12.12.12.2/24在与同一网络中的另一台主机
12.12.12.8/24通信时,目的地址可以是0.0.0.8。 - 直接广播地址:主机号为全1,一个网络中的最后一个地址为直接广播地址,也
就是HostID全为1的地址。主机使用这种地址把
一个IP数据报发送到本地网段的所有设备上,路
由器会转发这种数据报到特定网络上的所有主机。 - 受限广播地址 255.255.255.255 这个地址用于定义整个互联网,如果想让整个互联网发送数据报就使用这个地址,但这样会产生灾难性的负担,所以网络上的所有路由器会组织这种类型的分组被转发出去,使广播只受限于本地网络
- 多播地址:多播地址用在一对多的通信中。多播通信就是从
单个源地址把分组发送到一组目的设备。多播地
址属于分类编址中的D类地址,一个地址串就代
表一个GroupID,Internet上的设备可以有一个
或多个GroupID。
IP分组交付
IP分组交付可以分为直接交付和间接交付两类
- 直接交付:当分组的源主机和目的主机在同一个网络,或转发是在最后一个路由器与目的主机之间时将直接交付。
- 间接交付:目的主机与源主机不在同一个网络上,分组间接交付。或者路由器没有和目标主机连接在同一个网络上
发送数据报的基本流程
- 判断源主机和目标主机是否在同一网络内。
- 在同一网络内:
(1)源主机网络层在ARP缓存中查找IP目的MAC地址,如果查找不到,则通过ARP模块查找IP目的MAC地址。
(2)源主机构建数据帧,并设置,目的主机的MAC地址,并发送。 - 不在同一网络内:(1)源主机网络层查找网关的IP地址;(2)在ARP缓存中查找IP网关的MAC地址,如果查找不到,则通过ARP模块查找IP网关的MAC地址。(3)源主机构建数据帧,并设置,网关的主机的MAC地址,并发送。
ARP协议
ARP:基于IP地址解析MAC地址。每一个主机都设有一个 ARP 高速缓存(ARP cache),
里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
- ARP高速缓存的作用:当主机A在发送ARP请求分组时,就将A的ip地址与硬件地址的映射写入ARP请求分组,当B收到ARP请求分组时,就将A的ip地址与硬件地址的映射写入B的告诉ARP高速缓存。
- 需要注意:ARP只能在同一局域网中实现,如果不在同一局域网,就要找到路由器的硬件地址,把分组交给路由器转发给下一网络。
使用ARP的四种典型情况
- 发送方是主机,要把数据报发送给本网络的另一台主机,则需要用ARP找到目标主机的硬件地址
- 发送方是主机,要把数据报发送到另一网络的主机,则需要用ARP找到路由器的硬件地址,剩下的工作由路由器完成
- 发送方是路由器,要把数据报发送到本网络的主机,则需要用ARP找到目标主机的硬件地址
- 发送方是路由器,要把数据报发送给另一网络的主机,则需要用ARP找到本网络的一个路由器的硬件地址
路由表
IP路由表包含以下信息:目标IP地址,子网掩码,网关,接口,跃点数
决定路径的步骤
- 将IP封包的目的IP地址与路由记录的Netmask(网络掩码)做位AND运算。
- 将上述结果与路由记录的Network Destination(目的IP地址)比较,若两者相同,才代表IP封包适用该路由记录。若找不到任何适用的记录,则使用默认路由(default),亦即将封包转送给默认的路由器来处理。
- 若某个目标地址,有多个路径都可以转发,则取掩码长的,即1最多的,这是因为Netmask字段的1愈多,代表目的网络的规模愈小,因此路径较为精确。
- 如果出现3也不能识别,则以Metric值最小的记录。Metric值代表路径的成本,因此路由器会优先使用成本较低的路径
子网划分
- 从二级IP地址到三级IP地址,变成网络号,子网号,主机号。划分子网属于一个单位内部的事情,单位对外仍然表现成没有划分子网的网络,从主机号借用了若干个比特作为子网号,主机号就相应减少多少个比特。划分子网后 IP 地址就变成了三级结构。划分子网只是将 IP 地址的本地部分进行再划
分,而不改变 IP 地址的因特网部分。 - 子网掩码描述了IP地址中的接口部分