【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)

简介: 【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)

一、计算机网络的发展背景

1、网络的定义

网络是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来,形成一个相互通信和共享资源的系统


(1) 独立模式

独立模式 计算机之间相互独立。


(2)网络互联

网络互联多台计算机连接在一起,完成数据共享。

在没有网络的时候,数据也可以进行传输,可以通过使用数据线将两台设备(如计算机、手机或存储设备)直接连接在一起,从而实现数据传输。或者可以通过使用磁带或光盘等媒介来进行数据传输,不过这样传输的成本会比较高。


2、局域网 LAN

相对于广域网 WAN 而言,局域网 LAN 主要是指在相对较小的范围内的计算机互联网络。这个 “小范围” 可以是覆盖一个宿舍,一个办公楼、一所学校等。

局域网的主要特点是:传输速度快、延迟低,并且用于连接同一组织内部的计算机和设备。例如,一家公司内部的多台电脑通过路由器或交换机连接在一起形成的网络就是局域网


3、广域网 WAN

广域网 WAN 就是我们通常所说的 Internet,是指跨越较大地理范围的计算机网络,它通常由多个局域网或城域网互相连接而成,是一个遍及全世界的网络,将远隔千里的计算机都连在一起。广域网可以覆盖多个城市、省份甚至国家之间的分支机构或办公地点,并且利用互联网等公共网络进行数据传输。广域网允许远程地点的计算机和用户之间实现高速、可靠的连接,以满足远程办公、数据共享和协作等需求。


4、比较局域网和广域网

  • 公网、外网,即广域网(WAN)
  • 私网、内网,即局域网(LAN)
如何区分它们二者呢?

所谓局域网” 广域网” 只是一个相对的概念。比如, 我们有天朝特色” 的广域网,也可以看做一个比较大的局域网。如果硬要区分的话可以看路由器,如果没有路由器就是局域网,需要路由器横跨就是广域网。


5、扩展 —— 域域网和互联网

城域网 MAN:城域网是指连接位于同一个城市或者地理范围内的不同机构、公司或校园网络的计算机网络。城域网的覆盖范围比局域网要广,它可以通过光纤、无线电或其他传输介质来连接各个网络设施。城域网的主要特点是传输距离较长,覆盖范围广,一般用于满足互联网接入的需求或者连接企事业单位之间的网络通信。

互联网 Internet:互联网是指全球范围内相互连接的计算机网络。它由无数的局域网、城域网以及广域网组成,通过标准化的通信协议进行数据交换和共享。互联网使得全球各地的计算机和用户能够相互通信、共享信息和资源。它提供了丰富的服务和应用,包括电子邮件、万维网(World Wide Web)、文件传输、远程登录和即时通信等。作为全球最大的计算机网络,互联网已经成为现代社会中不可或缺的一部分。

通过网络,用户可以与他人进行远程通信、获取信息、共享文件和资源等。网络基础设施包括网络协议、路由器、交换机、光纤等技术和设备,它们协同工作以确保数据能够在不同计算机之间传输和交换。


二、协议

1、协议的概念

“协议” 是一种约定。协议是指多方之间达成的一种约定或规定,用于指导各方在特定情况下的行为和相互之间的关系。在网络中,为了确保数据传输的有效性、互联互通、统一标准、安全性和资源管理,网络也有属于自己的协议。

高三住校,我打算和父亲用座机联系来表示我想表达的意思,因为用座机接电话会花钱,所以我们就想了一个办法,如果电话响铃一声就挂了表示我向家里报个平安,如果我的生活费不足,需要父亲给我打钱就响铃两声,如果就响三声就表示需要父亲来接我放学回家,这样就减少了成本。
所以这里响几声代表不同的含义,而这个含义不需要解释,双方已经达成了共识,这就叫做约定,而用计算机语言来说这就叫作协议。

举个例子,在计算机中,主机 A 想让主机 B 干一件事,可以先约定好只发送一个字节,不同的比特位代表要做什么事情,这样就可以降低成本,提高效率。


2、协议的本质

计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息就需要约定好双方的数据格式。

只要通信的两台主机约定好协议就可以了吗?

并不是。因为:

  • 计算机生产厂商有很多。
  • 计算机操作系统也有很多。
  • 计算机网络硬件设备也有很多。

