程序员进阶架构师的基础知识【计算机网络基础】

基本概念

网络互联模型

  1977 年,国际标准化组织为适应网络标准化发展的需求,制定了开放系 统互联参考模型(Open System Interconnection/Reference Model, OSI/RM),从而形成了网络架构的国际标准。OSI/RM 构造了由下到上的七层模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
  互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称 TCP(传输控制协议)/IP(网际协议)。协议族下的各种协议,依其功能不同,被分别归属到这四个层次结构之中,常被视为是简化的七层OSI模型

  • 简化的七层OSI模型

    在这里插入图片描述

  • 数据传输过程

    OSI7层模型数据传输过程

  • 七层OSI模型说明
主要功能 详细说明
应用层 处理网络应用 直接为端用户服务,提供各类应用过程的接口和用户接口。例 如HTTP、Tenlent、FTP、SMTP、NFS等
表示层 数据表示 使应用层可以根据其服务解释数据的涵义。通常包括数据编码的约定、本地句法的转换。例如JPEG、ASCII、GIF、DES、 MPEG等
会话层 互连主机通信 负责管理远程用户或进程间的通信,通常包括通信控制、检查点设置、重建中断的传输链路、名字查找和安全验证服务。例 如:RPC、SQL等
传输层 端到端连接 实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余的传输。其服务访问点为端口。代表性协议有TCP、UDP、SPX等
网络层 分组传输和路由选择 在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,网络层解决路由器选择、 网络拥塞、异构网络互联的问题。服务访问点为逻辑地址(网 络地址)。代表性协议有IP、IPX等
数据链路层 传输以帧为单位的信息 建立、维持和释放网络实体之间的数据链路,把流量控制合并在一起。为MAC(媒介访问层)和LLC(逻辑链路层)两个子 层。服务访问点为物理地址(MAC地址)。代表性协议有 IEEE802.3/.2、HDLC、PPP、ATM等
物理层 二进制为传输 通过一系列协议定义了通行设备的机械的、电气的、功能的、 规程的特征。通过布线、光纤、网卡和其它用来把两台网络通信设备连接在一起。代表性协议有RS232、V.35、RJ-45、FDDI等

网络互联设备

  数据在网络中是以“包”的形式传递的,但不同网络的“包”,其格式也是不一样的。如果在不同的网络间传送数据,由于包格式不同,导致数据无法传送,于是网络间连接设备就充当“翻译”的角色,将一种网络中的“信息包”转换成另一种网络的“信息包”。

在这里插入图片描述

常见网络协议

应用层协议

  在应用层中,定义了很多面向应用的协议,应用程序通过本层协议利用网络完成数据交互的任务。这些协议主要有 FTP、TFTP、HTTP、SMTP、DHCP、 Telnet、DNS 和 SNMP 等。

  • FTP
    FTP(File TransportProtocol,文件传输协议)是网络上两台计算机传送文件的协议,运行在 TCP 之上,是通过 Internet 将文件从一台计算机传输到另一台计算机的一种途径。 FTP 的传输模式包括 Bin(二进制)和 ASCII(文本文 件)两种,除了文本文件之外,都应该使用二进制模式传输。FTP 在客户机和 服务器之间需建立两条 TCP 连接,一条用于传送控制信息(使用 21 号端口), 另一条用于传送文件内容(使用 20 号端口)。
  • TFTP
    TFTP(Trivial FileTransfer Protocol,简单文件传输协议)是用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输 服务。TFTP 建立在 UDP(User Datagram Protocol,用户数据报协议)之上, 提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方 式来保证数据的到达。
  • HTTP
    HTTP(Hypertext TransferProtocol,超文本传输协议)是用于从 WWW 服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网 络传输减少。HTTP 建立在 TCP 之上,它不仅保证计算机正确快速地传输超文 本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。

