精华内容
下载资源
问答
  • 网络基础知识分享

    千人学习 2018-11-14 15:06:05
    本课程主要讲了以下几个方面的基础知识: 1. 对DNS协议及SNMP协议进行了简单的介绍; 2. 对BGP的MED如何使用进行了简单介绍; 3. 对VPC的基础知识进行简单介绍; 4. 对F5设备的基础操作进行了简单介绍; 5. 对IPV6基础...
  • 100 个网络基础知识普及,看完成半个网络高手

    万次阅读 多人点赞 2019-09-23 11:38:54
    1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备...骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。 4)什么是 LAN? LAN 是局域网的缩写。...

    1)什么是链接?

    链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。

    2)OSI 参考模型的层次是什么?

    有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。

    3)什么是骨干网?

    骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。

    4)什么是 LAN?

    LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。

    5)什么是节点?

    节点是指连接发生的点。它可以是作为网络一部分的计算机或设备。为了形成网络连接,需要两个或更多个节点。

    6)什么是路由器?

    路由器可以连接两个或更多网段。这些是在其路由表中存储信息的智能网络设备,例如路径,跳数等。有了这个信息,他们就可以确定数据传输的最佳路径。路由器在 OSI 网络层运行。

    7)什么是点对点链接?

    它是指网络上两台计算机之间的直接连接。除了将电缆连接到两台计算机的 NIC卡之外,点对点连接不需要任何其他网络设备。

    8)什么是匿名 FTP?

    匿名 FTP 是授予用户访问公共服务器中的文件的一种方式。允许访问这些服务器中的数据的用户不需要识别自己,而是以匿名访客身份登录。

    9)什么是子网掩码?

    子网掩码与 IP 地址组合,以识别两个部分:扩展网络地址和主机地址。像 IP 地址一样,子网掩码由 32 位组成。

    10)UTP 电缆允许的最大长度是多少?

    UTP 电缆的单段具有 90 到 100 米的允许长度。这种限制可以通过使用中继器和开关来克服

    11)什么是数据封装?

    数据封装是在通过网络传输信息之前将信息分解成更小的可管理块的过程。在这个过程中,源和目标地址与奇偶校验一起附加到标题中。

    12)描述网络拓扑

    网络拓扑是指计算机网络的布局。它显示了设备和电缆的物理布局,以及它们如何连接到彼此。

    13)什么是 VPN?

    VPN 意味着虚拟专用网络,这种技术允许通过网络(如 Internet)创建安全通道。

    例如,VPN 允许您建立到远程服务器的安全拨号连接。

    14)简要描述 NAT。

    NAT 是网络地址转换。这是一种协议,为公共网络上的多台计算机提供一种方式来共享到 Internet 的单一连接。

    15)OSI 参考模型下网络层的工作是什么?

    网络层负责数据路由,分组交换和网络拥塞控制。路由器在此层下运行。

    16)网络拓扑如何影响您在建立网络时的决策?

    网络拓扑决定了互连设备必须使用什么媒介。它还作为适用于设置的材料,连接器和终端的基础。

    17)什么是 RIP?

    RIP,路由信息协议的简称由路由器用于将数据从一个网络发送到另一个网络。

    它通过将其路由表广播到网络中的所有其他路由器来有效地管理路由数据。它以跳数为单位确定网络距离。

    18)什么是不同的方式来保护计算机网络?

    有几种方法可以做到这一点。在所有计算机上安装可靠和更新的防病毒程序。确保防火墙的设置和配置正确。用户认证也将有很大的帮助。所有这些组合将构成一个高度安全的网络。

    19)什么是 NIC?

    NIC 是网络接口卡(网卡)的缩写。这是连接到 PC 以连接到网络沈北。每个 NIC都有自己的 MAC 地址,用于标识网络上的 PC。

    20)什么是 WAN?

    WAN 代表广域网。它是地理上分散的计算机和设备的互连。它连接位于不同地区和国家/地区的网络。

    21)OSI 物理层的重要性是什么?

    物理层进行从数据位到电信号的转换,反之亦然。这是网络设备和电缆类型的考虑和设置。

    22)TCP/IP 下有多少层?

    有四层:网络层,互联网层,传输层和应用层。

    23)什么是代理服务器,它们如何保护计算机网络?

    代理服务器主要防止外部用户识别内部网络的 IP 地址。不知道正确的 IP 地址,甚至无法识别网络的物理位置。代理服务器可以使外部用户几乎看不到网络。

    24)OSI 会话层的功能是什么?

    该层为网络上的两个设备提供协议和方法,通过举行会话来相互通信。这包括设置会话,管理会话期间的信息交换以及终止会话时的解除过程。

    25)实施容错系统的重要性是什么?有限吗?

    容错系统确保持续的数据可用性。这是通过消除单点故障来实现的。但是,在某些情况下,这种类型的系统将无法保护数据,例如意外删除。

    26)10Base-T 是什么意思?

    10 是指数据传输速率,在这种情况下是 10Mbps。“Base”是指基带。T 表示双绞线,这是用于该网络的电缆。

    27)什么是私有 IP 地址?

    专用 IP 地址被分配用于内部网。这些地址用于内部网络,不能在外部公共网络上路由。这些确保内部网络之间不存在任何冲突,同时私有 IP 地址的范围同样可重复使用于多个内部网络,因为它们不会“看到”彼此。

    28)什么是 NOS?

    NOS 或网络操作系统是专门的软件,其主要任务是向计算机提供网络连接,以便能够与其他计算机和连接的设备进行通信。

    29)什么是 DoS?

    DoS 或拒绝服务攻击是试图阻止用户访问互联网或任何其他网络服务。这种攻击可能有不同的形式,由一群永久者组成。这样做的一个常见方法是使系统服务器过载,使其无法再处理合法流量,并将被强制重置。

    30)什么是 OSI,它在电脑网络中扮演什么角色?

    OSI(开放系统互连)作为数据通信的参考模型。它由 7 层组成,每层定义了网络设备如何相互连接和通信的特定方面。一层可以处理所使用的物理介质,而另一层则指示如何通过网络实际传输数据。

    31)电缆被屏蔽并具有双绞线的目的是什么?

    其主要目的是防止串扰。串扰是电磁干扰或噪声,可能影响通过电缆传输的数据。

    32)地址共享的优点是什么?

    通过使用地址转换而不是路由,地址共享提供了固有的安全性优势。这是因为互联网上的主机只能看到提供地址转换的计算机上的外部接口的公共 IP 地址,而不是内部网络上的私有 IP 地址。

    33)什么是 MAC 地址?

    MAC 或媒介访问控制,可以唯一地标识网络上的设备。它也被称为物理地址或以太网地址。MAC 地址由 6 个字节组成。

    34)在 OSI 参考模型方面,TCP/IP 应用层的等同层或多层是什么?

    TCP/IP 应用层实际上在 OSI 模型上具有三个对等体:会话层,表示层和应用层。

    35)如何识别给定 IP 地址的 IP 类?

    通过查看任何给定 IP 地址的第一个八位字节,您可以识别它是 A 类,B 类还是 C类。如果第一个八位字节以 0 位开头,则该地址为 Class A.如果以位 10 开头,则该地址为 B 类地址。如果从 110 开始,那么它是 C 类网络。

    36)OSPF 的主要目的是什么?

    OSPF 或开放最短路径优先,是使用路由表确定数据交换的最佳路径的链路状态路由协议。

    37)什么是防火墙?

    防火墙用于保护内部网络免受外部攻击。这些外部威胁可能是黑客谁想要窃取数据或计算机病毒,可以立即消除数据。它还可以防止来自外部网络的其他用户访问专用网络。

    38)描述星形拓扑

    星形拓扑由连接到节点的中央集线器组成。这是最简单的设置和维护之一。

    39)什么是网关?

    网关提供两个或多个网段之间的连接。它通常是运行网关软件并提供翻译服务的计算机。该翻译是允许不同系统在网络上通信的关键。

    40)星型拓扑的缺点是什么?

    星形拓扑的一个主要缺点是,一旦中央集线器或交换机被损坏,整个网络就变得不可用了。

    41)什么是 SLIP?

    SLIP 或串行线路接口协议实际上是在 UNIX 早期开发的旧协议。这是用于远程访问的协议之一。

    42)给出一些私有网络地址的例子。

    10.0.0.0,子网掩码为 255.0.0.0

    172.16.0.0,子网掩码为 255.240.0.0

    千人ccie认证交流群463904693

    领取最新CCIE考试题库

    CCIE 认证经验分享千人群:463904693

    192.168.0.0,子网掩码为 255.255.0.0

    43)什么是 tracert?

    Tracert 是一个 Windows 实用程序,可用于跟踪从路由器到目标网络的数据采集的路由。它还显示了在整个传输路由期间采用的跳数。

    44)网络管理员的功能是什么?

    网络管理员有许多责任,可以总结为 3 个关键功能:安装网络,配置网络设置以及网络的维护/故障排除。

    45)描述对等网络的一个缺点。

    当您正在访问由网络上的某个工作站共享的资源时,该工作站的性能会降低。

    46)什么是混合网络?

    混合网络是利用客户端 - 服务器和对等体系结构的网络设置。

    47)什么是 DHCP?

    DHCP 是动态主机配置协议的缩写。其主要任务是自动为网络上的设备分配 IP 地址。它首先检查任何设备尚未占用的下一个可用地址,然后将其分配给网络设备。

    48)ARP 的主要工作是什么?

    ARP 或地址解析协议的主要任务是将已知的 IP 地址映射到 MAC 层地址。

    49)什么是 TCP/IP?

    TCP/IP 是传输控制协议/互联网协议的缩写。这是一组协议层,旨在在不同类型的计算机网络(也称为异构网络)上进行数据交换。

    50)如何使用路由器管理网络?

    路由器内置了控制台,可让您配置不同的设置,如安全和数据记录。您可以为计算机分配限制,例如允许访问的资源,或者可以浏览互联网的某一天的特定时间。

    您甚至可以对整个网络中看不到的网站施加限制。

     

    51)当您希望在不同平台(如 UNIX 系统和 Windows 服务器之间)传输文件时,可以应用什么协议?

    使用 FTP(文件传输协议)在这些不同的服务器之间进行文件传输。这是可能的,因为 FTP 是平台无关的。

    52)默认网关的使用是什么?

    默认网关提供了本地网络连接到外部网络的方法。用于连接外部网络的默认网关通常是外部路由器端口的地址。

    53)保护网络的一种方法是使用密码。什么可以被认为是好的密码?

    良好的密码不仅由字母组成,还包括字母和数字的组合。结合大小写字母的密码比使用所有大写字母或全部小写字母的密码有利。密码必须不能被黑客很容易猜到,比如日期,姓名,收藏夹等等。

    54)UTP 电缆的正确终止率是多少?

    非屏蔽双绞线网线的正常终止是 100 欧姆。

    55)什么是 netstat?

    Netstat 是一个命令行实用程序。它提供有关连接当前 TCP/IP 设置的有用信息。

    56)C 类网络中的网络 ID 数量是多少?

    对于 C 类网络,可用的网络 ID 位数为 21。可能的网络 ID 数目为 2,提高到 21或 2,097,152。每个网络 ID 的主机 ID 数量为 2,增加到 8 减去 2,或 254。

    57)使用长于规定长度的电缆时会发生什么?

    电缆太长会导致信号丢失。这意味着数据传输和接收将受到影响,因为信号长度下降。

    58)什么常见的软件问题可能导致网络缺陷?

    软件相关问题可以是以下任何一种或其组合:

    - 客户端服务器问题

    - 应用程序冲突

    - 配置错误

    - 协议不匹配

    - 安全问题

    - 用户政策和权利问题

    59)什么是 ICMP?

    ICMP 是 Internet 控制消息协议。它为 TCP/IP 协议栈内的协议提供消息传递和通信。这也是管理由 PING 等网络工具使用的错误信息的协议。

    60)什么是 Ping?

    Ping 是一个实用程序,允许您检查网络上的网络设备之间的连接。您可以使用其IP 地址或设备名称(如计算机名称)ping 设备。

    61)什么是点对点(P2P)?

    对等是不在服务器上回复的网络。该网络上的所有 PC 都是单独的工作站。

    62)什么是 DNS?

    DNS 是域名系统。该网络服务的主要功能是为 TCP/IP 地址解析提供主机名。

    63)光纤与其他介质有什么优势?

    光纤的一个主要优点是不太容易受到电气干扰。它还支持更高的带宽,意味着可以发送和接收更多的数据。长距离信号降级也非常小。

    64)集线器和交换机有什么区别?

    集线器充当多端口中继器。然而,随着越来越多的设备连接到它,它将无法有效地管理通过它的流量。交换机提供了一个更好的替代方案,可以提高性能,特别是在所有端口上预期有高流量时。

    65)Windows RRAS 服务支持的不同网络协议是什么?

    支持三种主要的网络协议:NetBEUI,TCP/IP 和 IPX。

    66)A,B 和 C 类网络中的最大网络和主机是什么?

    对于 A 类,有 126 个可能的网络和 16,777,214 个主机

    对于 B 类,有 16,384 个可能的网络和 65,534 个主机

    对于 C 类,有 2,097,152 个可能的网络和 254 个主机

    67)直通电缆的标准颜色顺序是什么?

    橙色/白色,橙色,绿色/白色,蓝色,蓝色/白色,绿色,棕色/白色,棕色。

    68)什么协议落在 TCP/IP 协议栈的应用层之下?

    以下是 TCP/IP 应用层协议:FTP,TFTP,Telnet 和 SMTP。

    69)您需要连接两台电脑进行文件共享。是否可以这样做,而不使用集线器或路由器?

    是的,您可以使用一根电缆将两台计算机连接在一起。在这种情况下可以使用交叉型电缆。在这种设置中,一条电缆的数据传输引脚连接到另一条电缆的数据接收引脚,反之亦然。

    70)什么是 ipconfig?

    Ipconfig 是一个常用于识别网络上计算机的地址信息的实用程序。它可以显示物理地址以及 IP 地址。

    71)直通和交叉电缆有什么区别?

    直通电缆用于将计算机连接到交换机,集线器或路由器。交叉电缆用于将两个类似设备连接在一起,如 PC 到 PC 或集线器到集线器。

    72)什么是客户端/服务器?

    客户端/服务器是一种类型的网络,其中一个或多个计算机充当服务器。服务器提供集中的资源库,如打印机和文件。客户端是指访问服务器的工作站。

    73)描述网络。

    网络是指用于数据通信的计算机和外围设备之间的互连。可以使用有线电缆或通过无线链路进行网络连接。

    74)将 NIC 卡从一台 PC 移动到另一台 PC 时,MAC 地址是否也被转移?

    是的,那是因为 MAC 地址是硬连线到 NIC 电路,而不是 PC。这也意味着当 NIC卡被另一个替换时,PC 可以具有不同的 MAC 地址。

    75)解释聚类支持

    群集支持是指网络操作系统在容错组中连接多台服务器的能力。这样做的主要目的是在一台服务器发生故障的情况下,集群中的下一个服务器将继续进行所有处理。

    76)在包含两个服务器和二十个工作站的网络中,安装防病毒程序的最佳位置是哪里?

    必须在所有服务器和工作站上安装防病毒程序,以确保保护。这是因为个人用户可以访问任何工作站,并在插入可移动硬盘驱动器或闪存驱动器时引入计算机病毒。

    77)描述以太网。

    以太网是当今使用的流行网络技术之一。它是在 20 世纪 70 年代初开发的,并且基于 IEEE 中规定的规范。以太网在局域网中使用。

    78)实现环形拓扑有什么缺点?

    如果网络上的一个工作站发生故障,可能会导致整个网络丢失。另一个缺点是,当需要在网络的特定部分进行调整和重新配置时,整个网络也必须被暂时关闭。

    79)CSMA/CD 和 CSMA/CA 有什么区别?

    CSMA/CD 或碰撞检测,每当碰撞发生时重新发送数据帧。CSMA/CA 或碰撞避免,将首先在数据传输之前广播意图发送。

    80)什么是 SMTP?

    SMTP 是简单邮件传输协议的缩写。该协议处理所有内部邮件,并在 TCP/IP 协议栈上提供必要的邮件传递服务。

    81)什么是组播路由?

    组播路由是一种有针对性的广播形式,将消息发送到所选择的用户组,而不是将其发送到子网上的所有用户。

    82)加密在网络上的重要性是什么?

    加密是将信息转换成用户不可读的代码的过程。然后使用秘密密钥或密码将其翻译或解密回其正常可读格式。加密有助于确保中途截获的信息仍然不可读,因为用户必须具有正确的密码或密钥。

    83)如何安排和显示 IP 地址?

    IP 地址显示为一系列由周期或点分隔的四位十进制数字。这种安排的另一个术语是点分十进制格式。一个例子是 192.168.101.2

    84)解释认证的重要性。

    认证是在用户登录网络之前验证用户凭据的过程。它通常使用用户名和密码进行。这提供了限制来自网络上的有害入侵者的访问的安全手段。

    85)隧道模式是什么意思?

    这是一种数据交换模式,其中两个通信计算机本身不使用 IPSec。相反,将 LAN连接到中转网络的网关创建了一个使用 IPSec 协议来保护通过它的所有通信的虚拟隧道。

    86)建立 WAN 链路涉及的不同技术有哪些?

    模拟连接 - 使用常规电话线;数字连接 - 使用数字电话线;交换连接 - 使用发送方和接收方之间的多组链接来移动数据。

    87)网格拓扑的一个优点是什么?

    在一个链接失败的情况下,总会有另一个链接可用。网状拓扑实际上是最容错的网络拓扑之一。

    88)在排除计算机网络问题时,可能会发生什么常见的硬件相关问题?

    大部分网络由硬件组成。这些领域的问题可能包括硬盘故障,NIC 损坏甚至硬件启动。不正确的硬件配置也是其中一个疑难问题。

    89)可以做什么来修复信号衰减问题?

    处理这种问题的常见方法是使用中继器和集线器,因为它将有助于重新生成信号,从而防止信号丢失。检查电缆是否正确终止也是必须的。

    90)动态主机配置协议如何协助网络管理?

    网络管理员不必访问每台客户端计算机来配置静态 IP 地址,而是可以应用动态主机配置协议来创建称为可以动态分配给客户端的范围的 IP 地址池。

    91)解释网络概念的概况?

    配置文件是为每个用户设置的配置设置。例如,可以创建将用户置于组中的配置文件。

    92)什么是 Sneakernet?

    Sneakernet 被认为是最早的联网形式,其中使用可移动介质(如磁盘,磁带)物理传输数据。

    93)IEEE 在计算机网络中的作用是什么?

    IEEE 或电气和电子工程师学会是由电气和电子设备标准发布和管理的工程师组成的组织。这包括网络设备,网络接口,cablings 和连接器。

    94)TCP/IP Internet 层下有哪些协议?

    该层管理的协议有 4 种。这些是 ICMP,IGMP,IP 和 ARP。

    95)谈到网络,什么是权限?

    权限是指在网络上执行特定操作的授权许可。网络上的每个用户可以分配个人权限,具体取决于该用户必须允许的内容。

    96)建立 VLAN 的一个基本要求是什么?

    需要一个 VLAN,因为在交换机级别只有一个广播域,这意味着每当新用户连接时,该信息都会传播到整个网络。交换机上的 VLAN 有助于在交换机级别创建单独的广播域。它用于安全目的。

    97)什么是 IPv6?

    IPv6 或 Internet 协议版本 6 被开发以替代 IPv4。目前,IPv4 正在用于控制互联网流量,但 IPv4 已经饱和。IPv6 能够克服这个限制。

    98)什么是 RSA 算法?

    RSA 是 Rivest-Shamir-Adleman 算法的缩写。它是目前最常用的公钥加密算法。

    99)什么是网格拓扑?

    网格拓扑是一种设置,其中每个设备都直接连接到网络上的每个其他设备。因此,它要求每个设备具有至少两个网络连接。

    100)100Base-FX 网络的最大段长度是多少?

    使用 100Base-FX 的网段的最大允许长度为 412 米。整个网络的最大长度为 5 公里。

    来源:IT大咖说

     

    往期文章精选

    周杰伦新歌《说好不哭》上线,程序员哭了......

    如果让你手写个栈和队列,你还会写吗?

    挑战10个最难的Java面试题(附答案)【上】

    javascript基础修炼(13)——记一道有趣的JS脑洞练习题

    【我的物联网成长记3】如何开发物联网应用?

    展开全文
  • Muduo is a multithreaded C++ network library ...muduo网络库是C++语言开发的一个非常优秀的网络库,作者陈硕,muduo网络库在多线程环境下性能非常高,该系列文章会分享一些muduo库源码的知识,包括它的线程池源码...

    Muduo is a multithreaded C++ network library based on the reactor pattern.
    muduo库的介绍就是:一个基于reactor反应堆模型的多线程C++网络库

    muduo网络库是C++语言开发的一个非常优秀的网络库,作者陈硕,muduo网络库在多线程环境下性能非常高,该系列文章会分享一些muduo库源码的知识,包括它的线程池源码,TcpServer源码,还有很多muduo库应用的示例代码等,学习一下作者优秀的C++多线程网络编程设计思想。

    muduo库源码github仓库地址
    https://github.com/chenshuo/muduo
    本文所使用muduo库源码云盘下载地址
    链接:https://pan.baidu.com/s/1Rqrnz8NY6UOiFemYQv-63Q 提取码:8nio

    这篇文章主要讲Linux平台下muduo网络库的源码编译安装,用来开发网络高并发程序。

    【注意】:muduo库是基于boost开发的,所以需要先在Linux平台上安装boost库,安装过程参考我的另一篇博客:https://blog.csdn.net/QIANGWEIYUAN/article/details/88792874

    1.拷贝muduo的源码压缩包muduo-master.zip到Linux系统下

    root@tony-virtual-machine:/home/tony/package# ls
    muduo-master.zip
    root@tony-virtual-machine:/home/tony/package# unzip muduo-master.zip
    

    解压完成后,进入muduo库的解压目录里面

    root@tony-virtual-machine:/home/tony/package# ls
    muduo-master  muduo-master.zip
    root@tony-virtual-machine:/home/tony/package# cd muduo-master
    root@tony-virtual-machine:/home/tony/package/muduo-master# ls
    armlinux.diff  build.sh   clang.diff      Doxyfile  License      muduo         README
    backport.diff  ChangeLog  CMakeLists.txt  examples  MacOSX.diff  premake4.lua  TODO
    

    注意,muduo库源码编译会编译很多unit_test测试用例代码,编译耗时长,我们也用不到,vim编辑上面源码目录里面的CMakeLists.txt文件,如下修改:
    在这里插入图片描述
    保存并退出,继续下面的步骤。

    2.看到有一个build.sh源码编译构建程序,运行该程序(注意:muduo是用cmake来构建的,需要先安装cmake,ubuntu下直接sudo apt-get install cmake就可以,redhat或者centos可以从yum仓库直接安装):

    拿ubuntu举例,如果没有安装cmake,执行下面的命令安装cmake:

    root@tony-virtual-machine:/home/tony/package/muduo-master# apt-get install cmake
    

    然后执行build.sh程序:

    root@tony-virtual-machine:/home/tony/package/muduo-master# ./build.sh
    

    最终100%编译完成:
    在这里插入图片描述

    3.编译完成后,在输入./build.sh install命令进行muduo库安装

    root@tony-virtual-machine:/home/tony/package/muduo-master# ./build.sh install
    

    这个./build.sh install实际上把muduo的头文件和lib库文件放到了muduo-master同级目录下的build目录下的release-install-cpp11文件夹下面了:

    root@tony-virtual-machine:/home/tony/package# ls
    build  muduo-master  muduo-master.zip
    root@tony-virtual-machine:/home/tony/package# cd build/
    root@tony-virtual-machine:/home/tony/package/build# ls
    release-cpp11  release-install-cpp11
    root@tony-virtual-machine:/home/tony/package/build# cd release-install-cpp11/
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11# ls
    include  lib
    
    

    所以上面的install命令并没有把它们拷贝到系统路径下,导致我们每次编译程序都需要指定muduo库的头文件和库文件路径,很麻烦,所以我们选择直接把inlcude(头文件)和lib(库文件)目录下的文件拷贝到系统目录下:

    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11# ls
    include  lib
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11# cd include/
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11/include# ls
    muduo
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11/include# mv muduo/ /usr/include/
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11/include# cd ..
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11# ls
    include  lib
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11# cd lib/
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11/lib# ls
    libmuduo_base.a  libmuduo_http.a  libmuduo_inspect.a  libmuduo_net.a
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11/lib# mv * /usr/local/lib/
    root@tony-virtual-machine:/home/tony/package/build/release-install-cpp11/lib# 
    
    

    拷贝完成以后使用muduo库编写C++网络程序,不用在指定头文件和lib库文件路径信息了,因为g++会自动从/usr/include和/usr/local/lib路径下寻找所需要的文件。

    4.写测试代码,测试muduo是否能够正常使用,如下:
    把muduo库的头文件和lib库文件拷贝完成以后,使用muduo库编写一个简单的echo回显服务器,测试muduo库是否可以正常使用,代码如下:

    #include <muduo/net/TcpServer.h>
    #include <muduo/base/Logging.h>
    #include <boost/bind.hpp>
    #include <muduo/net/EventLoop.h>
    
    // 使用muduo开发回显服务器
    class EchoServer
    {
     public:
      EchoServer(muduo::net::EventLoop* loop,
                 const muduo::net::InetAddress& listenAddr);
    
      void start(); 
    
     private:
      void onConnection(const muduo::net::TcpConnectionPtr& conn);
    
      void onMessage(const muduo::net::TcpConnectionPtr& conn,
                     muduo::net::Buffer* buf,
                     muduo::Timestamp time);
    
      muduo::net::TcpServer server_;
    };
    
    EchoServer::EchoServer(muduo::net::EventLoop* loop,
                           const muduo::net::InetAddress& listenAddr)
      : server_(loop, listenAddr, "EchoServer")
    {
      server_.setConnectionCallback(
          boost::bind(&EchoServer::onConnection, this, _1));
      server_.setMessageCallback(
          boost::bind(&EchoServer::onMessage, this, _1, _2, _3));
    }
    
    void EchoServer::start()
    {
      server_.start();
    }
    
    void EchoServer::onConnection(const muduo::net::TcpConnectionPtr& conn)
    {
      LOG_INFO << "EchoServer - " << conn->peerAddress().toIpPort() << " -> "
               << conn->localAddress().toIpPort() << " is "
               << (conn->connected() ? "UP" : "DOWN");
    }
    
    void EchoServer::onMessage(const muduo::net::TcpConnectionPtr& conn,
                               muduo::net::Buffer* buf,
                               muduo::Timestamp time)
    {
      // 接收到所有的消息,然后回显
      muduo::string msg(buf->retrieveAllAsString());
      LOG_INFO << conn->name() << " echo " << msg.size() << " bytes, "
               << "data received at " << time.toString();
      conn->send(msg);
    }
    
    
    int main()
    {
      LOG_INFO << "pid = " << getpid();
      muduo::net::EventLoop loop;
      muduo::net::InetAddress listenAddr(8888);
      EchoServer server(&loop, listenAddr);
      server.start();
      loop.loop();
    }
    

    使用g++进行编译,注意链接muduo和pthread的库文件,编译命令如下:

    g++ main.cpp -lmuduo_net -lmuduo_base -lpthread -std=c++11
    

    编译链接完成,生成a.out可执行程序,上面的echo服务器监听8888端口,运行上面的a.out回显服务器如下:

    root@tony-virtual-machine:/home/tony/code# ./a.out 
    20190404 08:00:15.254790Z 42660 INFO  pid = 42660 - main.cpp:61
    

    等待客户端连接,可以打开一个新的shell命令行用netcat命令模拟客户端连接echo服务器进行功能测试,命令如下:

    tony@tony-virtual-machine:~$ echo "hello world" | nc localhost 8888
    hello world
    
    

    客户端数据回显正确,看看服务器接日志信息打印如下:

    root@tony-virtual-machine:/home/tony/code# ./a.out 
    20190404 08:00:15.254790Z 42660 INFO  pid = 42660 - main.cpp:61
    20190404 08:00:59.438626Z 42660 INFO  TcpServer::newConnection [EchoServer] - new connection [EchoServer-0.0.0.0:8888#1] from 127.0.0.1:33480 - TcpServer.cc:80
    20190404 08:00:59.438707Z 42660 INFO  EchoServer - 127.0.0.1:33480 -> 127.0.0.1:8888 is UP - main.cpp:42
    20190404 08:00:59.438812Z 42660 INFO  EchoServer-0.0.0.0:8888#1 echo 12 bytes, data received at 1554364859.438723 - main.cpp:53
    
    

    到此,muduo安装成功,能够正常进行C++网络程序开发!

    展开全文
  • 网络安全等级保护网络设备、安全设备知识点汇总 本文主要内容: 防火墙、防毒墙、入侵防御、统一安全威胁网关UTM IPSEC VPN、网闸、SSL VPN、WAF 网络安全审计、数据库安全审计、日志审计、运维安全...

    导读:之前推荐过一篇等级保护安全设备配置方案,那么,这些安全设备都是什么样的设备呢?有什么功能?如何部署?给大家推荐这篇安全设备知识点汇总。

     

    网络安全等级保护网络设备、安全设备知识点汇总

    本文主要内容:

    • 防火墙、防毒墙、入侵防御、统一安全威胁网关UTM

    • IPSEC VPN、网闸、SSL VPN、WAF

    • 网络安全审计、数据库安全审计、日志审计、运维安全审计(堡垒机)

    • 入侵检测(IDS)、上网行为管理、负载均衡

    • 漏洞扫描、异常流量清洗、VPN

     

    1防火墙( Firewall)

     

    定义:相信大家都知道防火墙是干什么用的,我觉得需要特别提醒一下,防火墙抵御的是外部的攻击,并不能对内部的病毒 ( 如ARP病毒 ) 或攻击有什么太大作用。

     

    功能:防火墙的功能主要是两个网络之间做边界防护,企业中更多使用的是企业内网与互联网的NAT、包过滤规则、端口映射等功能。生产网与办公网中做逻辑隔离使用,主要功能是包过滤规则的使用。

     

    部署方式:网关模式、透明模式:

    网关模式是现在用的最多的模式,可以替代路由器并提供更多的功能,适用于各种类型企业透明部署是在不改变现有网络结构的情况下,将防火墙以透明网桥的模式串联到企业的网络中间,通过包过滤规则进行访问控制,做安全域的划分。 

    至于什么时候使用网关模式或者使用透明模式,需要根据自身需要决定,没有绝对的部署方式。需不需要将服务器部署在 DMZ区,取决于服务器的数量、重要性。

    总之怎么部署都是用户自己的选择!

    高可用性:为了保证网络可靠性,现在设备都支持主 - 主、主- 备,等各种部署。

     

    2防毒墙

     

    定义:相对于防毒墙来说,一般都具有防火墙的功能,防御的对象更具有针对性,那就是病毒。

     

    功能:同防火墙,并增加病毒特征库,对数据进行与病毒特征库进行比对,进行查杀病毒。

     

    部署方式:同防火墙,大多数时候使用透明模式部署在防火墙或路由器后或部署在服务器之前,进行病毒防范与查杀。

     

    3入侵防御 (IPS)

     

    定义:相对于防火墙来说,一般都具有防火墙的功能,防御的对象更具有针对性, 那就是攻击。

    防火墙是通过对五元组进行控制,达到包过滤的效果,而入侵防御 IPS,则是将数据包进行检测 (深度包检测 DPI)对蠕虫、病毒、木马、拒绝服务等攻击进行查杀。

     

    功能:同防火墙,并增加 IPS 特征库,对攻击行为进行防御。

     

    部署方式:同防毒墙。

    特别说明一下:防火墙允许符合规则的数据包进行传输,对数据包中是否有病毒代码或攻击代码并不进行检查,而防毒墙和入侵防御则通过更深的对数据包的检查弥补了这一点。

     

    4统一威胁安全网关 (UTM)

     

    定义:简单的理解,把威胁都统一了,其实就是把上面三个设备整合到一起了。

     

    功能:同时具备防火墙、防毒墙、入侵防护三个设备的功能。

     

    部署方式:因为可以代替防火墙功能,所以部署方式同防火墙

    现在大多数厂商,防病毒和入侵防护已经作为防火墙的模块来用,在不考虑硬件性能以及费用的情况下,开启了防病毒模块和入侵防护模块的防火墙,和UTM其实是一样的。至于为什么网络中同时会出现 UTM和防火墙、防病毒、入侵检测同时出现。

    第一,实际需要,在服务器区前部署防毒墙, 防护外网病毒的同时,也可以检测和防护内网用户对服务器的攻击。

    第二,花钱,大家都懂的。

    总之还是那句话,设备部署还是看用户。

     

    5IPSEC VPN

     

    把 IPSECVPN放到网络安全防护里,其实是因为大多数情况下, IPSEC VPN的使用都是通过上述设备来做的,而且通过加密隧道访问网络,本身也是对网络的一种安全防护。

     

    定义:采用 IPSec 协议来实现远程接入的一种 VPN技术,至于什么是 IPSEC 什么是 VPN,小伙伴们请自行百度吧。

     

    功能:通过使用 IPSECVPN使客户端或一个网络与另外一个网络连接起来,多数用在分支机构与总部连接。

     

    部署方式:网关模式、旁路模式

    鉴于网关类设备基本都具备 IPSECVPN功能,所以很多情况下都是直接在网关设备上启用 IPSEC VPN功能,也有个别情况新购买IPSEC VPN设备,在对现有网络没有影响的情况下进行旁路部署,部署后需要对IPSECVPN设备放通安全规则,做端口映射等等。

    也可以使用 windows server 部署 VPN,需要的同学也请自行百度,相比硬件设备,自己部署没有什么花费,但 IPSECVPN受操作系统影响,相比硬件设备稳定性会差一些。

     

    以上设备常见厂家( 不排名啊不排名 )

    JuniperCheck Point Fortinet (飞塔)思科 天融信 山石网科 启明星辰 深信服 绿盟网御星云 网御神州 华赛 梭子鱼 迪普H3C

     

    6网闸

     

    定义:全称安全隔离网闸。安全隔离网闸是一种由带有多种控制功能专用硬件在电路上切断网络之间的链路层连接, 并能够在网络间进行安全适度的应用数据交换的网络安全设备。

     

    功能:主要是在两个网络之间做隔离并需要数据交换,网闸是具有中国特色的产品。

     

    部署方式:两套网络之间

    防火一般在两套网络之间做逻辑隔离,而网闸符合相关要求,可以做物理隔离,阻断网络中 tcp 等协议,使用私有协议进行数据交换,一般企业用的比较少,在对网络要求稍微高一些的单位会用到网闸。

     

    7SSL VPN

    定义:采用 SSL协议的一种 VPN技术,相比 IPSEC VPN使用起来要更加方便,毕竟 SSL VPN使用浏览器即可使用。

     

    功能:随着移动办公的快速发展,SSL VPN的使用也越来越多,除了移动办公使用,通过浏览器登录SSLVPN连接到其他网络也十分方便, IPSEC VPN更倾向网络接入,而 SSL VPN更倾向对应用发布。

     

    部署:SSL VPN的部署一般采用旁路部署方式,在不改变用户网络的状况下实现移动办公等功能。

     

    8WAF (Web Application Firewall) web 应用防护系统

     

    定义:名称就可以看出,WAF的防护方面是 web应用,说白了防护的对象是网站及 B/S 结构的各类系统。

     

    功能:针对 HTTP/HTTPS协议进行分析,对 SQL注入攻击、XSS攻击 Web攻击进行防护,并具备基于 URL 的访问控制; HTTP协议合规;Web敏感信息防护;文件上传下载控制;Web 表单关键字过滤。网页挂马防护,Webshell 防护以及 web应用交付等功能。

     

    部署:通常部署在 web应用服务器前进行防护IPS也能检测出部分web攻击,但没有WAF针对性强,所以根据防护对象不同选用不同设备,效果更好。

     

    9网络安全审计

     

    定义:审计网络方面的相关内容。

     

    功能:针对互联网行为提供有效的行为审计、内容审计、行为报警、行为控制及相关审计功能。

    满足用户对互联网行为审计备案及安全保护措施的要求,提供完整的上网记录,便于信息追踪、系统安全管理和风险防范。

     

    部署:采用旁路部署模式,通过在核心交换机上设置镜像口,将镜像数据发送到审计设备。

     

    10数据库安全审计

     

    定义:数据库安全审计系统主要用于监视并记录对数据库服务器的各类操作行为。

     

    功能:审计对数据库的各类操作,精确到每一条 SQL命令,并有强大的报表功能。

     

    部署:采用旁路部署模式,通过在核心交换机上设置镜像口,将镜像数据发送到审计设备。

     

    11日志审计

     

    定义:集中采集信息系统中的系统安全事件、用户访问记录、系统运行日志、系统运行状态等各类信息,经过规范化、过滤、归并和告警分析等处理后,以统一格式的日志形式进行集中存储和管理,结合丰富的日志统计汇总及关联分析功能,实现对信息系统日志的全面审计。

     

    功能:通过对网络设备、安全设备、主机和应用系统日志进行全面的标准化处理,及时发现各种安全威胁、异常行为事件,为管理人员提供全局的视角,确保客户业务的不间断运营安全部署:旁路模式部署。通常由设备发送日志到审计设备,或在服务器中安装代理,由代理发送日志到审计设备。

     

    12运维安全审计 ( 堡垒机 )

     

    定义:在一个特定的网络环境下, 为了保障网络和数据不受来自内部合法用户的不合规操作带来的系统损坏和数据泄露,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、记录、分析、处理的一种技术手段。

     

    功能:主要是针对运维人员维护过程的全面跟踪、 控制、记录、回放,以帮助内控工作事前规划预防、事中实时监控、违规行为响应、事后合规报告、事故追踪回放。

     

    部署:旁路模式部署。使用防火墙对服务器访问权限进行限制,只能通过堡垒机对网络设备/服务器/数据库等系统操作。

    可以看出审计产品最终的目的都是审计,只不过是审计的内容不同而已,根据不同需求选择不同的审计产品,一旦出现攻击、非法操作、违规操作、误操作等行为,对事后处理提供有利证据。

     

    13    入侵检测( IDS)

     

    定义:对入侵攻击行为进行检测

     

    功能:通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析, 从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象

     

    部署:采用旁路部署模式,通过在核心交换机上设置镜像口,将镜像数据发送到入侵检测设备。

    入侵检测虽然是入侵攻击行为检测, 但监控的同时也对攻击和异常数据进行了审计,所以把入侵检测系统也放到了审计里一起介绍。

    入侵检测系统是等保三级中必配设备。

     

    14上网行为管理

     

    定义:顾名思义,就是对上网行为进行管理

     

    功能:对上网用户进行流量管理、上网行为日志进行审计、对应用软件或站点进行阻止或流量限制、关键字过滤等

     

    部署:网关部署、透明部署、旁路部署

    网关部署:中小型企业网络较为简单,可使用上网行为管理作为网关,代替路由器或防火墙并同时具备上网行为管理功能

    透明部署:大多数情况下,企业会选择透明部署模式,将设备部署在网关与核心交换之间,对上网数据进行管理

    旁路部署:仅需要上网行为管理审计功能时,也可选择旁路部署模式,在核心交换机上配置镜像口将数据发送给上网行为管理

    个人觉得上网行为管理应该属于网络优化类产品,流控功能是最重要的功能,随着技术的发展,微信认证、防便携式 wifi 等功能不断完善使之成为了网络管理员的最爱 ~

     

    15负载均衡

     

    定义:将网络或应用多个工作分摊进行并同时完成,一般分为链路负载和应用负载 ( 服务器负载 )

     

    功能:确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群,扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性

     

    部署:旁路模式、网关模式、代理模式

    旁路模式:通常使用负载均衡进行应用负载时,旁路部署在相关应用服务器交换机上,进行应用负载

    网关模式:通常使用链路负载时,使用网关模式部署

    随着各种业务的增加,负载均衡的使用也变得广泛, web应用负载,数据库负载都是比较常见的服务器负载。鉴于国内运营商比较恶心,互联互通问题较为严重,使用链路负载的用户也比越来越多。

     

    16漏洞扫描

     

    定义:漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。

     

    功能:根据自身漏洞库对目标进行脆弱性检测,并生产相关报告,提供漏洞修复意见等。一般企业使用漏洞扫描较少,主要是大型网络及等、分保检测机构使用较多。

     

    部署:旁路部署, 通常旁路部署在核心交换机上, 与检测目标网络可达即可。

     

    17异常流量清洗

     

    定义:看名字吧

     

    功能:对异常流量的牵引、 DDoS流量清洗、 P2P带宽控制、流量回注,也是现有针对 DDOS攻击防护的主要设备

     

    部署:旁路部署

     

    18VPN

     

    定义:VPN ( Virtual Private Network )虚拟专用网络 ,简单的讲就是因为一些特定的需求, 在网络与网络之间,或终端与网络之间建立虚拟的专用网络,通过加密隧道进行数据传输 ( 当然也有不加密的 ) ,因其部署方便且具有一定的安全保障,被广泛运用到各个网络环境中。

     

    VPN分类

    常见的VPN有L2TP VPN 、PPTP VPN、IPSEC、VPN、SSL、VPN以及 MPLS VPN。

    MPLS VPN运营商使用较多,使用场景多为总部与分支机构之间。其他VPN因部署方便,成本较低成为现在使用最为广泛的VPN。

    L2TP VPN与 PPTP VPN因使用的隧道协议都属于二层协议,所以也称为二层 VPN。IPSEC VPN则采用IPSec 协议,属于三层VPN。

    SSLVPN是以 HTTPS协议为基础 VPN技术,使用维护简单安全,成为 VPN技术中的佼佼者

     

    VPN部署与实现方式及应用场景介绍

    1、部署模式主要采用网关模式和旁路模式部署两种,使用专业VPN硬件设备建立VPN时多为旁路部署模式, 对现有网络不需要改动, 即使 VPN设备出现问题也不会影响现有网络。使用防火墙 / 路由器自带VPN功能建立 VPN时, 随其硬件部署模式部署。

    2、实现方式主要有以下几种 :

    (1) 通过使用专业 VPN软件来建立VPN

    优点 : 投入较少,部署比较灵活

    缺点 : 稳定性受服务器硬件、操作系统等因素影响

    (2) 通过使用服务器自行架设 VPN服务器建立 VPN,windows 服务器为主

    优点 : 投入较少,部署比较灵活, windows 系统自带

    缺点 : 稳定性受服务器硬件、操作系统等因素影响,需自行配置

    (3) 通过使用防火墙 / 路由器设备自带 VPN功能建立 VPN。

    优点 : 投入较少,稳定性好

    缺点 : 因使用现有设备自带 VPN模块,对 VPN访问量较大的需求不建议使用,以免出现设备性能不足影响防火墙 / 路由器使用。作为现有设备的自带模块,无法满足用户特殊要求。部署方式相对固定

    (4) 通过使用专业的 VPN硬件设备建立 VPN。

    优点 : 产品成熟适用于各种 VPN场景应用,功能强大,性能稳定。

    缺点 : 比较花钱 ~~~~~硬件设备需要花钱, 用户授权需要花钱, 反正啥都需要花钱

    3、让更多人纠结的应该是在何场景下选择哪种方式来建立VPN,根据本人工作经验为大家介绍一些常见的 VPN应用场景。

    场景一 总部与分支机构互联

    大型企业总部与分支结构通常使用 MPLS VPN进行互联,相对于大型企业中小型企业则选择使用投入较低的 IPSECVPN进行互联。

    例如 : 某大型超配 ( 超市配送 ) 企业,总部与自营大型超市之间使用MPLS VPN进行数据传输,总部与自营小型超市则使用 IPSEC VPN进行数据传输。根据各超市数据传输需要选择不同的 vpn 技术相结合使用,节约投入成本的同时最大限度的满足与总部的数据传输。

    场景二 移动办公

    网管远程维护设备、 员工访问内网资源、 老总出差电子签批等移动办公已成为企业信息化建设的重要组成部分,同时也为VPN市场带来了巨大商机。 SSL VPN因其使用维护方便成为了移动办公的不二之选,打开浏览器即可使用。在没有 SSLVPN条件下,网管进行设备远程维护则通常使用 L2TP VPN或 PPTP VPN。

    场景三 远程应用发布

    SSLVPN中的功能,主要针对需要安装客户端的 C/S服务访问需求,手机和平板因屏幕大小、鼠标、键盘使用等因素体验感欠佳。特定场景下 PC访问效果较好。

    例如 : 某公司财务部门对使用的财务软件做远程应用发布,其他用户无需安装财务软件客户端也可以方便使用。

    场景四 手机APP与 VPN结合

    随着手机的普及,大家都希望通过手机能解决很多工作中的问题,手机 APP解决了远程应用发布中存在的一些使用问题, 但考虑到安全方面的问题,用户希望通过手机 APP与 VPN技术相结合,方便使用的同时也降低了安全风险。

    例如 : 某集团 OA手机 APP,直接通过互联网地址映射访问存在一定安全隐患,配合 VPN技术使用,先将手机与集团建立 VPN隧道,再通过APP访问集团内部 OA APP服务器。

    最后做一个的总结 : 究竟使用哪一种 VPN技术来满足用户的需求,还是要根据用户业务需求来考虑,所以希望大家要对相关业务有一个初步的了解, 对症下药。 还有一些如 VPDN、DMVPN等内容没有。

    (来源:SPOTO思博网络)

    展开全文
  • 网络基础知识培训PPT

    2018-12-06 14:41:10
    本人用于公司内部网络基础知识培训的PPT,供大家分享
  • 计算机网络基础知识总结

    万次阅读 多人点赞 2020-10-20 07:40:54
    如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代。随着使用计算机人数的不断增加,计算机也经历了一系列的发展,从大型通用计算机 -> 超级计算机 -> 小型机 -> ...

    我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star
    https://github.com/crisxuan/bestJavaer

    computer network1001

    如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代。随着使用计算机人数的不断增加,计算机也经历了一系列的发展,从大型通用计算机 -> 超级计算机 -> 小型机 -> 个人电脑 -> 工作站 -> 便携式电脑 -> 智能手机终端等都是这一过程的产物。计算机网络也逐渐从独立模式演变为了 网络互联模式

    computer network1002

    可以看到,在独立模式下,每个人都需要排队等待其他人在一个机器上完成工作后,其他用户才能使用。这样的数据是单独管理的。

    computer network1003

    现在切换到了网络互联模式,在这种模式下,每个人都能独立的使用计算机,甚至还会有一个服务器,来为老大哥、cxuan 和 sonsong 提供服务。这样的数据是集中管理的。

    计算机网络按规模进行划分,有 WAN(Wide Area Network, 广域网)LAN(Local area Network, 局域网)。如下图所示

    computer network1004

    上面是局域网,一般用在狭小区域内的网络,一个社区、一栋楼、办公室经常使用局域网。

    computer network1005

    距离较远的地方组成的网络一般是广域网。

    最初,只是固定的几台计算机相连在一起形成计算机网络。这种网络一般是私有的,这几台计算机之外的计算机无法访问。随着时代的发展,人们开始尝试在私有网络上搭建更大的私有网络,逐渐又发展演变为互联网,现在我们每个人几乎都能够享有互联网带来的便利。

    计算机网络发展历程

    批处理

    就和早期的计算机操作系统一样,最开始都要先经历批处理(atch Processing)阶段,批处理的目的也是为了能让更多的人使用计算机。

    批处理就是事先将数据装入卡带或者磁带,并且由计算机按照一定的顺序进行读入。

    computer network1006

    当时这种计算机的价格比较昂贵,并不是每个人都能够使用的,这也就客观暗示着,只有专门的操作员才能使用计算机,用户把程序提交给操作员,由操作员排队执行程序,等一段时间后,用户再来提取结果。

    这种计算机的高效性并没有很好的体现,甚至不如手动运算快。

    分时系统

    在批处理之后出现的就是分时系统了,分时系统指的是多个终端与同一个计算机连接,允许多个用户同时使用一台计算机。分时系统的出现实现了一人一机的目的,让用户感觉像是自己在使用计算机,实际上这是一种 独占性 的特性。

    computer network1007

    分时系统出现以来,计算机的可用性得到了极大的改善。分时系统的出现意味着计算机越来越贴近我们的生活。

    还有一点需要注意:分时系统的出现促进了像是 BASIC 这种人机交互语言的诞生。

    分时系统的出现,同时促进者计算机网络的出现。

    计算机通信

    在分时系统中,每个终端与计算机相连,这种独占性的方式并不是计算机之间的通信,因为每个人还是在独立的使用计算机。

    到了 20 世纪 70 年代,计算机性能有了高速发展,同时体积也变得越来越小,使用计算机的门槛变得更低,越来越多的用户可以使用计算机。

    没有一个计算机是信息孤岛促使着计算机网络的出现和发展。

    计算机网络的诞生

    20 世纪 80 年代,一种能够互连多种计算机的网络随之诞生。它能够让各式各样的计算机相连,从大型的超级计算机或主机到小型电脑。

    20 世纪 90 年代,真正实现了一人一机的环境,但是这种环境的搭建仍然价格不菲。与此同时,诸如电子邮件(E-mail)万维网(WWW,World Wide Web) 等信息传播方式如雨后春笋般迎来了前所未有的发展,使得互联网从大到整个公司小到每个家庭内部,都得以广泛普及。

    计算机网络的高速发展

    现如今,越来越多的终端设备接入互联网,使互联网经历了前所未有的高潮,近年来 3G、4G、5G 通信技术的发展更是互联网高速发展的产物。

    许多发展道路各不相同的网络技术也都正在向互联网靠拢。例如,曾经一直作为通信基础设施、支撑通信网络的电话网。随着互联网的发展,其地位也随着时间的推移被 IP(Internet Protocol) 网所取代,IP 也是互联网发展的产物。

    computer network1008

    网络安全

    正如互联网也具有两面性,互联网的出现方便了用户,同时也方便了一些不法分子。互联网的便捷也带来了一些负面影响,计算机病毒的侵害、信息泄漏、网络诈骗层出不穷。

    在现实生活中,通常情况下我们挨揍了会予以反击,但是在互联网中,你被不法分子攻击通常情况下是无力还击的,只能防御,因为还击需要你精通计算机和互联网,这通常情况下很多人办不到。

    通常情况下公司和企业容易被作为不法分子获利的对象,所以,作为公司或者企业,要想不受攻击或者防御攻击,需要建立安全的互联网连接。

    互联网协议

    协议这个名词不仅局限于互联网范畴,也体现在日常生活中,比如情侣双方约定好在哪个地点吃饭,这个约定也是一种协议,比如你应聘成功了,企业会和你签订劳动合同,这种双方的雇佣关系也是一种 协议。注意自己一个人对自己的约定不能成为协议,协议的前提条件必须是多人约定。

    那么网络协议是什么呢?

    网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议

    没有网络协议的互联网是混乱的,就和人类社会一样,人不能想怎么样就怎么样,你的行为约束是受到法律的约束的;那么互联网中的端系统也不能自己想发什么发什么,也是需要受到通信协议约束的。

    我们一般都了解过 HTTP 协议, HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范

    但是互联网又不只有 HTTP 协议,它还有很多其他的比如 IP、TCP、UDP、DNS 协议等。下面是一些协议的汇总和介绍

    网络体系结构协议主要用途
    TCP/IPHTTP、SMTP、TELNET、IP、ICMP、TCP、UDP 等主要用于互联网、局域网
    IPX/SPXIPX、NPC、SPX主要用于个人电脑局域网
    AppleTalkAEP、ADP、DDP苹果公司现有产品互联

    ISO 在制定标准化的 OSI 之前,对网络体系结构相关的问题进行了充分的探讨,最终提出了作为通信协议设计指标的 OSI 参考模型。这一模型将通信协议中必要的功能分为了 7 层。通过这 7 层分层,使那些比较复杂的协议简单化。

    computer network1009

    在 OSI 标准模型中,每一层协议都接收由它下一层所提供的特定服务,并且负责为上一层提供服务,上层协议和下层协议之间通常会开放 接口,同一层之间的交互所遵守的约定叫做 协议

    OSI 标准模型

    上图只是简单的介绍了一下层与层之间的通信规范和上层与下层的通信规范,并未介绍具体的网络协议分层,实际上,OSI 标准模型将复杂的协议整理并分为了易于理解的 7 层。如下图所示

    computer network1010

    互联网的通信协议都对应了 7 层中的某一层,通过这一点,可以了解协议在整个网络模型中的作用,一般来说,各个分层的主要作用如下

    computer network1011
    • 应用层:应用层是 OSI 标准模型的最顶层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。包括文件传输、电子邮件远程登录和远端接口调用等协议。
    • 表示层: 表示层向上对应用进程服务,向下接收会话层提供的服务,表示层位于 OSI 标准模型的第六层,表示层的主要作用就是将设备的固有数据格式转换为网络标准传输格式。
    • 会话层:会话层位于 OSI 标准模型的第五层,它是建立在传输层之上,利用传输层提供的服务建立和维持会话。
    • 传输层:传输层位于 OSI 标准模型的第四层,它在整个 OSI 标准模型中起到了至关重要的作用。传输层涉及到两个节点之间的数据传输,向上层提供可靠的数据传输服务。传输层的服务一般要经历传输连接建立阶段,数据传输阶段,传输连接释放阶段 3 个阶段才算完成一个完整的服务过程。
    • 网络层:网络层位于 OSI 标准模型的第三层,它位于传输层和数据链路层的中间,将数据设法从源端经过若干个中间节点传送到另一端,从而向运输层提供最基本的端到端的数据传送服务。
    • 数据链路层:数据链路层位于物理层和网络层中间,数据链路层定义了在单个链路上如何传输数据。
    • 物理层:物理层是 OSI 标准模型中最低的一层,物理层是整个 OSI 协议的基础,就如同房屋的地基一样,物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

    TCP/IP 协议簇

    TCP/IP 协议是我们程序员接触最多的协议,实际上,TCP/IP 又被称为 TCP/IP 协议簇,它并不特指单纯的 TCP 和 IP 协议,而是容纳了许许多多的网络协议。

    OSI 模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了四个层次

    computer network1012

    和 OSI 七层网络协议的主要区别如下

    • 应用层、表示层、会话层三个层次提供的服务相差不是很大,所以在 TCP/IP 协议中,它们被合并为应用层一个层次。
    • 由于数据链路层和物理层的内容很相似,所以在 TCP/IP 协议中它们被归并在网络接口层一个层次里。

    我们的主要研究对象就是 TCP/IP 的四层协议。

    下面 cxuan 和你聊一聊 TCP/IP 协议簇中都有哪些具体的协议

    IP 协议

    IP 是 互联网协议(Internet Protocol) ,位于网络层。IP是整个 TCP/IP 协议族的核心,也是构成互联网的基础。IP 能够为运输层提供数据分发,同时也能够组装数据供运输层使用。它将多个单个网络连接成为一个互联网,这样能够提高网络的可扩展性,实现大规模的网络互联。二是分割顶层网络和底层网络之间的耦合关系。

    ICMP 协议

    ICMP 协议是 Internet Control Message Protocol, ICMP 协议主要用于在 IP 主机、路由器之间传递控制消息。ICMP 属于网络层的协议,当遇到 IP 无法访问目标、IP 路由器无法按照当前传输速率转发数据包时,会自动发送 ICMP 消息,从这个角度来说,ICMP 协议可以看作是 错误侦测与回报机制,让我们检查网络状况、也能够确保连线的准确性。

    ARP 协议

    ARP 协议是 地址解析协议,即 Address Resolution Protocol,它能够根据 IP 地址获取物理地址。主机发送信息时会将包含目标 IP 的 ARP 请求广播到局域网络上的所有主机,并接受返回消息,以此来确定物理地址。收到消息后的物理地址和 IP 地址会在 ARP 中缓存一段时间,下次查询的时候直接从 ARP 中查询即可。

    TCP 协议

    TCP 就是 传输控制协议,也就是 Transmission Control Protocol,它是一种面向连接的、可靠的、基于字节流的传输协议,TCP 协议位于传输层,TCP 协议是 TCP/IP 协议簇中的核心协议,它最大的特点就是提供可靠的数据交付。

    TCP 的主要特点有 慢启动、拥塞控制、快速重传、可恢复

    UDP 协议

    UDP 协议就是 用户数据报协议,也就是 User Datagram Protocol,UDP 也是一种传输层的协议,与 TCP 相比,UDP 提供一种不可靠的数据交付,也就是说,UDP 协议不保证数据是否到达目标节点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 是一种无连接的协议,传输数据之前源端和终端无需建立连接,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序等现象。但是 UDP 具有较好的实时性,工作效率较 TCP 协议高。

    FTP 协议

    FTP 协议是 文件传输协议,英文全称是 File Transfer Protocol,应用层协议之一,是 TCP/IP 协议的重要组成之一,FTP 协议分为服务器和客户端两部分,FTP 服务器用来存储文件,FTP 客户端用来访问 FTP 服务器上的文件,FTP 的传输效率比较高,所以一般使用 FTP 来传输大文件。

    DNS 协议

    DNS 协议是 域名系统协议,英文全称是 Domain Name System,它也是应用层的协议之一,DNS 协议是一个将域名和 IP 相互映射的分布式数据库系统。DNS 缓存能够加快网络资源的访问。

    SMTP 协议

    SMTP 协议是 简单邮件传输协议,英文全称是 Simple Mail Transfer Protocol,应用层协议之一,SMTP 主要是用作邮件收发协议,SMTP 服务器是遵循 SMTP 协议的发送邮件服务器,用来发送或中转用户发出的电子邮件

    SLIP 协议

    SLIP 协议是指串行线路网际协议(Serial Line Internet Protocol),是在串行通信线路上支持 TCP/IP 协议的一种点对点(Point-to-Point)式的链路层通信协议。

    PPP 协议

    PPP 协议是 Point to Point Protocol,即点对点协议,是一种链路层协议,是在为同等单元之间传输数据包而设计的。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

    网络核心概念

    传输方式

    网络根据传输方式可以进行分类,一般分成两种 面向连接型和面向无连接型

    • 面向连接型中,在发送数据之前,需要在主机之间建立一条通信线路。
    • 面向无连接型则不要求建立和断开连接,发送方可用于任何时候发送数据。接收端也不知道自己何时从哪里接收到数据。

    分组交换

    在互联网应用中,每个终端系统都可以彼此交换信息,这种信息也被称为 报文(Message),报文是一个集大成者,它可以包括你想要的任何东西,比如文字、数据、电子邮件、音频、视频等。为了从源目的地向端系统发送报文,需要把长报文切分为一个个小的数据块,这种数据块称为分组(Packets),也就是说,报文是由一个个小块的分组组成。在端系统和目的地之间,每个分组都要经过通信链路(communication links)分组交换机(switch packets) ,分组要在端系统之间交互需要经过一定的时间,如果两个端系统之间需要交互的分组为 L 比特,链路的传输速率问 R 比特/秒,那么传输时间就是 L / R秒。

    一个端系统需要经过交换机给其他端系统发送分组,当分组到达交换机时,交换机就能够直接进行转发吗?不是的,交换机可没有这么无私,你想让我帮你转发分组?好,首先你需要先把整个分组数据都给我,我再考虑给你发送的问题,这就是存储转发传输

    存储转发传输

    存储转发传输指的就是交换机再转发分组的第一个比特前,必须要接受到整个分组,下面是一个存储转发传输的示意图,可以从图中窥出端倪

    computer network1013

    由图可以看出,分组 1、2、3 向交换器进行分组传输,并且交换机已经收到了分组1 发送的比特,此时交换机会直接进行转发吗?答案是不会的,交换机会把你的分组先缓存在本地。这就和考试作弊一样,一个学霸要经过学渣 A 给学渣 B 传答案,学渣 A 说,学渣 A 在收到答案后,它可能直接把卷子传过去吗?学渣A 说,等我先把答案抄完(保存功能)后再把卷子给你。

    排队时延和分组丢失

    什么?你认为交换机只能和一条通信链路进行相连?那你就大错特错了,这可是交换机啊,怎么可能只有一条通信链路呢?

    所以我相信你一定能想到这个问题,多个端系统同时给交换器发送分组,一定存在顺序到达排队的问题。事实上,对于每条相连的链路,该分组交换机会有一个输出缓存(output buffer)输出队列(output queue) 与之对应,它用于存储路由器准备发往每条链路的分组。如果到达的分组发现路由器正在接收其他分组,那么新到达的分组就会在输出队列中进行排队,这种等待分组转发所耗费的时间也被称为 排队时延,上面提到分组交换器在转发分组时会进行等待,这种等待被称为 存储转发时延,所以我们现在了解到的有两种时延,但是其实是有四种时延。这些时延不是一成不变的,其变化程序取决于网络的拥塞程度。

    因为队列是有容量限制的,当多条链路同时发送分组导致输出缓存无法接受超额的分组后,这些分组会丢失,这种情况被称为 丢包(packet loss),到达的分组或者已排队的分组将会被丢弃。

    下图说明了一个简单的分组交换网络

    computer network1014

    在上图中,分组由三位数据平板展示,平板的宽度表示着分组数据的大小。所有的分组都有相同的宽度,因此也就有相同的数据包大小。下面来一个情景模拟: 假定主机 A 和 主机 B 要向主机 E 发送分组,主机 A 和 B 首先通过100 Mbps以太网链路将其数据包发送到第一台路由器,然后路由器将这些数据包定向到15 Mbps 的链路。如果在较短的时间间隔内,数据包到达路由器的速率(转换为每秒比特数)超过15 Mbps,则在数据包在链路输出缓冲区中排队之前,路由器上会发生拥塞,然后再传输到链路上。例如,如果主机 A 和主机 B 背靠背同时发了5包数据,那么这些数据包中的大多数将花费一些时间在队列中等待。实际上,这种情况与许多普通情况完全相似,例如,当我们排队等候银行出纳员或在收费站前等候时。

    转发表和路由器选择协议

    我们刚刚讲过,路由器和多个通信线路进行相连,如果每条通信链路同时发送分组的话,可能会造成排队和丢包的情况,然后分组在队列中等待发送,现在我就有一个问题问你,队列中的分组发向哪里?这是由什么机制决定的?

    换个角度想问题,路由的作用是什么?把不同端系统中的数据包进行存储和转发 。在因特网中,每个端系统都会有一个 IP 地址,当原主机发送一个分组时,在分组的首部都会加上原主机的 IP 地址。每一台路由器都会有一个 转发表(forwarding table),当一个分组到达路由器后,路由器会检查分组的目的地址的一部分,并用目的地址搜索转发表,以找出适当的传送链路,然后映射成为输出链路进行转发。

    那么问题来了,路由器内部是怎样设置转发表的呢?详细的我们后面会讲到,这里只是说个大概,路由器内部也是具有路由选择协议的,用于自动设置转发表。

    电路交换

    在计算机网络中,另一种通过网络链路和路由进行数据传输的另外一种方式就是 电路交换(circuit switching)。电路交换在资源预留上与分组交换不同,什么意思呢?就是分组交换不会预留每次端系统之间交互分组的缓存和链路传输速率,所以每次都会进行排队传输;而电路交换会预留这些信息。一个简单的例子帮助你理解:这就好比有两家餐馆,餐馆 A 需要预定而餐馆 B 不需要预定,对于可以预定的餐馆 A,我们必须先提前与其进行联系,但是当我们到达目的地时,我们能够立刻入座并选菜。而对于不需要预定的那家餐馆来说,你可能不需要提前联系,但是你必须承受到达目的地后需要排队的风险。

    下面显示了一个电路交换网络

    computer network1015

    在这个网络中,4条链路用于4台电路交换机。这些链路中的每一条都有4条电路,因此每条链路能支持4条并行的链接。每台主机都与一台交换机直接相连,当两台主机需要通信时,该网络在两台主机之间创建一条专用的 端到端的链接(end-to-end connection)

    分组交换和电路交换的对比

    分组交换的支持者经常说分组交换不适合实时服务,因为它的端到端时延时不可预测的。而分组交换的支持者却认为分组交换提供了比电路交换更好的带宽共享;它比电路交换更加简单、更有效,实现成本更低。但是现在的趋势更多的是朝着分组交换的方向发展。

    分组交换网的时延、丢包和吞吐量

    因特网可以看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。我们希望在计算机网络中任意两个端系统之间传递数据都不会造成数据丢失,然而这是一个极高的目标,实践中难以达到。所以,在实践中必须要限制端系统之间的 吞吐量 用来控制数据丢失。如果在端系统之间引入时延,也不能保证不会丢失分组问题。所以我们从时延、丢包和吞吐量三个层面来看一下计算机网络

    分组交换中的时延

    计算机网络中的分组从一台主机(源)出发,经过一系列路由器传输,在另一个端系统中结束它的历程。在这整个传输历程中,分组会涉及到四种最主要的时延:节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(total nodal delay)和传播时延(propagation delay)。这四种时延加起来就是 节点总时延(total nodal delay)

    如果用 dproc dqueue dtrans dpop 分别表示处理时延、排队时延、传输时延和传播时延,则节点的总时延由以下公式决定: dnodal = dproc + dqueue + dtrans + dpop。

    时延的类型

    下面是一副典型的时延分布图,让我们从图中进行分析一下不同的时延类型

    computer network1016

    分组由端系统经过通信链路传输到路由器 A,路由器A 检查分组头部以映射出适当的传输链路,并将分组送入该链路。仅当该链路没有其他分组正在传输并且没有其他分组排在该该分组前面时,才能在这条链路上自由的传输该分组。如果该链路当前繁忙或者已经有其他分组排在该分组前面时,新到达的分组将会加入排队。下面我们分开讨论一下这四种时延

    节点处理时延

    节点处理时延分为两部分,第一部分是路由器会检查分组的首部信息;第二部分是决定将分组传输到哪条通信链路所需要的时间。一般高速网络的节点处理时延都在微妙级和更低的数量级。在这种处理时延完成后,分组会发往路由器的转发队列中

    排队时延

    在队列排队转发过程中,分组需要在队列中等待发送,分组在等待发送过程中消耗的时间被称为排队时延。排队时延的长短取决于先于该分组到达正在队列中排队的分组数量。如果该队列是空的,并且当前没有正在传输的分组,那么该分组的排队时延就是 0。如果处于网络高发时段,那么链路中传输的分组比较多,那么分组的排队时延将延长。实际的排队时延也可以到达微秒级。

    传输时延

    队列 是路由器所用的主要的数据结构。队列的特征就是先进先出,先到达食堂的先打饭。传输时延是理论情况下单位时间内的传输比特所消耗的时间。比如分组的长度是 L 比特,R 表示从路由器 A 到路由器 B 的传输速率。那么传输时延就是 L / R 。这是将所有分组推向该链路所需要的时间。正是情况下传输时延通常也在毫秒到微妙级

    传播时延

    从链路的起点到路由器 B 传播所需要的时间就是 传播时延。该比特以该链路的传播速率传播。该传播速率取决于链路的物理介质(双绞线、同轴电缆、光纤)。如果用公式来计算一下的话,该传播时延等于两台路由器之间的距离 / 传播速率。即传播速率是 d/s ,其中 d 是路由器 A 和 路由器 B 之间的距离,s 是该链路的传播速率。

    传输时延和传播时延的比较

    计算机网络中的传输时延和传播时延有时候难以区分,在这里解释一下,传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。而传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的倒数,而与分组长度和链路传输速率无关。从公式也可以看出来,传输时延是 L/R,也就是分组的长度 / 路由器之间传输速率。传播时延的公式是 d/s,也就是路由器之间的距离 / 传播速率。

    排队时延

    在这四种时延中,人们最感兴趣的时延或许就是排队时延了 dqueue。与其他三种时延(dproc、dtrans、dpop)不同的是,排队时延对不同的分组可能是不同的。例如,如果10个分组同时到达某个队列,第一个到达队列的分组没有排队时延,而最后到达的分组却要经受最大的排队时延(需要等待其他九个时延被传输)。

    那么如何描述排队时延呢?或许可以从三个方面来考虑:流量到达队列的速率、链路的传输速率和到达流量的性质。即流量是周期性到达还是突发性到达,如果用 a 表示分组到达队列的平均速率( a 的单位是分组/秒,即 pkt/s)前面说过 R 表示的是传输速率,所以能够从队列中推出比特的速率(以 bps 即 b/s 位单位)。假设所有的分组都是由 L 比特组成的,那么比特到达队列的平均速率是 La bps。那么比率 La/R 被称为流量强度(traffic intensity),如果 La/R > 1,则比特到达队列的平均速率超过从队列传输出去的速率,这种情况下队列趋向于无限增加。所以,设计系统时流量强度不能大于1

    现在考虑 La / R <= 1 时的情况。流量到达的性质将影响排队时延。如果流量是周期性到达的,即每 L / R 秒到达一个分组,则每个分组将到达一个空队列中,不会有排队时延。如果流量是 突发性 到达的,则可能会有很大的平均排队时延。一般可以用下面这幅图表示平均排队时延与流量强度的关系

    computer network1017

    横轴是 La/R 流量强度,纵轴是平均排队时延。

    丢包

    我们在上述的讨论过程中描绘了一个公式那就是 La/R 不能大于1,如果 La/R 大于1,那么到达的排队将会无穷大,而且路由器中的排队队列所容纳的分组是有限的,所以等到路由器队列堆满后,新到达的分组就无法被容纳,导致路由器 丢弃(drop) 该分组,即分组会 丢失(lost)

    计算机网络中的吞吐量

    除了丢包和时延外,衡量计算机另一个至关重要的性能测度是端到端的吞吐量。假如从主机 A 向主机 B 传送一个大文件,那么在任何时刻主机 B 接收到该文件的速率就是 瞬时吞吐量(instantaneous throughput)。如果该文件由 F 比特组成,主机 B 接收到所有 F 比特用去 T 秒,则文件的传送平均吞吐量(average throughput) 是 F / T bps。

    单播、广播、多播和任播

    在网络通信中,可以根据目标地址的数量对通信进行分类,可以分为 单播、广播、多播和任播

    单播(Unicast)

    单播最大的特点就是 1 对 1,早期的固定电话就是单播的一个例子,单播示意图如下

    computer network1018

    广播(Broadcast)

    我们一般小时候经常会跳广播体操,这就是广播的一个事例,主机和与他连接的所有端系统相连,主机将信号发送给所有的端系统。

    computer network1019

    多播(Multicast)

    多播与广播很类似,也是将消息发送给多个接收主机,不同之处在于多播需要限定在某一组主机作为接收端。

    computer network1020

    任播(Anycast)

    任播是在特定的多台主机中选出一个接收端的通信方式。虽然和多播很相似,但是行为与多播不同,任播是从许多目标机群中选出一台最符合网络条件的主机作为目标主机发送消息。然后被选中的特定主机将返回一个单播信号,然后再与目标主机进行通信。

    computer network1021

    物理媒介

    网络的传输是需要介质的。一个比特数据包从一个端系统开始传输,经过一系列的链路和路由器,从而到达另外一个端系统。这个比特会被转发了很多次,那么这个比特经过传输的过程所跨越的媒介就被称为物理媒介(phhysical medium),物理媒介有很多种,比如双绞铜线、同轴电缆、多模光纤榄、陆地无线电频谱和卫星无线电频谱。其实大致分为两种:引导性媒介和非引导性媒介。

    双绞铜线

    最便宜且最常用的引导性传输媒介就是双绞铜线,多年以来,它一直应用于电话网。从电话机到本地电话交换机的连线超过 99% 都是使用的双绞铜线,例如下面就是双绞铜线的实物图

    computer network1022

    双绞铜线由两根绝缘的铜线组成,每根大约 1cm 粗,以规则的螺旋形状排列,通常许多双绞线捆扎在一起形成电缆,并在双绞馅的外面套上保护层。一对电缆构成了一个通信链路。无屏蔽双绞线一般常用在局域网(LAN)中。

    同轴电缆

    与双绞线类似,同轴电缆也是由两个铜导体组成,下面是实物图

    computer network1023

    借助于这种结构以及特殊的绝缘体和保护层,同轴电缆能够达到较高的传输速率,同轴电缆普遍应用在在电缆电视系统中。同轴电缆常被用户引导型共享媒介。

    光纤

    光纤是一种细而柔软的、能够引导光脉冲的媒介,每个脉冲表示一个比特。一根光纤能够支持极高的比特率,高达数十甚至数百 Gbps。它们不受电磁干扰。光纤是一种引导型物理媒介,下面是光纤的实物图

    computer network1024

    一般长途电话网络全面使用光纤,光纤也广泛应用于因特网的主干。

    陆地无线电信道

    无线电信道承载电磁频谱中的信号。它不需要安装物理线路,并具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力。

    卫星无线电信道

    一颗卫星电信道连接地球上的两个或多个微博发射器/接收器,它们称为地面站。通信中经常使用两类卫星:同步卫星和近地卫星。

    后记

    这是计算机网络的第一篇文章,也是属于基础前置知识,后面会陆续更新计算机网络的内容。

    如果文章还不错,希望小伙伴们可以点赞、在看、留言、分享,这就是最好的白嫖 。

    另外,我输出了 六本 PDF,全集 PDF 如下。

    链接: https://pan.baidu.com/s/1mYAeS9hIhdMFh2rF3FDk0A 密码: p9rs

    展开全文
  • 软考中级网络工程师知识点笔记

    千次阅读 多人点赞 2019-03-30 18:12:10
    软考中级网络工程师知识点笔记 前言 笔者报考了五月份的软考,正在不断学习中,将自己做的笔记分享出来,如果有不足之处希望读者不吝指教,部分图片和习题来源网络,如涉及版权问题请联系删除。 目录(不断更新中) ...
  • AMBA CHI知识分享专题

    千次阅读 多人点赞 2020-01-30 08:22:01
    无聊中,想起可以将去年做的相关ARM CHI协议拿出来梳理下,理清思路,也分享给大家一些个人所得。 CHI协议是AMBA的第五代协议,可以说是ACE协议的进化版,将所有的信息传输采用包packet的形式来完成,packet里分...
  • 异质信息网络知识图谱

    千次阅读 多人点赞 2020-10-31 11:36:00
    最近在研究异质信息网络,发现知识图谱无论是在建模方式还是下游任务都与异质信息网络有很大的相似性。 在这里简单介绍一下知识图谱的相关概念和从网上找来的知识图谱嵌入综述类的文章或者博客进行总结。 比较分析...
  • 网络知识一箩筐:IP地址划分的那些知识点

    千次阅读 多人点赞 2021-03-09 11:18:58
    本节小课将带你一起学习IP地址划分、子网划分、子网掩码、CIDR等网络基础概念,了解IP地址划分背后的那些故事。 首先,回忆一下,前面小课中我们有提到IP地址的分类,那么IP地址到底是怎么划分的呢?划分的依据是...
  • 面试必考的计算机网络知识点梳理

    万次阅读 多人点赞 2017-11-16 00:00:00
    本文来自作者 宋璐 在 GitChat 上分享「如何快速入门网络基础知识(TCP/IP 和 HTTP)」,「阅读原文」查看交流实录 「文末高能」 编辑 | 嘉仔 传输层概 作用:传输层为它上面的应用层提供通信...
  • 知识图谱技术分享会----有关知识图谱构建的部分关键技术,部分ppt以及参考资料
  • 初级JAVA程序员应该掌握的计算机网络知识

    千次阅读 多人点赞 2020-06-16 23:17:33
    计算机网络学习的重要性
  • 首先引入知识管理的含义,自己总结后,描述如下:在系统中建立一个技术相对成熟完善,内容相对公开透明的知识仓库,其中囊括广泛有用的知识和信息,通过大家的习得思考,创造分享,报录完备和存取更新等过程,达到...
  • 网络安全(监测)知识入门

    千次阅读 2017-10-16 16:31:26
    网络安全知识入门近日,因为工作需要,对于网络安全的一些基础的知识做了一些简单的了解,并整理成总结文档以便于学习和分享网络安全的知识体系非常庞大,想要系统的完成学习非简单的几天就可以完成的。所以这篇...
  • 这是之前一次线上活动的待分享内容,因为一些原因,没有成行。在此开放出来,算是对之前关心和关注朋友的一次补偿。这部分内容同时也是系列课程《知识图谱实战开发案例剖析》的学习导论。相关课程已经开放在网易云...
  • 无线网络设备攻防知识总结

    千次阅读 2016-01-03 14:06:02
    无线网络设备攻防知识总结一....任何一台装有无线网卡的PC均可通过AP来分享局域网络甚至局域网的资源。 胖AP:学名是无线路由器。无线路由器与纯AP不同,除无线接入功能外,一般具备WAN、LAN两个接口,
  • 神经网络和机器学习基础入门分享

    万次阅读 2015-11-03 05:16:35
    本文主要讲述了机器学习的一些入门知识以及神经网络的基础概念,同时引入了很多例子进行讲解。 机器学习方法是计算机利用已有的数据(经验),得出了某种模型(迟到的规律),并利用此模型预测未来(是否迟到)的一种方法...
  • 网络安全知识(一)

    万次阅读 2018-10-18 13:52:18
    疯狂在计算机网络中传播,占用网络以及本地计算机资源。 3、非法访问系统进程。主要以黑客病毒为主。通过感染计算机,然后黑客或非法用户获得对已感染机器的控制权。 4、系统瘫痪。 协议的安全性: 在网络通讯中,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 202,780
精华内容 81,112
关键字:

网络知识分享