计算机网络——网络层(学习笔记二)

曹凯欣 2022-11-06 09:45:25

网络层的作用

1、屏蔽网络差异,提供透明传输

       不同网络有不同的规范要求,网络层就是为了解决这种不同差异,寻找一个不同网络间都能共同遵守的网络通信规范,以便不同网络间能相互识别,并接受对方的网络请求,说白了,就是一个中转站的作用,两个毫无交集的网络通过这个中转站来建立交集。这样传输层就可以在不同网络间进行透明数据传输。网络层向传输层提供的服务有两类:面向连接的网络服务和无连接的网络服务。

2、为网络间通信提供路由选择

       路由选择也叫路由选择,是根据一定的原则和路由选择算法在多个结点的通信子网中选择一条到达目的节点的最佳路径的过程。确定路由选择的策略成为路由算法。在无连接的数据包服务中,网络节点要为每个数据包做出路由选择,即选择到达目的节点的最佳路线,而在面向连接的虚电路服务中,存在一条专们的逻辑线路,在建立连接时就已经确定了路有路径,无需额外选择。

3、数据包封装和解封装

        这个类似的功能各个网络层都提供,因为在网络体系结构的不同层次中传输的数据单位并不一样,且发送方和接收方接受数据包的路径是相反的。在发送方,数据自上而下每经过一层都必须在数据头部添加对应层的协议头和(或)协议尾信息,到了接收方,数据自下而上每经过一层又都必须解除前面那层所封装的协议头和(或)协议尾信息。
在发送方,来自传输层的报文通常是已根据对应网络链路的MTU(最大传输单元)被分成多个数据段,然后在网络层中对这些数据段头部添加一些网络层协议控制信息就组成了数据包,这就是包的封装过程。数据包的头部包含源节点和目标节点的网络层地址,在接收方,数据从底层到达网络层时,要去掉在数据链路层加上的数据链路层协议控制信息(帧头和帧尾),还原出原来的数据包格式,这就是包的解封转过程。
4、拥塞控制

       拥塞控制是为了避免网络传输路径中数据的传输延迟或死锁。数据链路层中的流量控制功能,是针对数据链路中点对点传输速率的控制,这里的拥塞控制是针对在网络层传输路径中的端到端传输效率的控制。主要采用预约缓冲区、许可证和分组丢弃等方式。

网络层数据交换

在网络层中,路由器把数据包转发到另一个网络中的目的节点。在计算机网络中,两个端点之间通常需要通过中间结点实现数据通信,这些中间结点并不关心数据内容,只提供一个交换设备,把数据从一个结点转发到另一个结点,直至达到目的端。数据交换技术主要是指网络中间结点所提供的数据交换功能。

先介绍以前的两种数据交换技术:线路交换和报文交换

       线路交换是在网络中利用可切换的物理通信线路直接连接通信双方所进行的一种数据交换方式。最常见的就是以前的电话交换系统,甲先转几下电话机(谍战电视剧里是这样子),实际上是打到了电话交换系统,然后说转局长办公室,这样电话员就把电话线插到局长办公室的线路上,这样就可以进行通信了,通话结束后,电话员就拔下这跟电话线。可以看出,线路交换最主要的特点就是在进行数据交换前需要在一对用户之间建立起一条专用的数据通路(如电话线),在整个数据传输过程中要经过线路建立(如电话员切换线路)、数据传输(如通话)与线路释放(如电话员拔下电线)这三个阶段。
该方式的优点是:通话实时性强,适用于交互式会话类通信,其缺点是:对突发性通信不适合(需要事先建立好物理连接),整个数据交换系统效率低,系统也不具有存储数据的功能,很难实现拥塞控制。

       报文交换是指信息以报文(完整数据的一个信息段)为单元进行存储-转发的一种数据交换方式。所谓存储-转发是当报文到达路由器后先存储起来,等待路由器分配资源再进行数据分组的转发。报文交换的原理是用户发送的数据不是直接发送给目的节点,而是先在中间结点进行缓存(这类中间结点通常是由具有存储能力的交换机、路由器承担),然后再由中间结点在线路空闲时把数据发送出去。既然具有存储-转发功能,报文交换就无须同时占用整个物理线路,中间结点可以暂存报文,排队等候,当线路空闲时再转发给下一个结点,直至终点。