传输层协议

  传输层主要有两个传输协议,分别是 TCP 和 UDP(User Datagram Protocol,用户数据报协议),这些协议负责提供流量控制、错误校验和排序服务。

TCP

  TCP 是整个 TCP/IP 协议族中最重要的协议之一,它在 IP 协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP 协议一般用于传输数据量比较少,且对可靠性要求高的场合。

工作方式

  • 建立连接
    TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接。
    TCP三次握手的过程如下:

    1. 客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
    2. 服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
    3. 客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。

      在这里插入图片描述

  • 释放连接
    建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。具体过程如下图所示。

    在这里插入图片描述

    1. 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。
    2. 接收到这个FIN的对端执行 “被动关闭”(passive close),响应ACK。
    3. 一段时间后, “被动关闭”方发送FIN确认数据接收或处理完毕调用close结束它的套接字。
    4. “主动关闭”方确认“被动关闭”方接收到数据确认这个FIN。

可靠机制

TCP采用序号、超时重传、确认机制以及流量控制等方式保证报文传输的可靠,具体功能如下:

  • 数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;
  • 到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认;
  • 超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片;
  • 滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出;
  • 失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层;
  • 重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据;
  • 数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发。

传输头格式

在这里插入图片描述

  • Source Port是源端口,16位。
  • Destination Port是目的端口,16位。
  • Sequence Number是发送数据包中的第一个字节的序列号,32位。
  • Acknowledgment Number是确认序列号,32位。
  • Data Offset是数据偏移,4位,该字段的值是TCP首部(包括选项)长度除以4。
  • 标志位: 6位
    • RG表示Urgent Pointer字段有意义:
    • ACK表示Acknowledgment Number字段有意义
    • PSH表示Push功能,RST表示复位TCP连接
    • SYN表示SYN报文(在建立TCP连接的时候使用)
    • FIN表示没有数据需要发送了(在关闭TCP连接的时候使用)
  • Window表示接收缓冲区的空闲空间,16位,用来告诉TCP连接自己能够接收的最大数据长度。
  • Checksum是校验和,16位。
  • Urgent Pointers是紧急指针,16位,只有URG标志位被设置时该字段才有意义,表示紧急数据相对序列号(Sequence Number字段的值)的偏移。

UDP

  UDP 是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信, 与 TCP 相比,UDP 是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP 有助于提供可靠性,而 UDP 则有助于提高传输速率。UDP 协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。

特点

  • UDP是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送
    数据之前的时延。
  • UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂 的连接状态表。
  • UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而 是保留这些报文的边界。UDP一次交付一个完整的报文。
  • UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。 这对某些实时应用是很重要的。很适合多媒体通信的要求。
  • UDP支持一对一、一对多、多对一和多对多的交互通信。
  • UDP的首部开销小,只有8个字节,比TCP的 20个字节的首部要短。

传输头格式

  UDP报头由4个域组成,其中每个域各占用2个字节,具体包括源端口号、目标端口号、数据包长度、校验值。

在这里插入图片描述

网络层协议

  网络层中的协议主要有IP、ICMP(Internet Control Message Protocol, 网际控制报文协议)、IGMP(Internet Group Management Protocol,网际组管理协议)、ARP(Address Resolution Protocol,地址解析协议)和 RARP(Reverse Address Resolution Protocol,反向地址解析协议)等,这些协议处理信息的路由和主机地址解析。

IP

  IP所提供的服务通常被认为是无连接的和不可靠的,它将差错检测和流量控制之类的服务授权给了其他的各层协议,这正是 TCP/IP 能够高效率工作的一个重要保证。网络层的功能主要由 IP 来提供,除了提供端到端的分组分发功能外, IP 还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的 IP 数据包能以较小的分组在网络上传输。

IP路由

  互联网是由许多个网络连接所形成的大型网络。如果要在互联网中传送IP信息包,除了确保网络上每个设备都有一个唯一的IP地址之外,网络之间还必须有传送的机制,才能将IP信息包通过一个个的网络传送到目的地。此种传送机制称为IP路由。各个网络通过路由器相互连接。路由器的功能是为IP信息包选择传送的路径。换言之,必须依靠沿途各路由器的通力合作,才能将IP信息包送到目的地。

