LV06-02-网络基础-03-网络模型与协议
本文主要是网络基础——因特网中的机器通信方式的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。
点击查看使用工具及版本
Windows | windows11 |
Ubuntu | Ubuntu16.04的64位版本 |
VMware® Workstation 16 Pro | 16.2.3 build-19376536 |
SecureCRT | Version 8.7.2 (x64 build 2214) - 正式版-2020年5月14日 |
开发板 | 正点原子 i.MX6ULL Linux阿尔法开发板 |
uboot | NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03) |
linux内核 | linux-4.15(NXP官方提供) |
STM32开发板 | 正点原子战舰V3(STM32F103ZET6) |
点击查看本文参考资料
参考方向 | 参考原文 |
--- | --- |
一、网络与网络通信
1. 网络分类
- 按照网络的覆盖范围进行分类
局域网 | 局域网是在局部区域范围内将计算机、外设和通信设备通过高速通信线路互连起来的网络系统。覆盖的区域范围较小,一般为几米甚至十几公里,但其连接速率较高。 |
广域网 | 广域网也称为远程网,所覆盖的地理范围可从几十平方公里到几千平方公里,它一般是将不同城市或不同国家之间的局域网互联起来。广域网是由终端设备、结点交换设备和传送设备组成的,设备间的连接通常是租用电话线或用专线建造的。 |
城域网 | 城域网的覆盖范围在局域网和广域网之间,一般来说,是将一个城市范围内的计算机互联,这种网络的连接距离约为10~100公里。 |
- 从网络的交换方式进行分类
电路交换网 | 电路交换与传统的电话转接相似,就是在两台计算机相互通信时,使用一条实际的物理链路,在通信过程中自始至终使用这条线路进行信息传输,直至传输完毕。 |
报文交换网 | 报文交换网的原理有点类似于电报,转接交换机实现将接收的信息予以存储,当所需要的线路空闲时,再讲该信息转发出去。这样就可以充分利用线路的空闲,减少“拥塞”,但是由于不是及时发送,显然增加了延时。 |
分组交换网 | 通常一个报文包含的数据量较大,转接交换机,需要有较大容量的存储设备,而且需要的线路空间时间也较长,实时性差。因此,又提出分组交换,即把每个报文分成有限长度的小分组,发送和交换均以分组为单位,接收端把收到的分组再拼装成一个完整的报文。 |
信元交换网 | 随着线路质量和速度的提高,新的交换设备和网络技术的出现,以及人们对视频、话音等多媒体信息传输的需求,在分组交换的基础上又发展了信元交换。信元交换是异步传输模式中采用的交换方式。 |
【说明】报文:网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。
- 从网络的使用用途进行分类
公用网 | 公用网也称为公众网或公共网,是指由国家的电信公司出资建造的大型网络,一般地都由国家政府电信部门管理和控制,网络内的传输和转接装置可提供给任何部门和单位使用,公用网属于国家基础设施。 |
专用网 | 专用网是指一个政府部门或一个公司组建经营的,仅供本部门或单位使用,不向本单位外的人提供服务的网络。 |
- 从网络的连接范围进行分类
互联网 | 互联网是指将各种网络连接起来形成的一个大系统,在该系统中,任何一个用户都可以使用网络的线路或资源。。 |
内联网 | 内联网是基于互联网的TCP/IP协议,使用WWW工具,采用防止入侵的安全措施,为企业内部服务,并有链接互联网功能的企业内容网络。 |
外联网 | 外联网是指基于互联网的安全专用网络,其目的在于利用互联网把企业和其贸易伙伴的内联网安全地互连起来,在企业和其贸易伙伴之间共享信息资源。 |
2. 常见名词
LAN | 局域网 |
WAN | 广域网 |
WLAN | 无线局域网 |
VLAN | 虚拟局域网 |
VPN | 虚拟私有网络 |
3. 网络通信
前边学习进程和线程的时候,我们知道对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,那要怎么办呢?这时候就需要网络通信,网络通信本质上是一种进程间通信,是位于网络中不同主机上的进程之间的通信,属于IPC
的一种,通常称为socket IPC
。
那需要哪些部分,才能完成两台主机的通信呢?大概需要三个层次:
- (1)硬件层:网卡设备,收发网络数据。
- (2)驱动层:网卡驱动(
Linux
内核网卡驱动代码)。 - (3)应用层:上层应用程序(调用
socket
接口或更高级别接口实现网络相关应用程序)。
在硬件层,两台主机都提供了网卡设备,也就满足了进行网络通信最基本的要求,网卡设备是实现网络数据收发的硬件基础。通信的两台主机之间需要建立网络连接,这样两台主机之间才可以进行数据传输,例如通过网线进行数据传输。网络数据的传输媒介有很多种,大体上分为有线传输(例如双绞线网线、光纤等)和无线传输(例如WIFI
、蓝牙、ZigBee
、4G/5G/GPRS
等),PC
机通常使用有线网络,而手机等移动设备通常使用无线网络。
在内核层,提供了网卡驱动程序,可以驱动底层网卡硬件设备,同时向应用层提供socket
接口。
在应用层,应用程序基于内核提供的socket
接口进行应用编程,实现自己的网络应用程序。需要注意的是,socket
接口其实就是内核向应用层提供的一套网络编程接口。除了socket
接口之外,在应用层通常还会使用一些更为高级的编程接口,例如http
、网络控件等,那么这些接口实际上是对socket
接口的一种更高级别的封装。
二、网络互联模型
1. OSI
七层模型
七层模型,也就是OSI
(Open System Interconnection
)。OSI
七层参考模型是国际标准化组织(ISO
)制定的一个用于计算机或通信系统间网络互联的标准体系,一般称为OSI
参考模型或七层模型,它是一个网络互连模型,从上到下依次是:
点击查看详情
【说明】该图片来源于网络。
应用层 | 为应用程序提供服务并规定应用程序中相关的通信细节。常见的协议包括超文本传输协议(HTTP)、简单邮件传送协议(SMTP)和远程登录(Telnet)协议等。 |
表示层 | 将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。该层主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。数据压缩/解压缩和加密/解密(提供网络的安全性)也是表示层可提供的功能之一。 |
会话层 | 会话层(Session Layer)对应了主机进程,指本地主机与远程主机正在进行的会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。负责建立和断开通信连接(数据流动的逻辑通路),以及记忆数据的分隔等数据传输相关的管理。将不同实体之间表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。 |
传输层 | 传输层(Transport Layer)定义传输数据的协议端口号,以及端到端的流控和差错校验。该层建立了主机端到端的连接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括差错校验处理和流控等问题。我们通常说的, TCP、 UDP 协议就工作在这一层,端口号既是这里的“端”。 |
网络层 | 将数据传输到目标地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互联等功能。本层通过 IP 寻址来建立两个节点之间的连接,为源端发送的数据包选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。网络层(Network Layer)也就是通常说的 IP 层。该层包含的协议有: IP(Ipv4、 Ipv6)、 ICMP、 IGMP 等。 |
数据链路层 | 负责物理层面上互连的节点间的通信传输。例如,一个以太网相连的两个节点之间的通信。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错和重发等。 |
物理层 | 利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 |
OSI
模型相关的协议已经很少使用,但模型本身非常通用。OSI
模型是一个理想化的模型,尚未有完整的实现。
2. TCP/IP
模型
TCP/IP
协议是Internet
实际上的工业标准,它有四层模型和五层模型两种,TCP/IP
四层、五层模型以及OSI
七层模型对应关系如下图所示:
可以看到,TCP/IP
五层模型中,将OSI
七层模型的最上三层(应用层、表示层和会话层)合并为一个层,即应用层,所以TCP/IP
五层模型包括:应用层、传输层、网络层、数据链路层以及物理层。TCP/IP
四层模型,与五层模型唯一不同的就是将数据链路层和物理层合并为网络接口层。
在实际的应用中还是使用TCP/IP
四层模型,五层模型是专门为介绍网络原理而设计的。下边看看四层模型各层的作用吧。
2.1 应用层
应用层(Application Layer
)是最靠近用户的一层,为上层用户提供应用接口,也为用户直接提供各种网络服务,我们电脑或手机使用的应用软件都是在应用层实现。我们常见应用层的网络服务协议有:HTTP
、FTP
、TFTP
、SMTP
、SNMP
、DNS
、TELNET
、HTTPS
、POP3
、DHCP
。当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是传输层。
2.2 传输层
传输层(Transport Layer
)是为应用层提供网络支持的。它定义传输数据的协议端口号,以及端到端的流控和差错校验。该层建立了主机端到端的连接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括差错校验处理和流控等问题。我们通常说的,TCP
、UDP
协议就工作在这一层,端口号既是这里的端。
看到这里,我们可能会认为它负责将数据从一个设备传输到另一个设备,但是在实际的场景中的网络环节是错综复杂的,中间有各种各样的线路和分叉路口,如果一个设备的数据要传输给另一个设备,就需要在各种各样的路径和节点进行选择,同时我们并不希望传输层协议处理太多的事情,它只需要服务好应用即可,让其作为应用间数据传输的媒介,帮助实现应用到应用的通信,所以实际的传输功能就交给下一层,也就是网络层。
2.3 网络层
网络层(Internet Layer
)进行逻辑地址寻址,实现不同网络之间的路径选择。这一层通过IP
寻址来建立两个节点之间的连接,为源端发送的数据包选择合适的路由和交换节点,正确无误地按照地址传送给目的端的传输层,实际上实现了端到端的传输。其实这一层也就是通常说的IP
层,该层包含的协议有:IP
(Ipv4
、Ipv6
)、ICMP
、IGMP
等。
2.4 网络接口和物理层
在 TCP/IP
协议中,这一层对应 OSI
七层网络模型的物理层和数据链路层。这一层包含的功能挺多的,我自己觉得吧,这一层分为两层来理解可能更好理解一些。
2.4.2 数据链路层
数据链路层(Data Link Layer
)是OSI
参考模型中的第二层,介于物理层与网络层之间,用来为网络层提供数据传送服务,负责建立和管理节点间逻辑连接、进行硬件地址寻址、差错检测等功能。
具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。这一层用 MAC 地址访问介质,可以进行错误发现但不能纠正。
由于数据链路层完成以上两个独立的任务,所以相应地划分为两个子层:
MAC | 媒体访问控制子层(Media Access Control),提供与网络适配器连接的接口,主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制。实际上,网络适配器驱动程序通常被称为 MAC 驱动,而网卡在工厂固化的硬件地址通常被称为 MAC 地址。 |
LLC | 逻辑链路控制子层(Logical Link Control),这个子层对经过子网传递的帧进行错误检查,并且管理子网上通信设备之间的链路。主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。 |
2.4.2 物理层
先了解一个概念,透明传送就是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。物理层(Physical Layer
)主要功能是:利用传输介质为数据链路层提供物理连接,实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
实际上,网络数据信号的传输是通过物理层实现的,通过物理介质传输比特流。物理层规定了物理设备标准、电平、传输速率等。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆等,这些都是物理层的传输介质。
对于计算机来说,物理层对应的就是网络适配器(通常意义上的网卡)。根据网络适配器的存在方式,可以分为两类:第一类是物理网络适配器,如有线网卡、无线网卡。第二类是虚拟网络适配器,如宽带拨号连接、VPN
连接等。我们可以使用如下命令来查看我们系统的网络适配器信息:
1 | netwox 169 |
三、网络体系
网络体系定义了物理网络的构成,以及对应的通信协议。所谓网络体系,就是为了完成计算机之间的通信合作,把每个计算机互联的功能划分为定义明确的层次,规定了同层次进程通信的协议及相邻层之间的接口和服务。将这些同层进程通信的协议及相邻层接口统称为网络体系结构,网络体系结构中基本的原理是抽象分层
1. 网络体系的构成
网络体系不仅定义了网络构成,还规定了通信方式,它构成主要包括以下几个方面:
访问方法 | 定义了计算机使用传输介质的规则,通过这些规则,可以避免数据传输的各种冲突。 |
数据帧格式 | 定义了数据传输的格式。所有要传输的数据必须按照该格式进行传输。 |
布线类型 | 定义了网络适配器和其他网络设备的连接方式。例如,每台计算机都通过电缆连接到网络设备,从而形成星型网络。 |
布线规则 | 定义网络适配器和网络设备连接规范,如网络适配器接口类型和连线长度等。 |
2. 网络体系的类型
网络使用的场景和数据传输所使用的终端设备不同,在物理层中识别的网络接口设备也会不同。网络体系主要分为 4 大类型:
IEEE 802.3(以太网) | 基于线缆的网络,就是常见的有线局域网。 |
IEEE 802.11(无线网络) | 无线网络技术,如 Wi-Fi 网络。 |
IEEE 802.16(WiMAX) | 用于移动通信长距离无线连接的技术。 |
点到点协议(PPP) | 使用 Modem 通过电话线进行连接的技术,如通过拨号方式建立的网络连接。 |
四、网络协议简介
网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合,它规定了通信时信息必须采用的格式和这些格式所代表的意义。网络协议使网络上各种设备能够相互交换信息。
网络中存在着许多协议,接收方和发送方使用的协议必须一致,否则一方将无法识别另一方发出的信息。而 TCP/IP
协议就是一种常见的协议,Internet
上的计算机使用的就是该协议。每一层都有很多的不同种类的协议,我就只简单了解各层常见的协议。
1. 网络接口与物理层
1.1 ARP
协议
ARP
(Address Resolution Protocol
),即地址解析协议,是根据IP
地址获取物理地址(MAC
)的一个TCP/IP
协议。主机发送信息时,将包含目标IP
地址的ARP
请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP
地址和物理地址存入本机ARP
缓存中并保留一定时间,下次请求时直接查询ARP
缓存以节约资源。
1.2 RARP
协议
RARP
(Reverse Address Resolution Protocol
),即反向地址转换协议。它允许局域网的物理机器从网关服务器的 ARP
表或者缓存上请求其 IP
地址。网络管理员在局域网的网关路由器里创建一个表以映射物理地址(MAC
)和与其对应的 IP
地址。当设置一台新的机器时,其 RARP
客户机程序需要向路由器上的 RARP
服务器请求相应的 IP
地址。假设在路由表中已经设置了一个记录,RARP
服务器将会返回 IP
地址给机器,此机器就会存储起来以便日后使用。 RARP
可以使用于以太网、光纤分布式数据接口及令牌环 LAN
等。
1.3 ppp
协议
PPP
(Point to Point Protocol
),即点对点协议。它是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。
2. 网络层
2.1 网络层协议主要工作
网络层协议主要完成的工作有:
(1) 实现不同网络(主机)间的数据包路由传递。
(2)在发送端(或中转站)提供数据包分片功能以使数据包大小满足 PMTU
(Path-MTU
)。
(3)在接收端提供数据包分片重组功能。
(4)负责数据包优先级,安全性等问题。
2.2常用协议简介
2.2.1 IP
协议
IP
协议,英文名称为Internet Protocol
,是TCP/IP
体系中的网络层协议,分为IPv4
和IPv6
。IP
协议可以将多个交换网络连接起来,在源地址和目的地址之间传送数据包。同时,它还提供数据重新组装功能,以适应不同网络对数据包大小的要求。
2.2.2 ICMP
协议
ICMP
(Internet Control Message Protocol
),即Internet
控制报文协议。是 TCP/IP
协议族的一个子协议。ICMP
协议用于在 IP
主机和路由器之间传递控制消息,描述网络是否通畅、主机是否可达、路由器是否可用等网络状态。我们常用的ping
命令就属于ICMP
协议。
2.2.3 IGMP
协议
IGMP
(Internet Group Management Ptotocol
),即Internet
组管理协议。它是因特网协议家族中的一个组播协议,该协议运行在主机和组播路由器之间。MP提供了在转发组播数据包到目的地的最后阶段所需的信息,实现如下双向的功能:
(1)主机通过IGMP
通知路由器希望接收或离开某个特定组播组的信息。
(2)路由器通过IGMP
周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。
3. 传输层
3.1 传输层协议主要工作
(1)提供多路复用。
(2)实现数据基本传输功能。
(3)建立通信通道。
(4)提供流量控制。
(5)提供数据可靠性传输保证。
上边的主要针对 TCP
协议而言,并非所有的传输层协议都需要提供这些功能,如UDP
协议就不提供可靠性数据传输。
3.2 常用协议简介
3.2.1 TCP
协议
TCP
(Transmission Control Protocol
),即传输控制协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。
- 适用场景:
(1)适合于对传输质量要求较高,以及传输大量数据的通信。
(2)在需要可靠数据传输的场合,通常使用TCP
协议
(3)MSN/QQ
等即时通讯软件的用户登录账户管理相关的功能通常采用TCP
协议
- 我们需要理解的重点如下
(1) TCP 协议工作在传输层,对上服务 socket 接口,对下调用 IP 层;
(2) TCP 是一种面向连接的传输协议,通信之前必须通过三次握手与客户端建立连接关系后才可通信;
(3) TCP 协议提供可靠传输,不怕丢包、乱序。
- TCP 协议如何保证可靠传输?
(1) TCP 协议采用发送应答机制,即发送端发送的每个 TCP 报文段都必须得到接收方的应答,才能认为这个 TCP 报文段传输成功。
(2)TCP 协议采用超时重传机制,发送端在发送出一个 TCP 报文段之后启动定时器,如果在定时时间内未收到应答,它将重新发送该报文段。
(3)由于 TCP 报文段最终是以 IP 数据报发送的,而 IP 数据报到达接收端可能乱序、重复、所以 TCP协议还会将接收到的 TCP 报文段重排、整理、再交付给应用层。
3.2.2 UDP
协议
UDP
(User Datagram Protocol
),即用户数据报协议。提供不可靠,无连接的尽力传输协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。适用场景如下:
(1)发送小尺寸数据(如对DNS
服务器进行IP
地址查询时)。
(2)在接收到数据,给出应答较困难的网络中使用UDP
(如:无线网络)。
(3)适合于广播/组播式通信中。
(4)MSN/QQ/Skype
等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP
协议。
(5)流媒体、VOD
、VoIP
、IPTV
等网络多媒体服务中通常采用UDP
方式进行实时数据传输。
3.2.3 SCTP
协议
SCTP
(Stream Control Transmission Protocol
),即流控制传输协议。 是可靠传输,是TCP
的增强版,它能实现多主机、多链路的通信。
4. 应用层
这里主要是简单了解下有哪些协议吧。
4.1 HTTP
协议
HTTP
(Hyper Text Transfer Protocol
),即超文本传输协议。它是从WEB
服务器传输超文本标记语言(HTML
)到本地浏览器的传送协议。设计HTTP
最初的目的是为了提供一种发布和接收HTML
页面的方法。
4.2 HTTPS
协议
HTTPS
(HyperText Transfer Protocol over Secure Socket Layer
),是以安全为目标的 HTTP
通道,在HTTP
的基础上通过传输加密和身份认证保证了传输过程的安全性 。一般理解为HTTP+SSL/TLS
,通过 SSL
证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。
4.3 POP3
协议
POP3
(Post Office Protocol - Version 3
),即邮局协议版本3
,一般用于邮件的接收。是TCP/IP
协议族中的一员,由RFC1939
定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL
加密的POP3
协议被称为POP3S
。
4.4 SMTP
协议
SMTP
(Simple Mail Transfer Protocal
),即简单邮件传输协议,一般用于邮件的发送。SMTP
独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP
的重要特性之一是其能跨越网络传输邮件,即“SMTP
邮件中继”。使用SMTP
,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。
4.5 IMAP
协议
IMAP
(Internet Message Access Protocol
),它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。
4.6 FTP
协议
FTP
(File Transfer Protocol
),即文件传输协议。是 TCP/IP
协议组中的协议之一。FTP
协议包括两个组成部分,其一为FTP
服务器,其二为FTP
客户端。其中FTP
服务器用来存储文件,用户可以使用FTP
客户端通过FTP
协议访问位于FTP
服务器上的资源。在开发网站的时候,通常利用FTP
协议把网页或程序传到Web
服务器上。此外,由于FTP
传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
4.7 Telnet
协议
Telnet
协议是TCP/IP
协议族中的一员,是Internet
远程登录服务的标准协议和主要方式。Telnet
协议的目的是提供一个相对通用的,双向的,面向8
位字节的通信方法,允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。应用Telnet
协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。
4.8 SSH
协议
SSH
为 Secure Shell
的缩写,由IETF
的网络小组(Network Working Group
)所制定;SSH
为建立在应用层基础上的安全协议。SSH
是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH
协议可以有效防止远程管理过程中的信息泄露问题。SSH
最初是UNIX
系统上的一个程序,后来又迅速扩展到其他操作平台。SSH
在正确使用时可弥补网络中的漏洞。SSH
客户端适用于多种平台,几乎所有UNIX
平台—包括HP-UX
、Linux
、AIX
、Solaris
、Digital UNIX
、Irix
,以及其他平台,都可运行SSH
。
4.9 邮件相关协议
- 邮件发送接收协议: POP3(收)/SMTP(发) 等。
5. 嵌入式相关
5.1 NTP
协议
NTP
(Network Time Protocol
),即网络时间协议。是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS
等等)做同步化,它可以提供高精准度的时间校正(LAN
上与标准间差小于1
毫秒,WAN
上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP
的目的是在无序的Internet
环境中提供精确和健壮的时间服务。
5.2 SNMP
协议
SNMP
,即简单网络管理协议(SNMP
)是TCP/IP
协议簇的一个应用层协议,工作在UDP 161
端口,用于监控目标设备的操作系统、硬件设备、服务应用、软硬件配置、网络协议状态、设备性能及资源利用率、设备报错事件信息、应用程序状态等软硬件信息。
5.3 RTP
协议
RTP
(Real-time Transport Protocol
),即实时传输协议。RTP
用来为IP
网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP
为Internet
上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP
来提供。
5.4 RTSP
协议
RTSP
(Real Time Streaming Protocol
),即实时流传输协议,是TCP/IP
协议体系中的一个应用层协议。设计用于娱乐、会议系统中控制流媒体服务器。
五、MAC
地址
在网络中,有一个很重要的概念叫MAC
,下边就是来看一看什么是MAC
,前边其实已经学到了,这里加深下印象吧。
1. 什么是MAC
?
MAC
地址为 Media Access Control Address
,直译为媒体存取控制位址,也称为局域网地址(LAN Address
)、以太网地址(Ethernet Address
)或物理地址(Physical Address
),它是一个用来确认网络设备位置的位址。
MAC
地址是一种标识符,用来标记网络中的每个设备。网络内传输的所有数据包都会包含发送方和接收方的物理地址,为了能够正确地将数据包发送出去,准确的将数据包从起始地发送到目的地,就必须要求 MAC
地址具有唯一性。因此 MAC
地址都是由生产厂家在生产时固化在网络硬件中,是硬件预留的地址。
硬件的 MAC
地址是厂家按照一定的规则,进行设置所产生的。一般MAC
地址采用十六进制数表示,共 6
个字节(48
位),长度为 48bit
,共计12
个十六进制位。整个地址可以分为前 24
位和后 24
位,代表不同的含义
0~23bit
称为组织唯一标识符(Organizationally Unique Identifier
,简称OUI
),是由IEEE
的注册管理机构给不同厂家分配的代码,区分了不同的厂家。- 后
24
位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC
地址后24
位是不同的。
2. MAC
地址的类型
物理MAC地址 | 这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。 |
广播MAC地址 | 全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示LAN上的所有终端设备。 |
组播MAC地址 | 除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表LAN上的一组终端。 |
3. 查看网络主机 MAC
地址
一个局域网往往存在多台计算机,这些计算机都有自己的 MAC
地址和 IP
地址。其中,IP
地址是可变的,而 MAC
地址一般是不可变的。为了准确地识别主机,用户可以获取计算机对应的 MAC
地址。这个时候就需要用到之前安装的netwox
工具啦。
- 显示局域网中指定主机的
MAC
地址信息
1 | netwox 5 -i 192.168.10.101 |
然后会看到有如下信息输出:
1 | 192.168.10.101 00:0C:29:45:70:EB |
这表示主机 192.168.10.101
的 MAC
地址为 00:0C:29:45:70:EB
。
- 显示局域网中所有主机的
MAC
地址信息
1 | netwox 5 -i 192.168.10.0/24 |
等候一段时间后,会看到有如下信息输出:
1 | 192.168.10.101 00:0C:29:45:70:EB |
在显示局域网中所有主机的 MAC
地址信息时,有时由于暂时没有发现主机,等待较长的时间,也不会有任何输出信息。为了能够更好地了解当前的进度,可以使用-u
选项,显示未发现主机的 MAC
地址的信息,进而可以查看扫描进度。
1 | netwox 5 -i 192.168.10.0/24 -u |
4. 由MAC
获取主机其他信息
进行数据传输的主机不仅拥有 MAC
地址,还拥有路由器分配的 IP
地址,有的还会有自己的主机名、标题等信息。如果知道了主机的 MAC
地址信息,那么就可以获取该主机的这些信息。
- 显示该主机相关信息
1 | netwox 4 -e 00:0C:29:45:70:EB |
然后会看到有如下信息输出:
1 | IP address: 192.168.10.101 |
这表示该主机的 IP
地址为 192.168.10.101
,主机名为 vm
。在上便命令后加上选项可以实现特定信息的输出:
1 | netwox 4 -e 00:0C:29:45:70:EB --ip # 在显示信息时只想显示 IP 地址信息 |