【网络】网络基础知识

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介: 计算机网络就是通过一定形式连接起来的一组计算机系统,它需要四个要素的支持,即通信线路和通信设备、有独立功能的计算机、网络软件、能实现通信与资源共享的理论方法。计算机网络具有两大参考模型,分别是OSI参考模型和TCP/IP参考模型,其中OSI参考模型为理论模型,TCP/IP参考模型则已成为互联网通信的工业标准,现在的通信网络一般都采用TCP/IP协议簇,而应用编程都采用Socket套接字进行编程。

一. 网络概述


计算机网络就是通过一定形式连接起来的一组计算机系统,它需要四个要素的支持,即通信线路和通信设备、有独立功能的计算机、网络软件、能实现通信与资源共享的理论方法。计算机网络具有两大参考模型,分别是OSI参考模型和TCP/IP参考模型,其中OSI参考模型为理论模型,TCP/IP参考模型则已成为互联网通信的工业标准,现在的通信网络一般都采用TCP/IP协议簇,而应用编程都采用Socket套接字进行编程。


二. 网络体系结构的几个概念


网络体系结构主要涉及以下几个重要概念:


 ① 协议:为计算机网络中的数据交换而建立的规则、标准或约定的合集。


 ② 通信协议:通信双方必须共同遵守的规则和约定称为通信协议。通信双方对数据的理解需要建立在约定与协议之上。通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。


 ③ 接口:相邻两层之间的边界,在接口处规定了低层向上层提供的服务所使用的形式规范语句(服务原语)。


 ④ 服务:某一层提供的功能,并能通过接口提供给其相邻的上层。


 ⑤ 网络体系结构:对计算机网络各层功能的精确定义及其各层遵守协议的集合。


 ⑥ 协议栈:网络各层协议按层次顺序排列而成的协议序列。


 ⑦ 点到点:体现在物理上的两两连接,是物理拓扑结构,如光纤就必须是点到点的连接。点到点协议体现在IP网络层或以下两层。IP网络层是两两路由器进行点到点通信,中间没有跨越其他通信设备。点到点传输的优点是发送端设备送出数据后,它的任务已经完成,不需要参与整个传输过程,这样不会浪费发送端设备的资源。另外,即使接收端设备关机或出现故障,点到点传输也可以采用存储转发技术进行缓冲。点到点传输的缺点是发送端发出数据后,不知道接收端能否收到或何时收到数据。IP及以下各层采用的是点到点传输。


 ⑧ 端到端:体现在逻辑上的两两连接。端到端是体现在网络传输层之间的,比加要将数据从A传送到E,中间可能经过A->B->C->D->E,对于传输层来说,它并不知道B、C、D的存在,它只认为报文数据是从A直接到E的,这就叫做端到端。总之,端到端是有无数的点到点实现和组成的。


三. 网络分层模型


1. 对网络分层的理解


分层能使简单的问题简单化,网络分层也是基于此原理。网络分层简化了网络设计,提高了网络互联的标准化程度。网络分层是上一层都依赖于下一层,只有最底层才是物理的实际通信,其他对等层是虚拟通信,分层原理与方法如下图所示:



d78f9ecd49044e9c958d42757d9cda54.png

网络分层模型设计以下术语:


 ① 实体:每一层中的活动因素,可以是如何可发送或接受信息的硬件或软件进程。许多情况下,实体就是一个特定的软件模块。


 ② 对等实体:位于不同机器上同一层中的实体。


 ③ 服务提供者:n层(下层)是n+1层(上层)的服务提供者。


 ④ 服务用户:n+1层(上层)是n层(下层)的服务用户。


 ⑤ 服务访问点(SAP):服务提供的地点,也即接口上相邻两层实体交换信息之处。


 ⑥ 服务和协议的关系:服务是垂直的,协议是水平的。n层的服务用户只能看见n层的服务,无法看见n层的协议,在n层协议控制下,两个对等实体间的通信能使得n层能够向n+1层提供服务,要实现n层协议,需要使用n-1层提供的服务。


网络分层的好处