在这里插入图片描述

IP分组转发

  当IP数据包经由路由器转发时,如果目标网络与本地路由器直接相连,则直接将数据包交付给目标主机,这称为直接交付;否则,路由器通过路由表查找路由信息,并将数据包转交给指明的下一跳路由器,这称为间接交付。路由器在间接交付中,若路由表中有到达目标网络的路由,则把数据包传送给路由表指明的下一跳路由器;如果没有路由,但路由表中有一个默认路由,则把数据包传送给指明的默认路由器;如果两者都没有,则丢弃数据包并报告错误。

IP数据报分割与重组

  • 分割
    为了能把一个IP报文放在不同的物理帧中,最大IP报文的长度就只能等于这条路径上所有物理网络的MTU的最小值。发送IP报文时,一般选择一个合适的初始长度。如果这个报文要经历的中间物理网络的MTU值比IP报文长度要小,则IP协议把这个报文的数据部分分割成若干个较小的数据片,组成较小的报文,然后放到物理帧中去发送。每个小的报文称为一个分段。分段的动作一般在路由器上进行。如果路由器从某个网络接口收到了一个IP报文,要向另外一个网络转发,而该网络的MTU比IP报文长度要小,那么就要把该IP报文分成多个小IP分段后再分别发送。

  • 重组
    重组是分段的逆过程,把若干个IP分段重新组合后还原为原来的IP报文。在目的端收到一个IP报文时,可以根据其分段偏移和MF标志位来判断它是否是一个分段。如果MF位是0,并且分段偏移为0,则表明这是一个完整的IP数据报。否则,如果分段偏移不为0,或者MF标志位为1,则表明它是一个分段。这时目的地端需要实行分段重组。IP协议根据IP报文头中的标识符字段的值来确定哪些分段属于同一个原始报文,根据分段偏移来确定分段在原始报文中的位置。如果一个IP数据报的所有分段都正确地到达目的地,则把它重新组织成一个完整的报文后交给上层协议去处理。

