热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux网络管理之基础知识详解

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

前言

在我们的日常生活中,随时都在与网络打交道,那么,计算机网络到底是什么呢?网络是通过什么方法进行传输的呢?网络又如何去进行管理呢?相信大家现在脑子里也有一大堆问号,那么,就让我们一起来了解网络到底什么东西~

一、什么是网络

计算机网络就是几部计算机主机或者是网络打印机之类的接口设备,透过网络线或者是无线网络的技术,将这些主机与设备按照一定的规则连接起来,使得数据可以透过网络媒体(网络线以及其他网络卡等硬件)来运输的一种方式。

二、计算机网络组成组件

接下来,让我们来谈谈组成计算机网络的组件吧。

上图就是计算机网络的基本组成部分,有一些我们需要注意的组件,如下:

节点(node)节点主要是具有网络地址(IP)的设备之称,上图所示的一般PC、Linux服务器、ADSL调制解调器与网络打印机等,都可以成为一个node。而中间的集线器(hub)因为不具有IP,所以不是节点

服务器主机(server)提供数据以响应给用户的主机,都可以被称为是一部服务器。

工作站(workstation)或客户端(client)任何可以在计算机网络输入的设备都可以是工作站。主动发起练级去要求数据的。就可以称为是客户端。举例来说,一般PC打开浏览器对Yahoo要求新闻数据,那一般PC就是客户端。

网络卡(NIC)内建或者是外插在主机上面的一个设备,主要提供网络联机的卡片,目前大都使用具有RJ-45接头的以太网络卡。

网络接口:利用软件设计出来的网络接口,主要在提供网络地址(IP)的任务。

网络形态或拓扑:各个节点在网络上面的连接方式,一般讲的是物理连接方式。

网关(route)或通信闸(gateway)具有两个以上的网络接口,可以连接两个以上不同的网段的设备。

基本来说,我们了解以上内容就已足够~

 

三、网络的特征  拓扑结构

3.1 网络的特征

  •   速度
  •   成本
  •   安全性
  •   可用性
  •   可扩展性
  •   可靠性
  •   拓扑

3.2 拓扑结构

拓扑结构分为物理拓扑和逻辑拓扑。物理拓扑描述了物理设备的布线方式,逻辑拓扑描述了信息在网络中流动的方式。

下面我们就来详细说一说物理拓扑结构。

  • 总线拓扑

总线拓扑就是所有设备均可接受信号,示意图如下:

  • 星型拓扑

星型拓扑通过中心点传输,所以一旦中心点发生故障,则会导致全网故障。示意图如下:

  • 扩展星形拓扑

扩展星型拓扑与星型拓扑特点一致,但是比星型拓扑复原能力强。示意图如下:

  • 环拓扑

在环拓扑中,信号绕环传输,可以使用光纤,传输速率快,但是,只要有任意一个节点出故障,就会导致全网故障。示意图如下:

  • 双环拓扑

双环拓扑中,信号沿相反方向传输,比单环拓扑的复原性更强一些。示意图如下:

  • 全网状拓扑

网状拓扑结构,这种拓扑结构主要指各节点通过传输线互联连接起来,并且每一个节点至少与其他两个节点相连·网状拓扑结构具有较高的可靠性,容错性强。但其结构复杂,实现起来费用较高,不易管理和维护,不常用于局域网。示意图如下:

  • 部分网状拓扑

与全网状拓扑大概一致,但是它是在容错能力与成本之间寻找一个平衡点。示意图如下:

 

四、OSI:七层协定

4.1 OSI简介

上面我们说到了计算机网络的定义和组件,那么,每个节点之间是如何沟通讯息的呢?其实就是透过标准的通讯协议了~但是,整个网络连接的过程相当复杂,包括硬件、软件数据封包与应用程序的相互连接等等,如果想要写一个将联网全部功能都串联在一起的程序,那么当某个小环节出现问题的时候,整个程序都需要改写!这样无疑是很麻烦的。

那要怎么办呢?这个时候我们就要说一说OSI的七层协议了。这个协议就是把整个网络连接过程分成7层,每一层都是特别的独立的功能,而且每层的程序代码可以独立撰写。这样一来,当某个小环节出现问题时,只要将该层级的程序代码重新撰写即可。

OSI七层协议,越接近硬件的阶层为底层,越接近应用程序的则是高层。具体如图所示:

4.2 数据传输过程

整个OSI的传送过程就是我们透过应用程序将数据放入途中所示的第七层的包裹内,然后再由第七层放入第六层包裹内,在依次序一直放入至第一层的包裹内,在传送出去给接收端。接收端的主机再从第一个包裹开始拆起,依序拆开所有包裹,再分别交给对应负责的阶层来视察。

既然是包裹,那肯定会有一些表头信息,用来告知对方这里面是什么信息,上层的包裹是放入下层中,所有下层包含上层的表头。数据的封装和解封具体如下图所示:

图1 数据封装

图2 数据解封

4.3 分层作用

看完了OSI的构成和传输情况,接下来我们来聊一聊每一层的作用吧~

分层

负责内容

物理层

physical

