计算机网络简介

计算机网络

相当于你不能提供问题所需的资料,你要从远程得到。所以,网络至少包括两台电脑。

(处理问题的程序) —》(服务器网络信号) —> 中间节点 -—》 分发信号节点 -–—》服务器
我这里做的是一个简单的设计,难得烧脑子,我也不会。
假如我是一只母鸡,我要叫快递员寄蛋给远方的亲戚,那么快递员会根据东西的属性好好包装一番, 然后怎么运算就要好好设计快递员的职责了。
如果我是一块废铁,我要寄铁,那可能包装都不用,也就是处理方式是不同的。这就是不同标准(协议)的来由。

计算机大家都知道是干什么的,简单说就是计算机里面的软件用来干什么的!(能听歌,能打字,还能联网发消息)
计算机网络就是计算机之间用导线连起来,然后程序就能通过那个导线给别的计算机程序发消息。

通过那个导线,我们能发什么呢? 一种是模拟信号,一种是数字信号。
我们通过导线传输的是电子信号啊,光速传播,速度很快。不能传原子,这个得核爆炸才能传,也不能传水啊什么的。
模拟信号就是高低不平的电压,每段电压区间会处理成某个数字。电压在传输中越来越小 ,区间代表的信号会变化 ,容易失真。
数字信号只有有电压和很微小的电压两种,代表 1 和 0。不容易失真

网络发信号得听得懂 0 啊 1 啊代表什么吧,而且操作系统还有好几种呢?为了互相听得懂话,不依赖硬件和系统,就有必要约定一个规范,这个规范就叫网络协议。

OSI(Open System Interconnect) 是网络协议的理论基础。
TCP/IP 协议是实际被使用的。
手机用的不是有线电信号,是无线电信号 ( 啊哈,不知哪里想到的名词 )

OSI 协议

此协议规定了一个消息要经过 7 层。
假如我是邮件客户端,我们给邮件服务器发消息,说 "我要看看我有什么邮件,把邮件发给我" 的消息。

那么,客户端就要创建那个网络消息,这是应用层,还要加上点我是谁的信息,指明谁发了消息。

应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。

表示层用来给那个消息加个密,或者压缩什么的。

表达层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。

会话层估计给那个消息设置这是第几句话,不来传到那边分不清次序。

会话层(Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

传输层确定那个消息是不是一定要收到,是否正确传输(我们要确定是不是人家听到了我们的话,然后处理结果有几个方案呢)

传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。

网络层是我们给发消息的人的网络地址。

网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

数据链路层是我们给发消息的人的机器地址(如果在局域网就不用经过网络啦)

数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至 数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。 数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi) 和通用分组无线服务(GPRS)等。

物理层决定我们的消息走的是哪个网络设备,是网卡还是蓝牙

物理层(Physical Layer)在局部局域网上传送数据帧(data frame),它负责管理计算机 通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、 主机接口卡等。

应用层 HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP、TLS
表示层 XDR、ASN.1、SMB、AFP、NCP
会话层 ASAP、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、IGMP、Winsock、BSD sockets
传输层 TCP、UDP、RTP、SCTP、SPX、ATP、IL
网络层 IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25
链路层 以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP
物理层 线路、无线电、光纤

TCP/IP

应用层 (此节点具体解释数据的结构)

为特定应用程序提供数据传输服务,例如 HTTP、DNS 等。数据单位为报文。

传输层( 此节点为进程提供通用数据传输服务,保证数据的完整 )

由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包 括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段; 用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。 TCP 主要提供完整性服务,UDP 主要提供及时性服务。

网络层 (此节点解析通信双方的网络地址)

传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或 者用户数据报封装成分组。

数据链路层(此节点解析通信双方的机器地址)

主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据 链路层把网络层传下来的分组封装成帧。

地址是链路层地址, 也就是 MAC 地址

物理层 (网卡设备)

物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。

协议细节

物理层

  • 通信方式

    根据信息在传输线上的传送方向,分为以下三种通信方式:

    • 单工通信:单向传输
    • 半双工通信:双向交替传输
    • 全双工通信:双向同时传输
  • 带通调制

    模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。

链路层

  • 局域网

    局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站 点数目均有限。

    主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域 网市场。

    • 交换机

      正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。

网络层