IPV4地址编址方式

  IP(IPV4)地址是一个32位的二进制数的逻辑地址,为了表示方便,将32位二进制数划分成4个字节,每个字节间以“.”区分。例如,IP地址11000000 10101000 11001000 10000000,用十进制表示就是192.168.200.128。
  最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码,即网络号(决定了可以分配的网络数量)和主机号(决定了可以分配的主机数量)。同一个物理网络上的所有主机都使用同一个网络号,网络上的一个主机(包括网络上工作站,服务器等)有一个主机号与其对应。Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。

  • A类
    A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。地址范围1.0.0.1到127.255.255.254 (二进制表示为:00000001 00000000 00000000 00000001 - 01111111 11111111 11111111 11111110)。最后一个是广播地址。

    在这里插入图片描述

  • B类
    B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。地址范围128.0.0.1-191.255.255.254 (二进制表示为:10000000 00000000 00000000 00000001----10111111 11111111 11111111 11111110)。最后一个是广播地址。

    在这里插入图片描述

  • C类
    C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。地址范围192.0.0.1-223.255.255.254 [1] (二进制表示为: 11000000 00000000 00000000 00000001 - 11011111 11111111 11111111 11111110)。

    在这里插入图片描述

  • D类
    D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。

    在这里插入图片描述

  • 特殊IP地址
    1. 每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;
    2. IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;
    3. IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试,如:127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器。
    4. 网络ID的第一个6位组也不能全置为“0”,全“0”表示本地网络。
  • 三级IP地址
    三级IP地址由网络号+子网号+主机号组成,子网号是逻辑上把一个大网络划分成一些小网络供内部使用,在主机号借位形成子网号。

    在这里插入图片描述

  • 子网掩码
    子网掩码是在IPv4地址资源紧缺的背景下为了解决lP地址分配而产生的虚拟lP技术,通过子网掩码将A、B、C三类地址划分为若干子网,从而显著提高了IP地址的分配效率,有效解决了IP地址资源紧张的局面。
    A类地址的子网掩码:255.0.0.0 ,网络号8位都是1
    B类地址的子网掩码:255.255.0.0
    C类地址的子网掩码:255.255.255.0
    • 子网掩码CIDR编址方式:IP地址/掩码长度
      例如:130.39.37.100/24,IP地址为130.39.37.100,子网掩码为255.255.255.0(3个8位为1的二进制,共24位),网络地址为130.39.37.0
    • IP网络地址计算
      子网掩码通过将其同IP地址做与运算来指出一个IP地址对应的子网的网络地址。
      例如:某主机的IP地址为136.34.5.56,子网掩码为255.255.255.0。进行与运算后,得出该主机所在子网的网络号为136.34.5.0。其表达的含义为:该IP地址属于 136.34.5.0这个网络,其主机号为56,即这个网络中编号为56的主机。
    • 计算IP地址是否在同一网段
      例如:IP地址:131.1.123.24/27与IP地址:131.1.123.43/27是否在同一网段? /27表示27位都是网络号,两个IP前24位相同,将后8位换算成二进制分别是24=000 11000,43=001 01011,可以看到前3位不一致所以不在一个网段
    • 计算子网掩码
      某公司网络的地址是 192.168.192.0/20,要把该网络分成 32 个子网,则对应的子网掩码应该是255.255.255.128,每个子网可分配的主机地址数126。
      解析:/20为网络号长度,32 个子网=2^5,在主机号借5位,掩码长度=25位,子网掩码=255.255.255.128,主机号占7位,去掉全是0和全是1,实际为126。

IPV4数据报格式

  一个IP分组由首部和数据两部分组成。首部的前20字节是所有IP分组必须具有的,也称固定首部。在首部固定部分的后面是一些可选字段,其长度是可变的。

在这里插入图片描述

字段 作用
版本 IP协议的版本。这里版本号为4。
首部长度 可表示的最大数值是15个单位(4字节为一个单位),60字节。
服务类型 不同优先级服务质量不同,只有在使用区分服务(DiffServ) 时有效。
总长度 首部与数据之和的长度,最大长度为2^16-1=65535字节。
标识 唯一标识数据报的标识符。
标志 DF:不分片位,MF:片未完位。
片偏移 指明该段处于原来数据报中的位置。
生存时间 记为TTL(Time To Live),指示数据报在网络中可通过的路 由器的最大值。
协议 数据报携带的协议(TCP、UDP、IGMP等)
首部检验和 只检验首部,不检验数据。采用16位二进制反码求和算法。
可选字段 可记录时间戳 ,通过路径,安全信息等。
填充 填充为4的倍数 。

IPV4数据报传输方式

  在传送IP信息包时,一定会指明源地址与目的地址。源地址当然只有一个,但是目的地址却可能代表单一或多部设备。根据目的地址的不同,区分为3种传送方式:单点传送、广播传送以及多点传送。

  • 单点传送
    单点传送是一对一的传递模式。在此模式下,源端所发出的IP信息包,其IP报头中的目的地址代表单一目的设备,因此只有该目的设备能收到此IP信息包。在互联网上传送的信息包,绝大多数都是单点传送的IP信息包。

    在这里插入图片描述

  • 广播传送
    广播传送是一对多的传递方式。在此方式下,源设备所发出的IP信息包,其IP报头中的目的地址代表某一网络,而非单一设备,因此该网络内的所有设备都能收到、并处理此类IP广播信息包。由于此特性,广播信息包必须小心使用,否则稍有不慎,便会波及该网络内的全部设备。

    在这里插入图片描述

  • 多点传送
    多点传送是一种介于单点传送与广播传送之间的传送方式模式。多点传送也是属于一对多的传送方式,但是它与广播传送有很大的不同。广播传送必定会传送至某一个网络内的所有设备,但是多点传送却可以将信息包传送给一群指定的设备。

    在这里插入图片描述

