linux零基础学习 4----网络协议和管理

第十一章 网络基础

10.1 常见的物理组件

路由器、交换机、服务器、网线、PC

10.2网络拓扑

在这里插入图片描述
在这里插入图片描述

  • 总线拓扑:所有设备均可接受信号
  • 星型拓扑:通过中心点传输,单一故障点
  • 扩展星型拓扑:比星型拓扑复原能力强
  • 环拓扑:信号环绕传输,单一故障点
  • 双环拓扑:信号沿相反方向传输,比单环复原能力强
  • 全网状拓扑:容错能力强,实施成本高
  • 部分网状拓扑:在容错能力和成本之间追求平衡

10.3 OSI 开放系统互连

七层模型 作用
应用层 针对指定应用的协议
表示层 设备固有数据模式和网络标准数据格式的转换
会话层 通信管理。负责建立和断开通信链接。管理传输层
传输层 管理两个节点之间的数据传输。负责可靠传输
网络层 地址管理与路由选择
数据链路层 互联设备之间传送和识别数据帧
物理层 以0、1代表电压的高低、灯光的闪灭。界定连接器和网络的规格

10.4 数据协议单元 PDU

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

10.5 三种通信模式

单播:目标设备是一个
广播:目标设备时所有
组播:目标设备时多个

10.6 冲突域和广播域

  • 冲突域:两个网络设备同时发送数据,如果发生了冲突,则两个设备处于同一个冲突域,反之,则各处自处于不同的冲突域。
  • 广播域:一个网络设备发送广播,另一个设备收到了,则两个设备处于同一个广播域,,反之,则各自处于不同的广播域。

第十二章 局域网

12.1组网设备

在这里插入图片描述

12.1.2 网络线缆和接口

  • 网线标准:
    T568B:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
    T568A:白绿、绿、白橙、蓝、白蓝、橙、白棕—棕

  • 集线器hub特点:
    共享带宽
    半双工

  • 交换机工作原理:
    数据链路层设备
    全双工
    基于mac地址转发数据
    如数据中的目的mac地址不在mac列表中,则向所有端口转发----泛洪
    交换机无法隔离广播域

  • 路由器
    工作在网络层
    基于IP地址转发数据
    隔离广播域和冲突域
    智能选择传输数据路径
    连接广域网

12.2 vlan 虚拟局域网

12.2.1原理

PC端向交换机传输数据要发出ARP请求MAC地址FF-FF-FF
交换机要泛洪垃圾广播信号太多所以要缩小广播域
vlan

vlan 是由局域网网段构成与物理位置无关
vlan 配置在交换机中
每个vlan 有明确的标识,可指定某个或多个工作站在同一vlan内
同一vlan 内可相互通信,但不可直接与其他vlan通信

12.2.2 实现技术

在交换机中配置VLAN可基于以下方式划分:

  • 基于端口划分
  • 基于MAC地址划分
  • 基于协议划分
  • 基于网络地址划分

链路结构:
access(接入)只能传输pc与交换机不到标签的数据
trunk(干道)传世交换机与交换机之间不带标签的数据
hybrid(混合型)接入和干道都可以使用

WLAN的帧结构在以太网二帧上加了Tag字段帧叫802.1Q帧
Tag由4个字节构成=32bit
前两个字节是TPID是一个固定的值=0x8100
后两个字节是TCI:前3bit代表的是优先级(RPI) ;第4bit:CFI表示MAC地址是否为经典格式、是=0、否=1.
最后12个字节是VLANID 总数为4096

12.2.3 优点

  • 有效的共享网络资源。若交换机构成较大的局域网,广播报文会使网络性能下降。vlan可隔离广播域,使广播波报文只在本vlan内传播
  • 提高网络的安全性。一个vlan内收不到另一vlan的数据帧

第十三章 TCP/IP协议栈

13.1 TCP/IP分层

TCP/IP

13.2 TCP/IP 通信过程

在这里插入图片描述

13.3 TCP 头部

头部TCP通常使用IP作为网络层协议,这时TCP数据段被封装在IP数据包内。
TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。
TCP Header是由如上图标识一些字段组成,这里列出几个常用字段。

  • 16位源端口号:源主机的应用程序使用的端口号。
  • 16位目的端口号:目的主机的应用程序使用的端口号。每个TCP头部都包含源和目的端的端口号,这两个值加上IP头部中的源IP地址和目的IP地址可以唯一确定一个TCP连接。
  • 32位序列号:用于标识从发送端发出的不同的TCP数据段的序号。数据段在网络中传输时,它们的顺序可能会发生变化;接收端依据此序列号,便可按照正确的顺序重组数据。
  • 32位确认序列号:用于标识接收端确认收到的数据段。确认序列号为成功收到的数据序列号加1。
  • 4位头部长度:表示头部占32bit字的数目,它能表达的TCP头部最大长度为60字节。
  • 16位窗口大小:表示接收端期望通过单次确认而收到的数据的大小。由于该字段为16位,所以窗口大小的最大值为65535字节,该机制通常用来进行流量控制。
  • 16位校验和:校验整个TCP报文段,包括TCP头部和TCP数据。该值由发送端计算和记录并由接收端进行验证。