因为网络层是整个互联网的核心,因此应当让网络层尽可能简单。网络层向上只提供 简单灵活的、无连接的、尽最大努力交互的数据报服务。

使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统 一的网络。

  • 与 IP 协议配套使用的还有三个协议:
    • 地址解析协议 ARP(Address Resolution Protocol)
    • 网际控制报文协议 ICMP(Internet Control Message Protocol)
    • 网际组管理协议 IGMP(Internet Group Management Protocol)
  • IP 地址编址方式

    IP 地址的编址方式经历了三个历史阶段:

    • 分类
    • 子网划分
    • 无分类
    • 1. 分类

      由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的。

      IP 地址 ::= {< 网络号 >, < 主机号 >}

    • 2. 子网划分

      通过在主机号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。

      IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}

      要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 00000000,也就是 255.255.192.0。

      注意,外部网络看不到子网的存在。

    • 3. 无分类

      无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用 网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。

      IP 地址 ::= {< 网络前缀号 >, < 主机号 >}

      CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。

      CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为网络前缀的长度。

      一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个 网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表 项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为 构成超网

      在路由表中的项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不 止一个匹配结果,应当采用最长前缀匹配来确定应该匹配哪一个。

  • 地址解析协议 ARP

    网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信 过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而 改变。

  • 网际控制报文协议 ICMP

    ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据 报中,但是不属于高层协议。

    • 1. Ping

      Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。

      Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发 送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以 及丢包率。

    • 2. Traceroute

      Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径。

      Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主 机发送终点不可达差错报告报文。

      • 源主机向目的主机发送一连串的 IP 数据报。第一个数据报 P1 的生存时间 TTL 设置为 1,当 P1 到达路径上的第一个路由器 R1 时,R1 收下它并把 TTL 减 1,此时 TTL 等于 0,R1 就把 P1 丢弃,并向源主机发送一个 ICMP 时间超过差错报告报文;
      • 源主机接着发送第二个数据报 P2,并把 TTL 设置为 2。P2 先到达 R1,R1 收下后把 TTL 减 1 再转发给 R2,R2 收下后也把 TTL 减 1,由于此时 TTL 等于 0,R2 就丢弃 P2,并向源主机发送一个 ICMP 时间超过差错报文。
      • 不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。
      • 之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。
  • 虚拟专用网 VPN

    由于 IP 地址的紧缺,一个机构能申请到的 IP 地址数往往远小于本机构所拥有的 主机数。并且一个机构并不需要把所有的主机接入到外部的互联网中,机构内的计 算机可以使用仅在本机构有效的 IP 地址(专用地址)。

    有三个专用地址块:

    • 10.0.0.0 \~ 10.255.255.255
    • 172.16.0.0 \~ 172.31.255.255
    • 192.168.0.0 \~ 192.168.255.255

      VPN 使用公用的互联网作为本机构各专用网之间的通信载体。专用指机构内的主机 只与本机构内的其它主机通信;虚拟指好像是,而实际上并不是,它有经过公用的 互联网。

  • 网络地址转换 NAT

    专用网内部的主机使用本地 IP 地址又想和互联网上的主机通信时,可以使用 NAT 来将本地 IP 转换为全球 IP。

    在以前,NAT 将本地 IP 和全球 IP 一一对应,这种方式下拥有 n 个全球 IP 地 址的专用网内最多只可以同时有 n 台主机接入互联网。为了更有效地利用全球 IP 地址,现在常用的 NAT 转换表把传输层的端口号也用上了,使得多个专用网内部 的主机共用一个全球 IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT。

  • 路由器的结构

    路由器从功能上可以划分为:路由选择和分组转发。 分组转发结构由三个部分组成:交换结构、一组输入端口和一组输出端口。

  • 路由器分组转发流程
    • 从数据报的首部提取目的主机的 IP 地址 D,得到目的网络地址 N。
    • 若 N 就是与此路由器直接相连的某个网络地址,则进行直接交付;
    • 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给表中所指明的下一跳路由器;
    • 若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;
    • 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;
    • 报告转发分组出错。
  • 路由选择协议

    路由选择协议都是自适应的,能随着网络通信量和拓扑结构的变化而自适应地进行调整。

    互联网可以划分为许多较小的自治系统 AS,一个 AS 可以使用一种和别的 AS 不 同的路由选择协议。

    可以把路由选择协议划分为两大类:

    • 自治系统内部的路由选择:RIP 和 OSPF
    • 自治系统间的路由选择:BGP
    • 1. 内部网关协议 RIP

      RIP 是一种基于距离向量的路由选择协议。距离是指跳数,直接相连的路由器跳 数为 1。跳数最多为 15,超过 15 表示不可达。

      RIP 按固定的时间间隔仅和相邻路由器交换自己的路由表,经过若干次交换之后, 所有路由器最终会知道到达本自治系统中任何一个网络的最短距离和下一跳路由 器地址。

      距离向量算法:

      • 对地址为 X 的相邻路由器发来的 RIP 报文,先修改报文中的所有项目,把下一跳字段中的地址改为 X,并把所有的距离字段加 1;
      • 对修改后的 RIP 报文中的每一个项目,进行以下步骤:
        • 若原来的路由表中没有目的网络 N,则把该项目添加到路由表中;
        • 否则:若下一跳路由器地址是 X,则把收到的项目替换原来路由表中的项目;否则:若收到的项目中的距离 d 小于路由表中的距离,则进行更新(例如原始路由表项为 Net2, 5, P,新表项为 Net2, 4, X,则更新);否则什么也不做。
      • 若 3 分钟还没有收到相邻路由器的更新路由表,则把该相邻路由器标为不可达,即把距离置为 16。

        RIP 协议实现简单,开销小。但是 RIP 能使用的最大距离为 15,限制了网络的规模。并且当网络出现故障时,要经过比较长的时间才能将此消息传送到所有路由器。

    • 2. 内部网关协议 OSPF

      开放最短路径优先 OSPF,是为了克服 RIP 的缺点而开发出来的。

      开放表示 OSPF 不受某一家厂商控制,而是公开发表的;最短路径优先表示使用了 Dijkstra 提出的最短路径算法 SPF。

      OSPF 具有以下特点:

      • 向本自治系统中的所有路由器发送信息,这种方法是洪泛法。
      • 发送的信息就是与相邻路由器的链路状态,链路状态包括与哪些路由器相连以及链路的度量,度量用费用、距离、时延、带宽等来表示。
      • 只有当链路状态发生变化时,路由器才会发送信息。

        所有路由器都具有全网的拓扑结构图,并且是一致的。相比于 RIP,OSPF 的更新过程收敛的很快。

    • 3. 外部网关协议 BGP

      BGP(Border Gateway Protocol,边界网关协议)

      AS 之间的路由选择很困难,主要是由于:

      • 互联网规模很大;
      • 各个 AS 内部使用不同的路由选择协议,无法准确定义路径的度量;
      • AS 之间的路由选择必须考虑有关的策略,比如有些 AS 不愿意让其它 AS 经过。

        BGP 只能寻找一条比较好的路由,而不是最佳路由。

        每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息。