IPV6地址编址方式

  互联网络能发展到当前的规模,IPv4协议的建立功不可没。但同时它的缺 点也已经充分显现出来,如地址空间耗尽、路由表急剧膨胀、缺乏对 QoS 的支持、本身并不提供任何安全机制、移动性差等问题。尽管采用了许多新的机制来缓解这些问题,如 DHCP 技术、NAT 技术、CIDR 技术等,但都不可避免地要引入其他新的问题,问题没有得到根本解决。于是 IETF 从 90 年代起就开始积极探讨下一代IP网络,经过几年努力,在广泛听取业界和专家意见的基础上,终于在1995年12月推出了下一代网络的RFC文档——IPv6 协议, 该协议最早叫做下一代IP(IP Next Generation,IPng)。现在它的全称是 “互联网协议第 6 版”,即下一代的网际协议。
  IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。

  • 冒分十六进制表示法
    格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
    ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
    这种表示法中,每个X的前导0是可以省略的,例如:
    2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
  • 0位压缩表示法
    在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
    FF01:0:0:0:0:0:0:1101 → FF01::1101
    0:0:0:0:0:0:0:1 → ::1
    0:0:0:0:0:0:0:0 → ::
  • 内嵌IPv4地址表示法
    为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96位采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,在前96位中,压缩0位的方法依旧适用

IPV6数据报格式

在这里插入图片描述


在这里插入图片描述

字段 作用
版本 IP协议的版本。这里版本号为6。
流量分类 通信类型,相当于IPV4服务类型字段。
流标签 从源点到终点的一系列数据报,同一个流上的数据报标签相同,保证服务质量。
有效负载长度 除基本首部以外的字节数(所有扩展首部都算在有效负载内),最大 值64KB
下一头部 相当于IPV4的协议字段或可选字段。
跳数限制 用于检测路由循环,路由器在转发数据报时对这个字段减1,变成0 丢弃该数据报。

IPV6数据报传输方式

  IPv6协议主要定义了三种地址类型:单播地址(Unicast Address)、组播地址(Multicast Address)和任播地址(Anycast Address)。与原来在IPv4地址相比,新增了“任播地址”类型,取消了原来IPv4地址中的广播地址,因为在IPv6中的广播功能是通过组播来完成的。

  • 单播(unicast)∶IPV4的单点传送,点对点通信。
  • 多播/组播(multicast)∶IPV4的多点传送,一点对多点的通信。
  • 任播(anycast)∶这是 IPv6增加的一种类型。任播的目的站是一组 计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

IPV4/IPV6过渡技术

  考虑到因特网上的系统和设备非常之多,想要一次性从IPv4升级到IPv6是无法做到的。而要实现IP版本的升级,需要花费相当多的时间,且升级过程必须是相当平滑的,防止升级过程中出现任何问题。IETF(Internet Engineering Task Force,国际互联网工程任务组)设计了三种策略来实现平滑的IP版本升级。

  • 双协议栈技术
    双栈技术通过节点对 IPv4 和 IPv6 双协议栈的支持,从而支持两种业务的共存。当一个分组被发送到目的端时,主机向DNS进行查询。如果DNS返回一个IPv4地址,那么源主机就发送一个IPv4分组,如果返回一个IPv6地址,就发送一个IPv6分组。
  • 隧道技术
    隧道技术通过在 IPv4 网络中部署隧道,实现在 IPv4 网络上对 IPv6 业务的承载,保证业务的共存和过渡。当两台使用IPv6的计算机要进行相互通信,但其分组数据要通过IPv4的网络时,该分组要封装成IPv4分组,而当分组离开时该网络时再去掉这个封装。
  • 网络地址转换技术
    NAT-PT使用网关设备连接IPv6和IPv4网络。当IPv4和IPv6节点互相访问时,NAT-PT 网关实现两种协议的转换翻译和地址的映射。