互联网的两大网络参考模型(OSI参考模型和TCP/IP参考模型)都是基于分层原理实现的。通过网络分层可以获得的好处有:各层之间相互独立,相邻层间交互只通过接口,使整个问题的复杂度下降。结构上可分隔开,各层都可以采用最合适的技术来实现,每一层的功能简单,易于实现和维护。若某一层改动时,只要不改变接口的服务关系,其它层则不受影响,灵活性好。分层有利于促进网络协议的标准化。


2. OSI 网络分层模型


2.1 OSI 模型概述


OSI(Open System Interconnection,开放式系统互连)是1984年由国际标准化组织(ISO)提出的一个网络参考模型。作为一个概念性框架,提出时希望以后不同的设备制造商和应用软件开发商遵循此标准。现在,此模型已成为计算机网络间和网络间进行通信的主要模型,目前使用的大多数网络通信协议的结构都是基于OSI参考模型或参照OSI参考模型的。


OSI模型把网络从逻辑上分为了7层,即物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如下图所示:




31840e84695e48a9ac4b9518a85829af.png

对OSI分层模型中各层的解释如下:


 ① 物理层:是参考模型的最底层。该层是网络通信的数据传输介质,由连接不同结点的电缆与设备共同组成。物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。在这一层,数据的单位称为比特(bit)。


 ② 数据链路层:是参考模型的第2层。主要功能是:在物理层提供服务的基础上,在通信的实体间建立数据链路连接,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。


 ③ 网络层:是参考模型的第3层。主要功能能是:为数据在结点之间的传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适合的路径,以及实现拥塞控制、网络互联等功能。


 ④ 传输层:是参考模型的第4层。主要功能是:向用户提供可靠的端到端服务,处理数据包错误、数据包次序,以及其他一些关键的传输问题。传输层向高处屏蔽了下层数据通信的细节,因此,它是计算机通信体系结构中关键的一层。


 ⑤ 会话层:是参考模型的第5层。主要功能是:负责维护两个结点之间的传输连接,以确保点到点的传输不中断,以及管理数据交换等功能。


 ⑥ 表示层:是参考模型的第6层。主要功能是:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式交互、数据加密与解密、数据压缩与恢复等功能。


 ⑦ 应用层:是参考模型的最高层,为存储系统或网络应用程序提供访问网络服务的接口。


2.2 OSI 模型特点


OSI 参考模型只有物理层之间是直接连接的,对等层之间采用相同的对等协议。该模型在发送数据时,数据从高层到低层;在接收数据时,数据从低层到高层。


3. TCP/IP 网络分层模型


3.1 TCP/IP 模型概述


TCP/IP(又称TCP/IP 协议簇)是一组用于实现网络互联的通信协议,其名称来源于该协议簇中两个重要的协议(IP协议和TCP协议)。基于TCP/IP 的参考模型将协议分成四个层次,它们分别是网络接口层、网际互联层(IP层)、传输层(TCP层)和应用层。


 ① 网络接口层:网络接口层与OSI参考模型中的物理层和数据链路层对应。


 ② 网际互联层:网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。该层有四个主要的协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。IP协议是网际互联层最重要的协议,它提供的是一个不可靠的、无连接的数据报传递服务。


 ③ 传输层:传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议提供的是不可靠的、无连接的数据传输服务。


 ④ 应用层:应用层对应于OSI参考模型的会话层、表示层和应用层,为用户提供所需要的各种服务,例如FTP、Telnet、DNS、SMTP等。


3.2 OSI模型与TCP/IP模型比较


OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立了TCP/IP参考模型。OSI先有模型、后有协议,先有标准,后进先实践;而TCP/IP则相反,先有协议何应用,再提出了模型,且是参照了OSI参考模型。OSI太复杂,TCP/IP简单却不全面,OSI花了很长时间进行标准化,与此同时,TCP/IP已被广泛使用,并以成为网络互联事实上的标准。


下图画出了TCP/IP 模型以以及该模型与OSI模型各层的对应关系:


a39fd2e197b04c2eb6e7eff8cc73e63b.png

3.3 TCP/IP数据包的封装与分用


网络中各层把数据当作一个流来处理,每层都有自己的传输单位,物理层传输单位是比特流,而只有这一层是物理的数据传输,其他层都是逻辑的;链路层传输单位是帧;网络层传输单位是报;传输层传输是段。源主机应用层数据往下层传递时每一层要增加相应的首部,称为封装;到达目的主机后数据往上层传递时需要再剥掉相应的首部,称为拆封。