传输层

网络层只把分组发送到目的主机,但是真正通信的并不是主机而是主机中的进程。 传输层提供了进程间的逻辑通信,传输层向高层用户屏蔽了下面网络层的核心细 节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。

  • UDP 和 TCP 的特点
    • 用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交 付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分, 只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。
    • 传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供 可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层 传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条 TCP 连接只能是点对点的(一对一)。
    • UDP 首部格式

      首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的 伪首部是为了计算检验和临时添加的。

    • TCP 首部格式
      • 序号 :用于对字节流进行编号,例如序号为 301,表示第一个字节的编号为 301,如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。
      • 确认号 :期望收到的下一个报文段的序号。例如 B 正确收到 A 发送来的一个报文段,序号为 501,携带的数据长度为 200 字节,因此 B 期望下一个报文段的序号为 701,B 发送给 A 的确认报文段中确认号就为 701。
      • 数据偏移 :指的是数据部分距离报文段起始处的偏移量,实际上指的是首部的长度。
      • 确认 ACK :当 ACK=1 时确认号字段有效,否则无效。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1。
      • 同步 SYN :在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1。
      • 终止 FIN :用来释放一个连接,当 FIN=1 时,表示此报文段的发送方的数据已发送完毕,并要求释放连接。
      • 窗口 :窗口值作为接收方让发送方设置其发送窗口的依据。之所以要有这个限制,是因为接收方的数据缓存空间是有限的。