13.4 TCP 建立过程:三次握手

TCP通过三次握手建立可靠连接。

三次握手
TCP是一种可靠的,面向连接的全双工传输层协议。
TCP连接的建立是一个三次握手的过程。如图所示:

  • 主机A(通常也称为客户端)发送一个标识了SYN的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a。
  • 服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。
  • 主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文段的确认。

13.5 传输过程

在这里插入图片描述

  • 目的设备接收到源设备发送的数据段时,会向源端发送确认报文,源设备收到确认报文后,继续发送数据段,如此重复。
  • 如图所示,主机A向服务器A发送TCP数据段,为描述方便假定每个数据段的长度都是500个字节。当服务器A成功收到序列号是M+1499的字节以及之前的所有字节时,会以序列号M+1499+1=M+1500进行确认。另外,由于数据段N+3传输失败,所以服务器A未能收到序列号为M+1500的字节,因此服务器A还会再次以序列号M+1500进行确认。

13.6关闭连接:四次挥手

TCP连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手。
如图所示:

在这里插入图片描述

  • 主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。
  • 服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。
  • 服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认序列号为a+1。
  • 主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。

以上四次交互便完成了两个方向连接的关闭。

13.7 UDP

当应用程序对传输的可靠性要求不高,但是对传输速度和延迟要求较高时,可以用UDP协议来替代TCP协议在传输层控制数据的转发。UDP将数据从源端发送到目的端时,无需事先建立连接。UDP采用了简单、易操作的机制在应用程序间传输数据,没有使用TCP中的确认技术或滑动窗口机制,因此UDP不能保证数据传输的可靠性,也无法避免接收到重复数据的情况。

在这里插入图片描述

13.7.1 UDP头部

UDP头部仅占8字节,传输数据时没有确认机制。

在这里插入图片描述

UDP报文分为UDP报文头和UDP数据区域两部分。报头由源端口、目的端口、报文长度以及校验和组成。UDP适合于实时数据传输,如语音和视频通信。相比于TCP,UDP的传输效率更高、开销更小,但是无法保障数据传输的可靠性。UDP头部的标识如下:

  • 16位源端口号:源主机的应用程序使用的端口号。
  • 16位目的端口号:目的主机的应用程序使用的端口号。
  • 16位UDP长度:是指UDP头部和UDP数据的字节长度。因为UDP头部长度为8字节,所以该字段的最小值为8。
  • 16位UDP校验和:该字段提供了与TCP校验字段同样的功能;该字段是可选的。

13.7.2 UDP 特性

  • 工作在传输层
  • 提供不可靠的网络协议
  • 非面向连接协议
  • 有限的错误检查
  • 传属性能高
  • 无数据回复特性

13.8 ARP 协议

ARP:已知IP 求MAC
RARP:已知MAC 求IP

13.8.1 ARP 原理

在这里插入图片描述

一台网络设备要发送数据给另一太网络设备时,必须要知道对方的IP地址。但是,仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过数据链路进行发送,而数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。每一个网络设备在数据封装前都需要获取下一跳的MAC地址。IP地址由网络层来提供,MAC地址通过ARP协议来获取。ARP协议是TCP/IP协议簇中的重要组成部分,ARP能够通过目的IP地址发现目标设备的MAC地址,从而实现数据链路层的可达性。

13.8.2 ARP 数据包格式

ARP报文不能穿越路由器,不能被转发到其他广播域。

在这里插入图片描述
网络设备通过ARP报文来发现目的MAC地址。ARP报文中包含以下字段:

  • Hardware Type表示硬件地址类型,一般为以太网;
  • Protocol Type表示三层协议地址类型,一般为IP;
  • Hardware Length和Protocol Length为MAC地址和IP地址的长度,单位是字节;
  • Operation Code指定了ARP报文的类型,包括ARP request和ARP reply;
  • Source Hardware Address指的是发送ARP报文的设备MAC地址;
  • Source Protocol Address指的是发送ARP报文的设备IP地址;
  • Destination Hardware Address指的是接收者MAC地址,在ARP request报文中,该字段值为0;
  • Destination Protocol Address指的是指接收者的IP地址。

13.8.3 ARP 工作过程

主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址。

在这里插入图片描述

13.8.4 ARP 缓存

在这里插入图片描述

网络设备一般都有一个ARP缓存(ARP Cache),ARP缓存用来存放IP地址和MAC地址的关联信息。在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP request报文来获得它。学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。在有效期内,设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询。过了这段有效期,ARP表项会被自动删除。
如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址,然后将数据发送给网关,网关再把数据转发给目的设备。

13.9 上层协议类型

以太网帧中的Type字段值为0X0800,表示该帧的网络层协议为IP协议

在这里插入图片描述

13.10 IP 数据包头结构

在这里插入图片描述

IP 数据包 0x0800 (装在以太网数据帧里)
IP包头结构
1、 ( Version)版本:ipv4、ipv6