下图画出了网络分层时的数据流图:69941a5fcbba44218af78278ea673637.png



IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端传输:

ca8adb20f45c4584bff38332f97549f1.png


3.4 TCP/IP通信过程


下图画出了同一网段中的两台主机通过TCP/IP协议的通信过程,其中应用层使用的是FTP协议。除物理层是实际传输数据的,其他对等层只是虚拟通信(所以画的是虚线),对等层一般需要遵照相同的协议。上层传输数据只与相邻上下层有关系。TCP及其下层是由操作系统内核实现的,即它们是处理通信细节的。而应用层程序是通过Socket编程实现的,处理的是应用程序细节。

d56eb07212054343a46b11229b2dce3a.png

下图是不同网段中的两台主机通信过程:

ecb611dfa68745f5850406f3761af720.png


四. 网络分类


通过网络分类,可以更好地了解网络的特点。下面按网络八个方面的特征对网络进行分类。并给出简要说明:


① 按覆盖范围


局域网(LAN):如企业内部网、家庭内部网。

城域网(MAN):一个城市的内部网络。

广域网(WAN):连接世界各地方的网络。


8e2bc72241e345e7bac8fbf7e391244e.png

② 按拓扑结构


星型拓扑:交换机网络,如企业网络。

环形拓扑:令牌环网,如FDDI网。

总线型拓扑:以太网,如企业部门及网络。

树型拓扑:层次级网络,如层次级城域网。

网状拓扑:广域网。


1f354e9d6be54985a430af6588c699f1.png

③ 按信息交换方式


电路交换:如打电话时,两端通话期间占用一条单独的线路。传统的电话线路就属于电路交换。

报文交换:通信两端在一个时间段内传递一个报文。

报文分组交换:通信两端在一个时间段内传递一个报文分组,最后由通信双方合成一个报文。TCP/IP网络属于报文分组交换。

④ 按传输介质


有线网:利用同轴电缆或双绞线介质通信的网络,如企业局域网。

光纤网:利用光纤进行通信的网络,如国家骨干网。

无线网:利用微波、磁波进行通信的网络,如手机GSM网、3G网和WIFI网。

⑤ 按通信方式


点对点传输网络:交换机网络。

广播式传输网络:以太网络。

⑥ 按网络使用目的:可分为共享资源网、数据处理网和数据传输网。


⑦ 按服务方式:可分为客户端/服务端网络和对等网。


⑧ 按照网络用途


通信子网: 负责完成网络数据的传输,转发等通信处理任务,它属于OSI模型的下三层(物理层、链路层、网络层)。一方面,作为与资源子网的主机,终端链接的接口,将主机和终端连入网内;另一方面,作为通信子网中的分组存储转发节点,完成分组的接收、校验、存储、转发等功能,实现将源主机报文准确发送到目的主机的作用。

资源子网:由主机系统,终端、终端控制器、联网外设、各种软件资源与信息资源组成。负责处理全网络面向应用的数据处理工作,而通信双方遵守共同协议。资源子网由计算机硬件和通信软件组成。


3c3b21322ac14ecb9f3daf143bff056c.png


五. 网络地址


1. 网络地址父类


在网络中,按照地址可把网络地址分为如下四类:


物理地址:即MAC地址,如00-aa-00-64-c9-09。

逻辑地址:即IP地址,如127.0.0.1。

端口地址:应用基础端口号。

域名地址:万维网地址,如www.baidu.com。


2. MAC地址


MAC地址是物理网卡硬件地址,在出厂时就会设定,不能修改,它的大小是6字节,用于识别相邻设备,在链路层完成相邻设备之间的数据传输。MAC地址为48位,0~23位叫做组织唯一标识符,由IEEE(电器电子工程师协会)管理,生产以太网网卡的厂家就购买其中一组,再自行分配后24位,逐个将唯一地址赋予以太网卡。MAC地址属于平面地址,五层次结构,每个网络设备的网络地址全球唯一,只能用于局部范围寻址,MAC地址存在于网络的数据链路层。


PS:一台计算机可以绑定多个网卡,进而可以拥有多个MAC地址。