目前最常用的分组交换方式:

在分组交换技术中有两大技术派系:

采用路由技术(目前比较普遍采用的一种交换方式):在要转发的数据包头部加上源节点和目的节点的IP地址,然后通过路由技术一级级地把数据转发下去。这种分组方式就是前面说到的数据报分组交换方式。
采用虚电路服务:它不依靠路由技术,而是在进行数据分组转发前先在源节点和目的节点间的所有路由器间建立一条虚拟的通信通道,然后再把数据分组从这个虚拟通道中转发到目的节点。

ARP与RARP

       由于传送ARP分组使用的是IP协议,因此应当把ARP协议划归为网络层。但是ARP协议的用途是为了网络层使用的IP地址解析出在数据链路层使用的硬件地址。

       IP地址放在IP数据报的首部,硬件地址放在MAC帧首部。在网络层以及网络层以上使用的是IP地址,而在数据链路层以及数据链路层以下使用的是硬件地址。因此在数据链路层看不见数据报的IP地址。

ARP

ARP 协议的作用

       由于传送 ARP 分组使用的是 IP 协议,因此应当把 ARP 协议划归为网络层。ARP 协议是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。ARP 协议能够将网络层使用的 IP 地址解析出在数据链路层使用的硬件地址。

ARP 协议的要点

1.不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址,每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表;

2.当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址;

3.ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做;

4.从 IP 地址到硬件地址的解析是自动进行的,这种地址解析过程对主机的用户是透明的;

5.只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址;

使用 ARP 的四种典型情况

1.发送方是主机,要把 IP 数据报发送到本网络上(局域网)的另一个主机。这时用 ARP 找到目的主机的硬件地址。

2.发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

3.发送方是路由器,要把 IP 数据报转发到本网络上(局域网)的一个主机。这时用 ARP 找到目的主机的硬件地址。

4.发送方是路由器,要把 IP数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

ARP 协议工作流程

① 首先,每台主机都会在自己的 ARP 缓冲区( ARP Cache )中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址的对应关系。

② 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP 列表中是否存在该 IP 地址对应的 MAC 地址,如果有﹐就直接将数据包发送到这个 MAC 地址;如果没有,就向本局域网发起一个 ARP 请求的广播包,查询此目的主机对应的 MAC 地址。此 ARP 请求数据包里包括源主机的 IP 地址、硬件地址、以及目的主机的 IP 地址。

③ 网络中所有的主机收到这个 ARP 请求后,会检查数据包中的目的 IP 是否和自己的 IP 地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP 响应数据包,告诉对方自己是它需要查找的 MAC 地址;

④ 源主机收到这个 ARP 响应数据包后,将得到的目的主机的 IP 地址和MAC地址添加到自己的 ARP 列表中,并利用此信息开始数据的传输。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

逆地址解析协议 RARP

       逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。现在的DHCP协议已经包含了RARP的功能,RARP协议目前已很少使用。

RARP 工作原理

       网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的 MAC 地址。PC 从网卡上读取 MAC 地址,然后在网络上发送一个 RARP 请求的广播数据包,请求 RARP 服务器回复该 PC 的IP地址。

       RARP 服务器收到了 RARP 请求数据包,为其分配 IP 地址,并将 RARP 回应发送给 PC。

       PC 收到 RARP 回应后,就使用得到的 IP 地址进行通讯。

国际控制报文协议 ICMP

为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。

ICMP 是互联网的标准协议。

ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。

ICMP 报文作为 IP 数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。

ICMP 不是高层协议(看起来好像是高层协议,因为 ICMP 报文是装在 IP 数据报中,作为其中的数据部分),而是 IP 层的协议。

ICMP只能搭配IPv4工作,如果是IPv6,需要使用ICMPv6

ICMP协议的功能

1.确认IP包是否成功到达目标地址。

2.通知在发送过程中 IP 包被丢弃的原因。

ICMP 报文的种类

ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。

...全文
149 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50

社区成员

发帖
与我相关
我的任务
社区描述
产学研究,学术传承
社区管理员
  • 又菜又爱玩呜呜呜~
  • 两年半的个人练习生^_^
  • yolanda19910002
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