1.1 初识网络

1.1.1 网络基础学习体系

第一单元 第二单元 第三单元 第四单元
网络基础
OSI七层模型
TCP/IP简介
子网划分
VLSM
Cisco IOS设备
管理网络环境
路由协议
IP路由原理
静态路由
默认路由
动态路由
二层交换网络
VLAN
VTP
STP
单臂路由
用访问列表初步
管理IP流量
WAN网络和
Ipv6
串行点到点链路
帧中继网络
Ipv6简介

说明:

  • ① 网络基础知识:涉及到网络的发展历程,网络的一些名词概念、路由、交换介绍
  • ② OSI七层模型的介绍
  • ③ TCP/IP协议族的简介,包含TCP/IP三次握手和四次挥手的过程。
  • ④ VLSM 可变长子网的概念

1.1.2 网络拓扑

linux系统网络基础知识 - 图1
网络拓扑图

网络拓扑结构:是指传输介质互联各种设备的物理布局。指构成网络的成员间特定的物理的即真实的、或逻辑的即虚拟的排列方式。如果两个网络的链接结构相同我们就说它们的网络拓扑相同,尽管它们各种内部的物理链接线、节点间的距离可能会有不同。

1.1.3 广播域介绍

当一个交换机连接多个终端设备,多个终端设备即处于同一个网段中,而一个相同的网段,即表示一个广播域。
广播方式不会根据需求传输或接收消息,而是在整个网段中进行广播,所有机器必须接收,因此当广播信息大量产生时,会耗费机器的CPU资源等来接收广播信息,这就是广播风暴。

1.1.4 网络的层次说明

linux系统网络基础知识 - 图2

  • 核心层:核心层的功能主要是实现骨干网络之间的优化传输,骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输。
  • 汇聚层:汇聚层是楼群或小区的信息汇聚点,是连接接入层和核心层的网络设备,为接入层提供数据的汇聚\传输\管理\分发处理,汇聚层为接入层提供基于策略的连接,如地址合并、协议过滤、路由服务、认证管理等,通过网段划分(如VLAN)与网络隔离可以防止某些网段的问题蔓延和影响到核心层、汇聚层同时也可以提供接入层虚拟网直接的互连,控制和限制接入层的访问,保证核心层的安全和稳定。
  • 接入层:接入层通常指网络中直接面对用户连接或访问的部分。接入层的目的是允许终端用户连接到网络 ,因此接入层交换机具有低成本和高端口密度特性。

1.1.5 OSI网络模型概念

  • OSI的概念:
  • Open system interconnect开放系统互连参考模型,由ISO(国际标准化组织)定义的。

是个灵活的、稳健的和课互操作的模型,并不是协议,是用来了解和设计网络体系结构的。

  • OSI模型的目的:
  • 规范不同系统的互连标准,使两个不同系统能够较容易的通信,而不需要改变底层的硬件或软件的逻辑。

  • OSI模型共7层:

  • OSI把网络层次分为7层,由下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

linux系统网络基础知识 - 图3

1.1.6 OSI 各层对于知识

  • 应用层: 为应用程序提供接入网络的接口,并根据程序的不同对于不同的接口协议。
  • 常见的应用层协议:

Http(80),ftp(20/21),smtp(25)、pop3(110)、Telnet(23)、dns(53)等。

  • 表示层:为数据提供解码和编码,数据的加密和解密以及数据的压缩和解压缩。

  • 会话层:建立、维护、管理、会话控制、同步等、应用程序之间的会话,

  • 传输层: 负责网络中端到端的连接(TCP UDP)

  • 作用:负责建立端到端的连接,保证报文在端到端之间的传输。
  • 功能:服务点编址、分段与重组、连接控制、流量控制、差错控制。

  • 网络层:为数据包提供路由和寻址,主要接触到的是IP协议即IP地址。
  • 作用:负责将分组数据从源端传输到目的端。
  • 功能:为网络设备提供路径地址,进行路由器选择,分组转发。

  • 数据链路层:

  • 作用:在不可靠的物理链路上,提供可靠的数据传输服务,把帧从一跳(节点)移

动到另一跳(节点)。

  • 功能:组帧、物理编址、流量控制、差错控制、接入控制。

  • 物理层:将逐个bit进行传输

  • 作用:负责把逐个的比特从一跳(结点)移动到另一跳(结点)。
  • 功能:定义接口和媒体的物理特性,定义比特的表示、数据传输速率、信号的传输