ARP

  地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
  OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的包头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

工作流程

  当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:

  1. 根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
  2. 如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
  3. 主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
  4. 主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
  5. 当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

域名系统

  域名系统(Domain Name System,DNS)是把主机域名解析为IP 地址的系统,解决了IP地址难记的问题。该系统是由解析器和域名服务器组成的。DNS使用UDP协议,较少情况下使用TCP协议,端口号均为53。域名系统由三部分构成:DNS名字空间、域名服务器、 DNS客户机。

DNS名字空间

  名字空间是指定义了所有可能的名字的集合。域名系统的名字空间是层次结构的,类似Windows的文件名。它可看作是一个树状结构,域名系统不区分树内节点和叶子节点,而统称为节点,不同节点可以使用相同的标记。

在这里插入图片描述

  • 根域:根域处于Internet上域名空间结构树的最高端,是树的根, 提供根域名服务。根域用“.”来表示。

  • 顶级域名:顶级域名在根域名 之下,分为三大类:国际通用顶级域名、国家顶级域名。

    • 国际通用顶级域名:也叫国际域名,是使用最早和使用最广泛的域名。例如,表示公司企业的“.com”,表示网络服务的“.net”,表示非盈利组织的“.org”等。
    • 国家/地区顶级域名:也叫国别域名,是按照国家的不同分配的不同后缀。例如,表示中国的“.cn”,表示美国的“.us”,表示日本的“.jp”等。

    顶级域下面是二级域,在二级域之下,组织机构还可以划分子域,使其各个分支部门都获得一个专用的名称标识, 例如www.sales.microsoft.com中的sales是微软销售部门的子域名称。一个域名的长度通常不超过63 个字符,最多不能超过255个字符。

  • 主机:属于最低层域名,处于域名树的叶子端,代表各类主机提供的服务。

域名服务器

名称 定义 作用
主域名服务器 维护本区所有域名信息,信息存于磁盘文件和数据库中 提供本区域名解析,区内域名信 息的权威。具有域名数据库。一个域有且只有一个主域名服务器
辅助域名服务器 主域名服务器的备份服务器提供域名解析服务,信息存于磁盘文件和数据库中 主域名服务器备份,可进行域名解析的负载均衡。具有域名数据库
缓存域名服务器 向其他域名服务器进行域名查询,将查询结果保存在缓存中的域名服务器 改善网络中DNS服务器的性能, 减少反复查询相同域名的时间, 提高解析速度,节约出口带宽。 获取解析结果耗时最短,没有域名数据库
转发域名服务器 负责非本地和缓存中无法查到的域名。接收域名查询请求,首先查询自身缓存,如果找不到对应的,则转发到指定的域名服务器查询 负责域名转发,由于转发域名服 务器同样可以有缓存,因此可以 减少流量和查询次数。具有域名 数据库

域名解析

  一个需要域名解析的用户先将该解析请求发往本地的域名服务器。如果本地的域名服务器能够解析,则直接得到结果,否则本地的域名服务器将向根域名服务器发送请求。依据根域名服务器返回的指针再查询下一层的域名服务器,依此类推,最后得到所要解析域名的IP地址。查询的两种方式:

  • 迭代查询
    得到查询请求的服务器,不能解析到IP地址,直接响应其他服务器的引用(名字和地址),请求的服务器在接收到响应后对此引用发出请求。
  • 递归查询
    得到查询请求的服务器,不能解析到IP地址并且直接请求下一个服务器来获取IP,最后响应给请求的服务器。

    在这里插入图片描述


    图中根域名服务器为迭代查询,中介服务器为递归查询。