2、(Header Length)头长度:默认20B,最大60B

3、(DS Field)服务类型=TOS:8bit

IP 优先级:高位3bit:000 00000

DSCP(查分服务控制点):高位6bit000000 00

4、(Total Length)总长度:最大值 65535B

5、(ldentification)IP标识:是一个 随机无序列数

6、(Flags)标志位:
a、数据包是否被分段
b、是否为最后一个分段

7、(Fragment Offset)片偏移:标识分片的起始位

8、(Time to Live)生存时间(TTL):避免数据环路:每经过三层设备转发减一,变为0丢弃。

9、(Protocol)协议号:标识上层协议类型:

01=ICMP 
02=IGMP    
06=TCP    
17=UDP    抓包可能得到的是16进制的数字  P: 0x11 
89=OSPF    
112=VRRP

10、(Header Checksum)包头校验

11、(Source IP Address )源IP地址

12、(Destination IP Address)目的IP地址

第十四章 IP地址

14.1 IP地址的组成

IP地址分为网络部分和主机部分。
IP地址由32个二进制位组成,通常用点分十进制形式表示。

在这里插入图片描述

14.2 IP 地址类型

Pv4地址被划分为A、B、C、D、E五类,每类地址的网络号包含不同的字节数。A类,B类,和C类地址为可分配IP地址,每类地址支持的网络数和主机数不同。比如,A类地址可支持126个网络,每个网络支持224 (16,777,216 )个主机地址,另外每个网段中的网络地址和广播地址不能分配给主机。C类地址支持200多万个网络,每个网络支持256个主机地址,其中254个地址可以分配给主机使用。
D类地址为组播地址。主机收到以D类地址为目的地址的报文后,且该主机是该组播组成员,就会接收并处理该报文。各类IP地址可以通过第一个字节中的比特位进行区分。如A类地址第一字节的最高位固定为0,B类地址第一字节的高两位固定为10,C类地址第一字节的高三位固定为110,D类地址第一字节的高四位固定为1110,E类地址第一字节的高四位固定为1111。

在这里插入图片描述

私有地址范围
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
特殊地址
127.0.0.0 ~ 127.255.255.255
0.0.0.0
255.255.255.255

  • 27.0.0.0网段中的地址为环回地址,用于诊断网络是否正常。
  • IPv4中的第一个地址0.0.0.0表示任何网络,这个地址的作用将在路由原理中详细介绍。
  • IPv4中的最后一个地址255.255.255.255是0.0.0.0网络中的广播地址。

14.3 有类IP地址的缺陷

在设计网络时使用有类IP地址会造成地址的浪费

在这里插入图片描述如果企业网络中希望通过规划多个网段来隔离物理网络上的主机,使用缺省子网掩码就会存在一定的局限性。网络中划分多个网段后,每个网段中的实际主机数量可能很有限,导致很多地址未被使用。如图所示的场景下,如果使用缺省子网掩码的编址方案,则地址使用率很低。

14.4 CIDR 无类域间路由

无类域间路由CIDR(Classless Inter Domain Routing)由RFC1817定义。CIDR突破了传统IP地址的分类边界,将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。
如上图所示,一个企业分配到了一段A类网络地址,10.24.0.0/22。该企业准备把这些A类网络分配给各个用户群,目前已经分配了四个网段给用户。如果没有实施CIDR技术,企业路由器的路由表中会有四条下连网段的路由条目,并且会把它通告给其他路由器。通过实施CIDR技术,我们可以在企业的路由器上把这四条路由10.24.0.0/24,10.24.1.0/24,10.24.2.0/24,10.24.3.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减少了路由表的规模。

在这里插入图片描述

14.5 子网掩码

子网掩码用于区分网络部分和主机部分。子网掩码与IP地址的表示方法相同。每个IP地址和子网掩码一起可以用来唯一的标识一个网段中的某台网络设备。子网掩码中的1表示网络位,0表示主机位。

在这里插入图片描述

变长子网掩码

缺省子网掩码可以进一步划分,成为变长子网掩码(VLSM)。通过改变子网掩码,可以将网络划分为多个子网。本例中的地址为C类地址,缺省子网掩码为24位。现借用一个主机位作为网络位,借用的主机位变成子网位。一个子网位有两个取值0和1,因此可划分两个子网。该比特位设置为0,则子网号为0,该比特位设置为1,则子网号为128。将剩余的主机位都设置为0,即可得到划分后的子网地址;将剩余的主机位都设置为1,即可得到子网的广播地址。每个子网中支持的主机数为27-2(减去子网地址和广播地址),即126个主机地址。
在这里插入图片描述

14.6 网关

网关用来转发来自不同网段之间的数据包

在这里插入图片描述
报文转发过程中,首先需要确定转发路径以及通往目的网段的接口,然后将报文封装在以太帧中通过指定的物理接口转发出去。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的IP地址。网关设备上连接本地网段的接口地址即为该网段的网关地址。

猜你喜欢

转载自blog.csdn.net/u014578909/article/details/108163633