他们可能各自有自己的协议。所以,为了让他们之间生产的计算机能够相互顺畅的通信,还需要计算机对应的硬件厂商以同样的规范来处理 0/1 问题。需要约定一个共同的标准,让大家都遵守,这就是网络协议(TCP/IP)

协议的本质是一层软件层,是为了让双方通信的本质更高效

计算机的内部有很多组件,比如 CPU、显卡、网卡… 而它们在计算机内部是用线连接起来的。所以,一台计算机的内部本质上也是一个小型的网络结构,计算机内部设备和设备之间也存在协议,比入驱动程序访问硬件就得通过协议。
假设这些线足够长,将硬盘放到几百公里之外,那么现在我们再去存储数据就由原来的写入本地变成通过网络写入远端了,再把 CPU 等都放到远处,就相当于我们把一台计算机的各个功能用多台计算机构建起来,通过网络来进行连接。

所以可以得出结论:在计算机中,体系结构中有网络,网络中有体系结构。

为什么需要协议呢?

因为多台主机的距离较远,为了减少通信成本,所以需要有协议的存在。

通信的复杂问题,本质上是跟距离成正相关的。


3、协议分层

在实际定制网络协议时,是以层状划分的。

为什么要划分为层状结构呢?
  1. 通信的场景复杂。
  2. 通过分层可以完成不同协议之间的解耦,也便于人们对其进行各自维护。

A. 举例(打电话)

两个人用电话联系。站在人的角度,是人与人之间在沟通,而站在电话的角度,是电话与电话之间在沟通,这就叫做分层

在这个例子中, 我们的协议只有两层。 但是实际的网络通信会更加复杂, 需要分更多的层次。分层最大的好处在于 “ 封装”


B. 分层的好处

我们把软件进行模块化分,可以很好的进行解耦。解耦之后,我们把通信设备进行更换,比如说用电话进行沟通,上层不需要改变;同样的,上层语言改变,底层不不需要变。所以我们对任何一层进行修改并不会影响到其他层。


C. 封层的依据

把功能比较集中、耦合度较高的的模块放在一层,也就是高内聚。而每一层都是要解决特定的问题。


4、数据传输的条件

从我们的计算机通过网络发送一条信息到你的计算机,如何保证数据在传输过程中不丢失呢?其次,在传输过程中是如何安全找到你的计算机呢?传输过程中是分段传输的,如何解决下一跳主机的问题呢?这其中的复杂性体现在哪?(也就是协议栈要解决的问题)

通信范畴:

  1. 处理数据的能力。数据传递过去主机要识别这是什么,然后才能使用这个数据。(应用层)
  2. 丢包问题。另一台机器可能没有收到我们所发送的信息。(传输层)
  3. 定位问题。有成千上万个主机,需要确定给哪一台机器。(网络层)
  4. 解决下一跳问题问题。当两台相离很远的主机之间要传递数据,那么要先有传递一台主机数据的能力(数据包交付能力),然后一台一台的 “蹦” 到目标主机。(数据链路层)
  5. 要有纠错的能力。如果出错了就要重新传递一份。(物理层,但不属于软件)

这些都是由不同协议来保证的,而这里的每一层都有自己的协议,每一层协议都解决当前层的问题。


三、OSI 七层模型

OSI把网络从逻辑上分为了七层,每一层都有相关的物理设备。

  • OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。
  • 把网络从逻辑上分为了 7 层。每一层都有相关、相对应的物理设备,比如路由器,交换机。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输。
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。但是,它既复杂又不实用,所以下面就按照 TCP/IP 四层模型来讲述。在工程实践中把应用层表示层和会话层压缩成一层。

四、TCP / IP 五层(或四层)模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。

TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  • 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。
  • 数据链路层负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
  • 网络层负责地址管理和路由选择。例如在 IP 协议中,通过 IP 地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
  • 传输层负责两台主机之间的数据传输. 如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
  • 应用层负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。

前面讲到的数据传输的条件,数据链路层解决的是能够传递的问题,网络层解决的是选择路径的问题,传输层解决的是纠错的问题,而应用层就是解决数据解析的问题。

物理层我们考虑的较少,因此很多时候也可以称为 TCP/IP 四层模型。

一般而言,

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容。
  • 对于一台路由器,它实现了从网络层到物理层。
  • 对于一台交换机,它实现了从数据链路层到物理层。
  • 对于集线器,它只实现了物理层。

但是并不绝对,很多交换机也实现了网络层的转发,很多路由器也实现了部分传输层的内容(比如端口转发)。

