网络层协议与应用(一)

简介: 网络层协议与应用(一)

简介

       本章从P报文的结构讲起,引入了两个重要的协议--ARP和ICMP,值得注意的是,P报文结构并不是本章的重点内容,讲解的目的只是让大家简单了解,当然,并不是这部分内容不重要,只是从目前大家学习的层次来看,还不是全面深入地剖析P数据包的最佳时机,大家会在后续内容学习到这部分知识,到那时大家会对网络世界有更深一层的认识。

       学习协议的关键不在于死记硬背,而应该理解协议应用在实际环境中的过程和原理,如为什么要如此设计,为网络通信提供哪些辅助作用,等等,所以本章的重点是理解,本章的目标就是根据自己的理解能够描述出协议详细的工作过程,关注每一个细节。

1.IP数据包格式

       我们学习了iP地址,网络层负责定义数据通过网络流动所经过的路径。其主要功能可以总结为以下几点。

               定义了基于P协议的逻辑地址。

               选择数据通过网络的最佳路径。

               连接不同的媒介类型。

       首先来看一下iP数据包头的格式,如图所示

各字段的含义如下。

       版本(Version):该字段包含的是IP的版本号,4bit。目前IP的版本为4(即Pv4)。该版本形成于20世纪80年代早期,现在无论是在局域网还是在广域网中,使用的都是IPv4。目前IPv4所面临的最大问题是IP地址空间不足,即将使用的IPv6是P的下一个版本,但也不能解决IP地址缺乏的问题。

       首部长度(HeaderLength):该字段用于表示IP数据包头长度,4bitP数据包头最短为20字节,但是其长度是可变的,具体长度取决于选项字段的长度。

       优先级与服务类型(Priority &Type of Service):该字段用于表示数据包的优先级和服务类型,8bit,通过在数据包中划分一定的优先级,用于实现QoS(服务质量)的要求。

       总长度(TotalLength]:该字段用以指示整个P数据包的长度,16bit,最长为65535字节,

包括包头和数据。

       标识符(ldentification):该字段用于表示P数据包的标识符,16bit。当P对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组,标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包,标志(Flags):标志字段,3bit。标志和分片一起被用来传递信息。例如,对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。

       段偏移量(Fragment Offset):该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。

       TTL(Time to Live):该字段用于表示IP数据包的生命周期,8bit,该字段包含的信息可以防止一个数据包在网络中无限循环地转发下去。TTL 值的意义是一个数据包在被抛弃前在网络中可以经历的最大周转时间。该数据包经过的每一个路由器都会检查该字段中的值,当TTL的值为0时,该数据包将被丢弃,TTL对应于一个数据包通过路由器的数目,一个数据包每经过一个路由器,TTL将减去1.协议号(Protocol):协议字段,8bit。该字段用以指示在P数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号为6UDP的协议号为17。

       首部校验和(Header Checksum):该字段用于表示校验和,16bit,校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算报头的校验和,就如同源机器所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。

       源IP地址(Source IP Address):该字段用于表示数据包的源地址,32bit。这是一个网络地址,指的是发送该数据包的设备的网络地址。 目标P地址(DestinationIP Address):该字段用于表示数据包的目的地址,32bit,这也是一个网络地址,但指的是接收节点的网络地址。

       可选项(Options);选项字段根据实际情况可变长,可以和P一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。

2 ARP 协议

       使用ARP协议可以查出擅自更改P地址主机的MAC地址,在学习ARP协议前需要了解广播和广播域的相关概念。

2.1 广播与广播域

       在超市找人时,如果不知道对方的位置就需要到服务台通过广播进行找人;当知道对方的位置时就可以直接到对方所在位置。在网络中也存在这种情况,如果不知道对方的地址就需要进行广播,即发送广播帧:而知道对方的地址就发送单播到对方处。所以,广播通信是“一对所有”的通信形

式,而单播通信是“一对一”的通信形式。所有听到找人广播的范围就是广播域,广播和广播域的具体定义如下。

               >广播:将广播地址作为目的地址的数据帧。

               >广播域:网络中能接收到同一个广播的所有节点的集合。

1.MAC地址广播

       MAC地址的广播地址为FF-FF-FF-FF-FF-FF MAC地址广播域是所有相连接的交换机和集线器的集合,如果一台主机发送一个MAC地址广播,则这个广播将转发到所有相连的交换机或集线器的所有端口。收到广播帧的主机会比较数据包中的目的P地址是否为自身P地址,如果是,则继续处理数据包中的承载数据;如果不是,则丢弃数据。

       交换机转发MAC地址广播,而路由器会阻挡MAC 地址广播。

2.IP 地址广播

       iP网段的最后一个地址为广播地址,即主机部分全部为1,在数据帧中,目的 MAC 地址是

FF-FF-FF-FF-FF-FF,目的P地址是P网段的广播地址。

       例如,主机IP地址是1921681.20掩码是255255255.0,主机所在网段的广播地址是

192.168.1.255,如果主机发送一个目的P地址为1921681255、目的MAC 地址为FF-FF-FF-FF-FF-FF的广播,由于目的MAC地址为广播地址,因此广播域的范围和MAC 地址的广播域范围相同。当设备或主机接收到此广播后,查看是否属于同一P网段,如果处于同一网段,则对承载的数据进行处理,否则丢弃数据。同样路由器会阻挡IP地址广播。

       如图(a)所示,A主机发送广播信息,B主机C主机都能收到。因为负责连接网络的中心设备是一台二层设备,A、B、C三台主机处于同一个广播域:而图(b)中,A主机发送的广播只有B主机能够收到,C主机是收不到的,因为网络已经被路由器隔开变成两个广播域,这就好比在教室里讲课,每个同学都会听到,但是隔壁教室的同学就听不到了。如果A.B是在同一个教室上课的同学,那么C就好比是在隔壁教室上课的同学。

相关文章
|
1月前
|
人工智能 运维 物联网
AI在蜂窝网络中的应用前景
AI在蜂窝网络中的应用前景
50 3
|
12天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
37 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
27天前
|
存储 监控 物联网
计算机网络的应用
计算机网络已深入现代生活的多个方面,包括通信与交流(电子邮件、即时通讯、社交媒体)、媒体与娱乐(在线媒体、在线游戏)、商务与经济(电子商务、远程办公)、教育与学习(在线教育平台)、物联网与智能家居、远程服务(远程医疗、智能交通系统)及数据存储与处理(云计算、数据共享与分析)。这些应用极大地方便了人们的生活,促进了社会的发展。
49 2
计算机网络的应用
|
1月前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
67 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
19天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
26天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
53 11
|
26天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
51 8
|
24天前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
35 2
|
25天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
53 3
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新