3. IP地址


IP地址标识着网络中一个主机的位置,每个IP地址由32位(IPv4地址,4个字节)组成。分为网络号、主机号两部分,但现在都是采用CIDR方案,所以,IP地址现在只能表示主机号。另外,IP地址也是全球唯一的,寻址很容易。


IP地址有两种表示形式,分为二进制数表示和点分十进制数表示,其中二进制数由计算机内部使用,点分十进制数是方便人们记忆而引入的。


IP地址按照用途分,可分为单播地址、广播地址和多播(组播)地址,其中广播地址和多播地址仅应用于UDP协议。


4. IP地址分类


 IPv4的IP地址通常采用点分十进制数表示。例如,二进制数IP地址0xc0a80002用点分十进制数可表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号和不同的主机之间通信则需要通过路由器转发。


 最早的IP地址分类没有单独的网络号,将IP地址分为5类,以适应大型、中型、小型网络的需要:


其中第一个字段是网络号(net-id),它标志主机或路由器所连接的网络。一个网络号在整个因特网内必须是唯一的。

第二个字段是主机号(host-id),它标志该主机(或路由器)。一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。

65b0070827374a3cb2418acfcd386558.png


 一个A类网络可以容纳的地址数量最大,能容纳1677万多台电脑,一个B类网络的地址数量是65536,一个C类网络的地址数量是256,D类地址用做多播地址,E类地址保留未用。


 随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了大量地址。这种方式对网络的划分是扁平结构(flat)的,而不是层级结构(hierarchical)的,Internet上的每个路由器都必须掌握所有的网络信息,随着C类网络的大量出现,路由器需要检索的路由表越来越庞大,负担越来越重。


5. CIDR子网划分方法


 由于用一个IP地址来表示网络号和主机号造成了上面所述的问题,IEEE便提出了新的划分方案,即无类域间路由(Classless Inter-Domain Routing,CIDR)方案。网络号和主机号的划分需要用一个额外的子网掩码(subnet mask)来表示,而不能由IP地址本身的数值决定。也就是说,网络号和主机号的划分与这个IP地址是A类、B类还是C类无关,因此,称为无类型的。


 使用CIDR方案后,一个网络地址可包含IP地址和子网掩码两部分。例如,一个网络IP地址为140.252.20.68,子网掩码为255.255.255.0,也可用简洁的表示方法,如140.252.20…68/24。


 进行自定义子网时,子网掩码需要由前面是连续的1和后面是连续的0构成。IP地址与子网掩码做“与”运算可以得到网络号。


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2月前
|
SQL 机器学习/深度学习 分布式计算
Spark【基础知识 01】【简介】(部分图片来源于网络)
【2月更文挑战第12天】Spark【基础知识 01】【简介】(部分图片来源于网络)
27 2
|
2月前
|
消息中间件 存储 缓存
Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
107 2
|
4月前
|
网络协议 算法 网络架构
HCNP笔记-网络基础知识
HCNP笔记-网络基础知识
40 0
|
24天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03+04】【Hadoop集群资源管理器yarn】(图片来源于网络)(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第5天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
53 9
|
26天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)
【4月更文挑战第4天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)
35 4
|
2月前
|
消息中间件 存储 缓存
Kafka【基础知识 02】集群+副本机制+数据请求+物理存储+数据存储设计(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 02】集群+副本机制+数据请求+物理存储+数据存储设计(图片来源于网络)
49 1
|
6月前
|
存储 数据安全/隐私保护
网络基础知识:FTP命令及应答码
网络基础知识:FTP命令及应答码
142 0
|
2月前
|
分布式计算 Hadoop Java
Spark【基础知识 03】【RDD常用算子详解】(图片来源于网络)
【2月更文挑战第14天】Spark【基础知识 03】【RDD常用算子详解】(图片来源于网络)
60 1
|
2月前
|
存储 缓存 分布式计算
Spark【基础知识 02】【弹性式数据集RDDs】(部分图片来源于网络)
【2月更文挑战第13天】Spark【基础知识 02】【弹性式数据集RDDs】(部分图片来源于网络)
37 1
|
4月前
|
网络协议 安全 数据安全/隐私保护
网络基础知识100问
网络基础知识100问
208 0