由于网络媒体只能传送0与1这种位串,因此物理层必须定义所使用的媒体设备与电压与讯号等,同时还必须了解数据讯框转成位串的编码方式,最后连接实体媒体并传送/接收位串。

数据链路层

date link

这一层是比较特殊的一个阶层,因为底下是实体的定义,而上层则是软件封装的定义。因此第二层又分为两个子层进行数据的转换动作。

偏硬件媒体部分,主要负责MAC,MAC是网络媒体所能处理的主要数据包裹,这也是最终被物理层编码成位串的数据。目前最长使用的是以太网络协议。

偏向软件的部分则由逻辑连接层控制,主要在多任务处理来自上层的封包数据并转成MAC格式。

网络层

network

本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。

传输层

transport

定义了发送端与接收端的联机技术(如TCP,UDP技术),同时包括该技术的封包格式,数据封包的传送、流程的控制、传输过程的侦测检查与复原重新传送等等,以确保各个资料封包可以正确无误的到达目的端

会话层

session

定义了两个地址之间的联机信道之连接与挂断,此外,亦可建立应用程序之对谈、提供其他加强型服务如网络管理、签到签退、对谈之控制等等。如果说传送层是在判断资料封包是否可以正确的到达目标,那么会谈层则是在确定网络服务建立联机的确认

表示层

presentation

表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。

应用层

application

应用层本身并不属于应用程序所有,而是在定义应用程序如何进入此层的沟通接口,以将数据接收或传送给应用程序,最终展示给用户。

该层常见的网络协议有:http,https,ftp等。

4.4 PDU

PDU(Protocol Data Unit),协议数据单元。是指对等层次之间传递的数据单位。

  •   物理层的PDU是数据位bit
  •   数据链路层的PDU是数据帧frame
  •   网络层的PDU是数据包packet
  •   传输层的PDU是数据段segment
  •   其他更高层次的PDU是消息message

在这里,我们还要提到一点,就是数据帧,由于我们的数据链路层主要负责的就是MAC,我们就以MAC帧的格式为例来说明:

MAC帧包括三部分:帧头、数据部分、帧尾。

帧头包括三个字段,前两个字段分别为6字节长的目的地址字段和源地址字段,第三个字段是2字节的类型字段,里面包含的信息用来标志上一层所使用的协议。

数据部分只有一个字段,其长度在46-1500字节之间,包含的信息是网络层传下来的数据。

帧尾也只有一个字段,为4字节长,包含的信息是帧校验序列FSC(使用CRC循环冗余校验码校验)。

具体如图所示:

五、三种通讯模式

5.1 单播

    网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(Point to Point)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。

5.2 多播

“多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不到区分特定数据接收对象的目的。采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。

5.3 广播

“广播”在网络中的应用较多,如客户机通过DHCP自动获得IP地址的过程就是通过广播来实现的。但是同单播和多播相比,广播几乎占用了子网内网络的所有带宽。拿开会打一个比方吧,在会场上只能有一个人发言,想象一下如果所有的人同时都用麦克风发言,那会场上就会乱成一锅粥。集线器由于其工作原理决定了不可能过滤广播风暴,一般的交换机也没有这一功能,不过现在有的网络交换机(如全向的QS系列交换机)也有过滤广播风暴功能了,路由器本身就有隔离广播风暴的作用。

广播风暴不能完全杜绝,但是只能在同一子网内传播,就好像喇叭的声音只能在同一会场内传播一样,因此在由几百台甚至上千台电脑构成的大中型局域网中,一般进行子网划分,就像将一个大厅用墙壁隔离成许多小厅一样,以达到隔离广播风暴的目的。

在IP网络中,广播地址用IP地址“255.255.255.255”来表示,这个IP地址代表同一子网内所有的IP地址。

5.4 三种通信方式的优缺点

  •   单播

优点:

    (1)服务器及时响应客户机的需求。

(2)服务器针对每个客户不同的请求发送不同的数据,容易实现个性化服务。

缺点:

    (1)服务器针对每个客户机发送数据流,服务器流量=客户机数量x客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。

    (2)现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。

  •   多播(组播)

优点:

(1)需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。

(2)由于组播协议是根据接受者的需要对数据流 进行复制转发,所以服务端的服务总带宽不受客户接收端带宽的限制。IP协议允许有2亿6千多万个组播,所以其提供的服务可以非常丰富。

(3)此协议和淡泊协议一样允许在Internet宽带网上传输。

缺点:

(1)与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制来加以弥补。

(2)现行网络虽然都支持组播的传输,但仍有些方面需要完善,存在的一些缺点在理论上都有成熟的解决方案,只是需要逐步脱光应用到现存的网络当中。

  •    广播

优点:

    (1)网络设备简单,维护简单,布网成本低廉。

    (2)由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。

缺点:

    (1)无法针对每个客户的要求和时间及时提供个性化服务。

(2)网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。无法向众多客户提供更多样化、更加个性化的服务。

(3)广播禁止允许在Internet宽带网上传输。

 


推荐阅读
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文介绍了如何在 macOS 上安装 HL-340 USB 转串口驱动,并提供了详细的步骤和注意事项。包括下载驱动、关闭系统完整性保护、安装驱动以及验证安装的方法。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
author-avatar
wwwmanbj_796_897
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有