注意:数据链路层中的网卡层是驱动程序的一部分。

网络层和传输层是操作系统内部自己实现的。所有的操作系统都一样,所以全球的主机都能互联。

OS层次图:

可以看到跟上面讲的没什么区别。在应用层传输层时间会有系统调用接口,主要是文件类的系统调用接口。

注意:TCP 和 IP 各自是传输层和网络层最具代表性的两个协议,这个协议栈命名为 TCP/IP 模型,足以看出这两个协议的重要性,它们的重要性是操作系统赋予的。

参考资料:【Linux 网络】TCP/IP 四层模型和 OSI 七层模型的概念-CSDN博客

【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(下)https://developer.aliyun.com/article/1515744?spm=a2c6h.13148508.setting.19.11104f0e63xoTy

相关文章
|
23天前
|
Kubernetes 负载均衡 网络安全
Kubernetes 网络模型与实践
【8月更文第29天】Kubernetes(K8s)是当今容器编排领域的佼佼者,它提供了一种高效的方式来管理容器化应用的部署、扩展和运行。Kubernetes 的网络模型是其成功的关键因素之一,它支持服务发现、负载均衡和集群内外通信等功能。本文将深入探讨 Kubernetes 的网络模型,并通过实际代码示例来展示服务发现和服务网格的基本概念及其实现。
37 1
|
1天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
30 11
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
19天前
|
网络协议 数据安全/隐私保护 网络架构
计算机网络模型
【9月更文挑战第2天】
44 24
|
9天前
|
网络协议 安全 数据安全/隐私保护
动静态IP的网络协议有什么不同
IP地址分为静态和动态两种分配方式。静态IP地址由管理员手动分配,确保设备具有固定且唯一的网络标识,适用于服务器等关键设备。动态IP地址则通过DHCP服务器自动分配,提供更高的灵活性和管理效率,适合个人电脑和移动设备。两者在网络配置、管理和安全性方面各有优劣,需根据具体应用场景进行选择。静态IP地址虽稳定但配置复杂,安全性较低;动态IP地址配置简单,安全性更高,能有效防止针对固定IP的攻击。
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习模型之深度神经网络的特点
深度神经网络(Deep Neural Networks, DNNs)是一类机器学习模型,通过多个层级(层)的神经元来模拟人脑的工作方式,从而实现复杂的数据处理和模式识别任务。
14 1
|
17天前
|
算法
基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
该程序基于GA遗传优化设计了离散交通网络的双层规划模型,以路段收费情况的优化为核心,并通过一氧化碳排放量评估环境影响。在MATLAB2022a版本中进行了验证,显示了系统总出行时间和区域排放最小化的过程。上层模型采用多目标优化策略,下层则确保总阻抗最小,实现整体最优解。
|
20天前
|
分布式计算 负载均衡 监控
p2p网络架构模型
P2P(Peer-to-Peer)模式是一种网络架构模型,在这种模型中,每个节点(peer)既是服务的提供者也是服务的消费者。这意味着每个参与的节点都可以直接与其他节点通信,并且可以相互提供资源和服务,例如文件共享、流媒体传输等。
23 6
|
17天前
|
网络协议 安全 网络安全
C语言 网络编程(四)常见网络模型
这段内容介绍了目前被广泛接受的三种网络模型:OSI七层模型、TCP五层模型以及TCP/IP四层模型,并简述了多个网络协议的功能与特性,包括HTTP、HTTPS、FTP、DNS、SMTP、TCP、UDP、IP、ICMP、ARP、RARP及SSH协议等,同时提到了ssh的免费开源实现openssh及其在Linux系统中的应用。
|
14天前
|
网络协议
网络协议概览:HTTP、UDP、TCP与IP
理解这些基本的网络协议对于任何网络专业人员都是至关重要的,它们不仅是网络通信的基础,也是构建更复杂网络服务和应用的基石。网络技术的不断发展可能会带来新的协议和标准,但这些基本协议的核心概念和原理将继续是理解和创新网络技术的关键。
32 0
|
14天前
|
网络协议 网络架构
IP网络协议的深度讲解
IP协议作为互联网的基础,其设计的简洁性和强大功能使得全球范围内的网络通信成为可能。通过不断的发展和改进,尤其是IPv6的推广使用,IP协议将继续支持着日益增长的网络通信需求。了解IP协议的工作原理,对于任何网络技术的学习和应用都是基础且必要的。
24 0