网络存储技术

  网络存储被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。网络存储通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,网络存储集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,有效降低总拥有成本。
  网络存储(Network Storage)是数据存储的一种方式,网络存储结构大致分为三种:直连式存储(DAS:Direct Attached Storage)、网络附加存储(NAS:Network Attached Storage)和存储区域网(SAN:Storage Area Network)。由于NAS对于普通消费者而言较为熟悉,所以一般网络存储都指NAS。

  • 直连式存储
    DAS是将存储设备通过SCSI(Small Computer System Interface,小型计算机系统接口)电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。
    由于 DAS 直接将存储设备连接到服务器上,这导致它在传递距离、连接数量、传输速率等方面都受到限制。因此,当存储容量增加时,DAS方式很难扩展,这对存储容量的升级是一个巨大的瓶颈;另一方面,由于数据的读取都要通过服务器来处理,必然导致服务器的处理压力增加,数据处理和传输能力将大大降低;此外,当服务器出现宕机等异常状况时,也会波及存储数据, 使其无法使用。目前 DAS 基本被 NAS 所代替。
  • 网络附加存储
    采用 NAS 技术的存储设备不再通过 I/O 总线附属于某个特定的服务器, 而是通过网络接口与网络直接相连,由用户通过网络访问。
    NAS 存储设备类似于一个专用的文件服务器,它去掉了通用服务器的大多数计算功能,而仅仅提供文件系统功能,从而降低了设备的成本。同时它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应速度快,而且数据传输速率也很高。
  • 存储区域网
    SAN 是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。 它没有采用文件共享存取方式,而是采用块(block)级别存储。SAN 是通 过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统, 其最大特点是将存储设备从传统的以太网中分离出来,成为独立的存储区域网络。

综合布线系统

  综合布线系统是一个用于传输语音、数据、影像和其他信息的标准结 构化布线系统,是建筑物或建筑群的传输网络,它使语言和数据通信设备、 交换设备和其他信息管理系统彼此相连接。综合布线的热物理结构一般采用模块化设计和分层星型拓扑结构。系统结构有6个独立的子系统:

在这里插入图片描述

  • 工作区子系统
    它是工作区内终端设备连接到信息插座之间的设备 组成,包括信息插座、连接软线、适配器、计算机、网络集散器、电话、 报警探头、摄像机、监视器、音响等。
  • 水平子系统
    水平子系统是布置在同一楼层上,一端接在信息插座, 另一端接在配线间的跳线架上,它的功能是将干线子系统线路延伸到用户工作区,将用户工作区引至管理子系统,并为用户提供一个符合国际标准, 满足语音及高速数据传输要求的信息点出口。
  • 管理子系统
    安装有线路管理器件及各种公用设备,实现整个系 统集中管理,它是干线子系统和水平子系统的桥梁,同时又可为同层组网提供条件。其中包括双绞线跳线架、跳线(有快接式跳线和简易跳线之分)。
  • 垂直子系统
    通常它是由主设备间至各层管理间,特别是在位于中央点的公共系统设备处提供多个线路设施,采用大对数的电缆馈线或光缆,两端分别端接在设备间和管理间的跳线架上,目的是实现计算机设备、程控交换机(PBX)、控制中心与各管理子系统间的连接, 是建筑物干线电缆的路由。
  • 设备间子系统
    该子系统是由设备间中的电缆、连接跳线架及相关支撑硬件、防雷电保护装置等构成。可以说是整个配线系统的中心单元,因此它的布放、造型及环境条件的考虑适当与否,直接影响到将来信息系统的正常运行及维护和使用的灵活性。电话交换机、计算机主机设备及入口设施也可与配线设备安装在一起。
  • 建筑群子系统
    它是将多个建筑物的数据通信信号连接成一体的 布线系统,它采用架空或地下电缆管道或直埋敷设的室外电缆和光缆互 连起来,是结构化布线系统的一部分,支持提供楼群之间通信所需的硬 件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340