应用层

  • 域名系统

    DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这 里的分布式数据库是指,每个站点只保留它自己的那部分数据。

    域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。 DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况 下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处 理超时和重传来保证可靠性。在两种情况下会使用 TCP 进行传输:

    • 如果返回的响应超过的 512 字节(UDP 最大只支持 512 字节的数据)。
    • 区域传送(区域传送是主域名服务器向辅助域名服务器传送变化的那部分数据)。
  • 文件传送协议

    FTP 使用 TCP 进行连接,它需要两个连接来传送一个文件:

    • 控制连接:服务器打开端口号 21 等待客户端的连接,客户端主动建立连接 后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。
    • 数据连接:用来传送一个文件数据。

      根据数据连接是否是服务器端主动建立,FTP 有主动和被动两种模式:

      • 主动模式:服务器端主动建立数据连接,其中服务器端的端口号为 20,客 户端的端口号随机,但是必须大于 1024,因为 0\~1023 是熟知端口号。
      • 被动模式:客户端主动建立数据连接,其中客户端的端口号由客户端自己指 定,服务器端的端口号随机。

        主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动 模式只需要服务器端开放端口号即可,无需客户端配置防火墙。但是被动模式会 导致服务器端的安全性减弱,因为开放了过多的端口号。

  • 动态主机配置协议 ( 分配 IP 工具 )

    DHCP (Dynamic Host Configuration Protocol) 提供了即插即用的连网方式, 用户不再需要去手动配置 IP 地址等信息。

    DHCP 配置的内容不仅是 IP 地址,还包括子网掩码、网关 IP 地址。

    DHCP 工作过程如下:

    1. 客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67, 源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所 有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继 代理。
    2. DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报 文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提 供的信息,因此客户端需要进行选择。
    3. 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报 文给该 DHCP 服务器。
    4. DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。
  • 远程登录协议

    TELNET 用于登录到远程主机上,并且远程主机上的输出也会返回。

    TELNET 可以适应许多计算机和操作系统的差异,例如不同操作系统系统的换行符定义。

  • 电子邮件协议

    一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议。 邮件协议包含发送协议和读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP。

    • 1. SMTP

      SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。 MIME 并没有改动或者取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则。

    • 2. POP3

      POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。

    • 3. IMAP

      IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么 服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服 务器上的邮件。

  • 常用端口
    应用 应用层协议 端口号 传输层协议 备注
    域名解析 DNS 53 UDP/TCP 长度超过 512 字节时使用 TCP
    动态主机配置协议 DHCP 67/68 UDP  
    简单网络管理协议 SNMP 161/162 UDP  
    文件传送协议 FTP 20/21 TCP 控制连接 21,数据连接 20
    远程终端协议 TELNET 23 TCP  
    超文本传送协议 HTTP 80 TCP  
    简单邮件传送协议 SMTP 25 TCP  
    邮件读取协议 POP3 110 TCP  
    网际报文存取协议 IMAP 143 TCP  
  • Web 页面请求过程
    • 1. DHCP 配置主机信息
      • 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。
      • 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。
      • 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。
      • 该数据报则被放置在 MAC 帧中,该帧具有目的地址 FF:FF:FF:FF:FF:FF,将广播到与交换机连接的所有设备。
      • 连接在交换机的 DHCP 服务器收到广播帧之后,不断地向上分解得到 IP 数据报、UDP 报文段、DHCP 请求报文,之后生成 DHCP ACK 报文,该报文包含以下信息:IP 地址、DNS 服务器的 IP 地址、默认网关路由器的 IP 地址和子网掩码。该报文被放入 UDP 报文段中,UDP 报文段有被放入 IP 数据报中,最后放入 MAC 帧中。
      • 该帧的目的地址是请求主机的 MAC 地址,因为交换机具有自学习能力,之前主机发送了广播帧之后就记录了 MAC 地址到其转发接口的交换表项,因此现在交换机就可以直接知道应该向哪个接口发送该帧。
      • 主机收到该帧后,不断分解得到 DHCP 报文。之后就配置它的 IP 地址、子网掩码和 DNS 服务器的 IP 地址,并在其 IP 转发表中安装默认网关。
    • 2. ARP 解析 MAC 地址
      • 主机通过浏览器生成一个 TCP 套接字,套接字向 HTTP 服务器发送 HTTP 请求。为了生成该套接字,主机需要知道网站的域名对应的 IP 地址。
      • 主机生成一个 DNS 查询报文,该报文具有 53 号端口,因为 DNS 服务器的端口号是 53。
      • 该 DNS 查询报文被放入目的地址为 DNS 服务器 IP 地址的 IP 数据报中。
      • 该 IP 数据报被放入一个以太网帧中,该帧将发送到网关路由器。
      • DHCP 过程只知道网关路由器的 IP 地址,为了获取网关路由器的 MAC 地址,需要使用 ARP 协议。
      • 主机生成一个包含目的地址为网关路由器 IP 地址的 ARP 查询报文,将该 ARP 查询报文放入一个具有广播目的地址(FF:FF:FF:FF:FF:FF)的以太网帧中,并向交换机发送该以太网帧,交换机将该帧转发给所有的连接设备,包括网关路由器。
      • 网关路由器接收到该帧后,不断向上分解得到 ARP 报文,发现其中的 IP 地址与其接口的 IP 地址匹配,因此就发送一个 ARP 回答报文,包含了它的 MAC 地址,发回给主机。
    • 3. DNS 解析域名
      • 知道了网关路由器的 MAC 地址之后,就可以继续 DNS 的解析过程了。
      • 网关路由器接收到包含 DNS 查询报文的以太网帧后,抽取出 IP 数据报,并根据转发表决定该 IP 数据报应该转发的路由器。
      • 因为路由器具有内部网关协议(RIP、OSPF)和外部网关协议(BGP)这两种路由选择协议,因此路由表中已经配置了网关路由器到达 DNS 服务器的路由表项。
      • 到达 DNS 服务器之后,DNS 服务器抽取出 DNS 查询报文,并在 DNS 数据库中查找待解析的域名。
      • 找到 DNS 记录之后,发送 DNS 回答报文,将该回答报文放入 UDP 报文段中,然后放入 IP 数据报中,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。
    • 4. HTTP 请求页面
      • 有了 HTTP 服务器的 IP 地址之后,主机就能够生成 TCP 套接字,该套接字将用 于向 Web 服务器发送 HTTP GET 报文。
      • 在生成 TCP 套接字之前,必须先与 HTTP 服务器进行三次握手来建立连接。生成一个具有目的端口 80 的 TCP SYN 报文段,并向 HTTP 服务器发送该报文段。
      • HTTP 服务器收到该报文段之后,生成 TCP SYN ACK 报文段,发回给主机。
      • 连接建立之后,浏览器生成 HTTP GET 报文,并交付给 HTTP 服务器。
      • HTTP 服务器从 TCP 套接字读取 HTTP GET 报文,生成一个 HTTP 响应报文,将 Web 页面内容放入报文主体中,发回给主机。
      • 浏览器收到 HTTP 响应报文后,抽取出 Web 页面内容,之后进行渲染,显示 Web 页面。