模式(单工、半双工、全双工),定义网络物理拓扑。

1.1.7 OSI层次模型总结:

OSI 七层模型功能就类似于人传递信息,会用一句话传递,而一句话又是由多个词组成,而每个词又是多个字组成。

1.1.8 TCP与TDP对比

传输控制协议(TCP) 用户数据报协议(UDP)
面向连接 无连接
可靠传输 不可靠传输
流控 尽力而为,尽力传递
使用CTP应用:
Web浏览器;电子邮件;文件传输程序
使用UDP的应用:
域名解析(DNS),视频流;IP语音(VOIP)

1.1.9 TCIP相关报文结构:

linux系统网络基础知识 - 图4

○源端口:即本地发起连接的端口
○目标端口:即要访问的服务的端口
○序列号:因为传输层会将上层的数据进行分段,因此需要对分段数据进行编号同时也便于
数据的重组。
○验证号:用于对数据进行验证

1.1.10 UDP相关报文结构

linux系统网络基础知识 - 图5

1.1.11 TCP/UDP端口

端口号范围从1~65535。
源端口随机分配,目标端口使用知名端口
应用客户端使用的源端口号一般为系统未使用的且大于1024的
目的端口号为服务器端应用服务的进程,如telnet为23

1.1.12 TCP三次握手

linux系统网络基础知识 - 图6
建立过程说明:
①由浩哥发送建立TCP连接的请求报文,其中报文中包含了seq序列号,是由发送端随机生成
的,并且还将报文中SYN字段设置为1,表示需要建立TCP连接。
②小丽收到后回复浩哥发送的TCP连接请求报文,其中包含seq序列号,是由回复端随机生成
的,并且将回复报文的SYN字段设置为1,而且会产生ACK字段,ACK字段数值在浩哥发过来
的seq序列号基础上加1进行回复,以便浩哥收到信息时,知晓自己的TCP建立请求已得到验证
③浩哥收到小丽发送的TCP建立验证请求后,会使自己的序列号加1表示,并且再次回复ACK
验证请求,在小丽发送过来的seq基础上加1,在进行回复。

根据TCP的包头字段,存在三个重要的标识ACK、SYN、FIN

  • ACK: 表示验证字段
  • SYN:位数置1,表示建立TCP连接
  • FIN:位数置1,表示断开TCP连接

1.1.13 四次挥手过程

linux系统网络基础知识 - 图7
断开过程说明:
①小丽发出分手(断开)交往(TCP连接)请求的报文,其中报文中包含的seq序列号,是由发送
端随机生成的,并且还将报文中FIN字段设置为1,表示需要断开TCP连接。
②浩哥会回复小丽发送的分手(TCP断开)请求,其中包含的seq序列号,是由回复端随机生成的
而且会产生ACK字段,ACK字段数值,是在小丽发送过来的seq序列号基础上加1进行回复,以便小丽收到信息时,知晓自己的发出去的信息(TCP断开请求)已得到了验证。
③浩哥在回复完小丽的分手(TCP断开)请求后,不会马上就进行分手(TCP连接断开),浩哥会先
确保分手(断开)前,所有传输到小丽的数据是否已经传输完毕,一旦确认传输完毕就会将回复
报文的FIN字段置1,并产生随机seq序列号。
④小丽收到浩哥也同意分手(TCP断开请求)的消息后,会回复浩哥一些道别的话(断开请求),包含随机生成的seq字段和ack字段,ack字段会在浩哥回复同意分手(TCP断开请求)的seq基础上加1,从而完成浩哥请求的验证回复。
至此 TCP断开的4次挥手过程完毕

1.1.14 TCP/IP的11种状态

linux系统网络基础知识 - 图8

  1. 一开始,建立连接之前服务器和客户端的状态都为CLOSED。
  2. 服务器创建socket后开始监听,变为LISTEN状态。
  3. 客户端请求建立连接,向服务器发送SYN报文,客户端的状态变为SYN_SENT。
  4. 服务器收到客户端的报文后向客户端发送ACK和SYN报文,此时服务器的状态为SYN_RCVD。
  5. 然后,客户端收到ACK、SYN 就向服务器发送ACK,客户端状态变为BSTABLISHED。
  6. 服务器端收到ACK后,状态也变为BSTABLISHED。此时3次握手完成。