网络命令

查看端口

netstat -lnp|grep 88 

查看 firewall 是否运行

$ systemctl status firewalld.service

打开端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent

网络服务器

虚拟主机<虚拟服务器

虚拟主机也有可以分为独享的虚拟主机,和共享的虚拟主机。顾名思义,两者之间的区 别在于服务器资源的独享和共享。网站主机、空间、都是一个意思。这一类的主机用户 的权限很低,没有远程桌面,只有 FTP 权限供用户上传文档等操作。优势是比较价格便 宜。

Virtual Private Server 虚拟专用服务器,一般是将一个独立服务器通过虚拟化技术虚 拟成多个虚拟专用服务器。与虚拟主机不同的是,你拥有的是一台虚拟的服务器,类似 于 Windows 上的虚拟机一样,虽然是虚拟的,但是使用起来,和使用客户机没有什么区 别。同理,VPS 可以使用远程桌面登录对服务器进行维护操作。

ECS: 现在的主流的服务器解决方案,一般理解云服务器和 VPS 一样,同样是虚拟化的 技术虚拟出来的服务器。也有人说以前的 VPS 就是现在的 ECS,其实不然,云服务器是一 个计算,网络,存储的组合。简单点说就是通过多个 CPU,内存,硬盘组成的计算池和存 储池和网络的组合;在这样的平台上虚拟出的服务器,用户可以根据自己的运算需要选择 配置不同的云服务器。

0%