linux学习笔记---网络基础

一、网络通讯基本原理

1、主机之间需要有传输介质

普通网线:由铜丝组成,传递电信号,信号会衰减,网线一般最多100米

光纤:由玻璃丝组成,传递光信号

无线传输介质:蓝牙、wifi

2、主机上必须有网卡设备

调制信号:将二进制信息转换为高低电压

解调信号:将高低电压转换为二进制信息

3、多台主机需要协商网络速率

如果连续发送3个低电压,需要通过网络速率来区分出有一个低电压。

100Mbps   ~  100Mbit per second ~ 每秒钟传输100M bit的信息

100Mb 网络的数据单位 bit       1bit=1/8byte    100/8=12.5

100MB 磁盘的数据单位 Byte   1byte=8bit       100*8=800M

根据网络中网络速率最小的设备,决定网络传输速度的大小。

设备包含:多台主机的网卡,交换机的网卡,网线的传输速度。

二、网络基础硬件介绍

1、交换机

实现相同局域网内主机之间的通讯

三层交换机:既有交换机功能又有路由器功能

四层交换机:能根据走的什么协议找到对应的应用

OSI7层模型的三层(网络层)、四层(传输层)

实现通讯:

1) 主机上要有相应的mac地址(物理地址) 有12位16进制数组成

2) 通讯的过程一定是有去有回的

3) 有了mac地址,同一网络内的两台主机就可以通信了

4) 一台主机通过广播获取另外一台主机的mac地址

5) 广播会影响主机性能,尽量少的主机在一个局域网内

2、路由器

实现不同局域网主机之间的通讯,又称网关设备

网关地址就是主机所在局域网连接路由器的那个接口地址

网关接口就是主机所在局域网连接路由器的那个接口

网关是主机想连接其他网络的必经之路

实现通讯:

1) 主机上要有相应的IP地址(逻辑地址)  用十进制表示

2) IP地址的组成:网络部分(标识子网)+主机部分(标识主机)

3) 子网掩码:划分IP地址的网络部分和主机部分

4) 需要借助路由器中的路由表实现通讯

路由表:

由{ 网络信息(局域网标识)  +  路由器的接口信息 }组成

路由表的信息是如何生成的?

1) 利用直连网络环境自动生成

2) 利用手工配置方式  (静态路由配置)

3) 利用路由协议动态生成  (动态路由配置)

网络环境规划:

1、两台主机:

2、两台交换机

3、三台路由器,每台路2张网卡2个接口

R1配置:

Router>    (默认进入用户模式)

Router> enable 

Router#    (切换到了特权模式,可以进行系统配置查看)

Router# conf t

Router(config)#   (切换到了配置模式)

Router(config)# interface  g0/0

Router(config-if)#  (切换到了接口模式)

g0/0接口配置

ip address 192.168.1.254 255.255.255.0

no shutdown   (默认g0/0接口关闭状态,需要激活)

g0/1接口配置

ip address 192.168.2.1 255.255.255.0

no shutdown

检查确认:

ctrl+z 快速返回到特权模式

show ip interface brief    --- 只显示ip地址信息

4、记录各个路由的路由表

R1#show ip route

     192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.1.0/24 is directly connected, GigabitEthernet0/0
L       192.168.1.254/32 is directly connected, GigabitEthernet0/0
     192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.2.0/24 is directly connected, GigabitEthernet0/1
L       192.168.2.1/32 is directly connected, GigabitEthernet0/1

C表示路由器连接的网段,L表示路由器用哪个地址连接到C这个网段
******************************************************************

R2路由表
     192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.2.0/24 is directly connected, GigabitEthernet0/0
L       192.168.2.2/32 is directly connected, GigabitEthernet0/0
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.3.0/24 is directly connected, GigabitEthernet0/1
L       192.168.3.1/32 is directly connected, GigabitEthernet0/1
******************************************************************

R3路由表
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.3.0/24 is directly connected, GigabitEthernet0/0
L       192.168.3.2/32 is directly connected, GigabitEthernet0/0
     192.168.4.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.4.0/24 is directly connected, GigabitEthernet0/1
L       192.168.4.1/32 is directly connected, GigabitEthernet0/1

5、R1路由表中没有去往192.168.4.0往段的信息,可通过以下两种方法实现

静态路由配置方法:

ip route 去往网络地址信息 网络掩码  去往目标的下一条接口地址

R1静态路由配置

R1>en
R1#conf t
R1(config)#ip route 192.168.4.0 255.255.255.0 192.168.2.2
R1#show ip route

     192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.1.0/24 is directly connected, GigabitEthernet0/0
L       192.168.1.254/32 is directly connected, GigabitEthernet0/0
     192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.2.0/24 is directly connected, GigabitEthernet0/1
L       192.168.2.1/32 is directly connected, GigabitEthernet0/1
S    192.168.4.0/24 [1/0] via 192.168.2.2
******************************************************************

R2静态路由配置

R2>en
R2#conf t
R2(config)#ip route 192.168.4.0 255.255.255.0 192.168.3.2
R2#show ip route

     192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.2.0/24 is directly connected, GigabitEthernet0/0
L       192.168.2.2/32 is directly connected, GigabitEthernet0/0
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.3.0/24 is directly connected, GigabitEthernet0/1
L       192.168.3.1/32 is directly connected, GigabitEthernet0/1
S    192.168.4.0/24 [1/0] via 192.168.3.2
******************************************************************

192.168.3.2可以连接192.168.4.0网段,所以不用配置R3路由

R3#show ip route
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.3.0/24 is directly connected, GigabitEthernet0/0
L       192.168.3.2/32 is directly connected, GigabitEthernet0/0
     192.168.4.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.4.0/24 is directly connected, GigabitEthernet0/1
L       192.168.4.1/32 is directly connected, GigabitEthernet0/1

******************************************************************
因为一个完整的通讯是有去有回的,还要配置回的静态路由,网络才能ping通

先配置R3的静态路由
ip route 192.168.1.0 255.255.255.0 192.168.3.1

S    192.168.1.0/24 [1/0] via 192.168.3.1
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.3.0/24 is directly connected, GigabitEthernet0/0
L       192.168.3.2/32 is directly connected, GigabitEthernet0/0
     192.168.4.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.4.0/24 is directly connected, GigabitEthernet0/1
L       192.168.4.1/32 is directly connected, GigabitEthernet0/1

再配置R2的静态路由
ip route 192.168.1.0 255.255.255.0 192.168.2.1

S    192.168.1.0/24 [1/0] via 192.168.2.1
     192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.2.0/24 is directly connected, GigabitEthernet0/0
L       192.168.2.2/32 is directly connected, GigabitEthernet0/0
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.3.0/24 is directly connected, GigabitEthernet0/1
L       192.168.3.1/32 is directly connected, GigabitEthernet0/1
S    192.168.4.0/24 [1/0] via 192.168.3.2

R1有去往192.168.1.0,无需配置。以上才实现这两个主机的通讯。
删除静态路由方法:

R1取消静态路由
no ip route 192.168.4.0 255.255.255.0 192.168.2.2
R2取消静态路由
no ip route 192.168.4.0 255.255.255.0 192.168.3.2
no ip route 192.168.1.0 255.255.255.0 192.168.2.1	
R3取消静态路由
no ip route 192.168.1.0 255.255.255.0 192.168.3.1

动态路由配置方法:

实现多个路由器路由表信息一致的过程: 路由收敛过程
把当前路由知道的网络宣告出去,互相学习
动态路由协议:RIP EIGRP OSPF IS-IS BGP

R1动态路由配置:
router rip   --- 指定配置使用什么路由协议
network 192.168.1.0  --- 宣告路由相连的网络
network 192.168.2.0  --- 宣告知道的所有网络

R2动态路由配置:
router rip
network 192.168.2.0
network 192.168.3.0

R3动态路由配置
router rip
network 192.168.3.0
network 192.168.4.0
***********************************************
R1路由表学习到的信息
R    192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:09, GigabitEthernet0/1
R    192.168.4.0/24 [120/2] via 192.168.2.2, 00:00:20, GigabitEthernet0/1

R2路由表学习到的信息
R    192.168.1.0/24 [120/1] via 192.168.2.1, 00:00:07, GigabitEthernet0/0
R    192.168.4.0/24 [120/1] via 192.168.3.2, 00:00:13, GigabitEthernet0/1

R3路由表学习到的信息
R    192.168.1.0/24 [120/2] via 192.168.3.1, 00:00:23, GigabitEthernet0/0
R    192.168.2.0/24 [120/1] via 192.168.3.1, 00:00:23, GigabitEthernet0/0

3、网络拓扑

 三个层次规划网络拓扑

核心层: 路由器(网关接口),实现和外网通讯,冗余能力(主备)

核心层的功能主要是实现骨干网络之间的优化传输,骨干层设计任务的重点通常是冗余能力、可靠性和告诉的传输

汇聚层: 交换机(三层交换机) ,冗余能力,策略控制能力

汇聚层是楼群或小区的信息汇聚点,是连接接入层和核心层的网络设备,为接入层提供数据的汇聚、传输、管理、分发处理。汇聚层为接入层提供基于策略的连接,如地址合并、协议过滤、路由服务、认证管理等。通过网段划分(如VLAN)与网络隔离可以防止某些网段的问题蔓延和影响到核心层。汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保护核心层的安全和稳定。

接入层: 交换机(二层交换机) ,终端设备接入网络

接入层通常指网络中直接面向用户连接或访问的部分。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。

三、网络层次模型

1、OSI7层模型

由ISO(国际标准化组织)定义的标准通讯模型

利用OSI7层模型如何建立主机之间的通讯:

数据的封装过程(数据的发送)

1、应用层产生data

2、表示层对data进行转换、加密、压缩

3、会话层建立发送data的会话

4、传输层封装数据
目标服务端口+源服务端口+data

5、网络层封装数据
目标IP地址+源IP地址+目标服务端口+源服务端口+data

6、数据链路层封装数据
目标MAC地址+源MAC地址+目标IP地址+源IP地址+目标服务端口+源服务端口+data

7、物理层会把封装后的数据,转换为计算机识别的二进制数据,即比特流

8、最后网卡将比特流数据转换为高低电压在网络中传输

数据的解封装过程(数据的接收),与封装过程相反

2、TCP/IP模型

DHCP协议:

1、Client:向网络中发送广播,通过自己的UDP协议的68号端口向网络中发送DHCP Discover包,用来寻找网络中的DHCP Server.类似于你在你的公司大喊一声:"谁是公司老板"一样的道理。

2、Server:局域网中的所有DHCP服务器都能收到该Client发送的广播包,然后DHCP Server会检查自己的IP池中(也叫做作用域)是否还有可用IP可以分发。如果有的话,会直接将这个IP地址从池中拿出来,避免在发给别的客户端,并且通过自己的UDP协议的67号端口给Client发一个响应包DHCP Offer,同样通信是采用广播的方式,明确告诉其可以提供哪个IP给Client使用。类似于公司的几个老板都在公司喊了一声:“我是X老板,我有时间在哪个办公室接待你”。

3、Client:Client会收到局域网中的所有DHCP服务器发给自己的DHCP Offer包,默认选一个最优的DHCP Server进行IP获取(在这里就是第一个发送给他DHCP Offer的服务器算作最优)。然后继续向网络中通过UDP的68号端口发广播DHCP Resquest,明确指定DHCP Server IP地址和需要租用的IP地址,告诉它要从他这里获得IP信息。自然其他DHCP Server也能收到广播,确认不从自己这里拿IP信息后,会将上步从IP池中拿出来的IP在释放到池中,以便别人使用。类似于你在公司大喊一声:“李老板,我找你接待”,那么其他老板刚才计划接待你的时间就会被释放出来,用于接待别的客户。

4、Server:被确认的DHCP Server就会通过其UDP协议的67号端口发送DHCP ACK确认包,采用广播将IP、掩码、网关、DNS等信息还有IP租约一起发送给DHCP Client,Client确认IP可用后,根据IP租约开始计算使用时间。类似于李老板把你请进他的办公室,开始和你聊天,并计算聊天时间为30分钟,开始倒计时。

 

TCP协议:

可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。

UDP协议:

当应用程序希望通过UDP与一个应用程序通信时,传输数据之前源端和终端不建立连接。当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

ARP协议:

ARP协议由来:计算机通信基本靠吼,即广播的方式,所有上层的包到最后都要封装上以太网头,然后通过以太网协议发送,在谈及以太网协议时候,我们了解到通信是基于mac的广播方式实现,计算机在发包时,获取自身的mac是容易的,如何获取目标主机的mac,就需要通过ARP协议

ARP协议功能:广播的方式发送数据包,获取目标主机的mac地址

ARP协议工作方式:每台主机ip都是已知的

例如:主机172.16.10.10/24访问172.16.10.11/24

一:首先通过ip地址和子网掩码区分出自己所处的子网

二:分析172.16.10.10/24与172.16.10.11/24处于同一网络(如果不是同一网络,那么下表中目标ip为172.16.10.1,通过arp获取的是网关的mac)

三:这个包会以广播的方式在发送端所处的子网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应返回自己的mac

Ethernet协议(以太网协议):

早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet

ethernet规定:
    一组电信号构成一个数据包,叫做‘帧’
    每一数据帧分成:报头head和数据data两部分

head包含:(固定18个字节)
    发送者/源地址,6个字节
    接收者/目标地址,6个字节
    数据类型,6个字节

data包含:(最短46字节,最长1500字节)
    数据包的具体内容

head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

headdata

 

 

3、TCP三次握手四次挥手

TCP协议报文结构

TCP的报文段结构由报文头和数据组成。报文头的固定长度为20字节,可拓展长度为0~40字节

source port number:源端口,16bits,范围0~65535

target port number:目的端口,16bits,范围0~65535

sequence number:数据序号,32bits,本报文段所发送数据的第一个字节的序号。TCP连接传送的数据流中,每一个字节都会编上一个序号。

acknoledgement number:确认号,32bits,期望收到对方下一个sequence number

header length:报文头长度,4bits,单位为4字节,所以取值为5~15

reserved:保留字段(包含CWR,ECE),6bits,保留今后使用,目前置0处理。

URG:紧急比特,1bit,当 URG=1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

ACK:数据信息确认控制字段,1bit,只有当 ACK=1 时确认号字段才有效。当 ACK=0 时,确认号无效。

PSH:推送比特,1bit,接收方 TCP 收到推送比特置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。

RST:复位比特,1bit,当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

SYN:请求建立连接控制字段,1bit,SYN 置为 1,就表示这是一个连接请求或连接接受报文。

FIN:请求断开连接控制字段,1bit,当FIN=1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

window size:窗口大小,16bits,窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。

checksum:检验和,16bits,检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。

urgent pointer:紧急指针字段,16bits,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。

options:选项字段,长度可变。TCP 首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。

TCP三次握手

1、客户端发送(SYN=1,seq=x)报文给服务端(LISTEN状态),进入SYN_SEND状态。

2、服务端收到报文,回应一个(SYN=1,ACK=1,seq=y ,ack=x+1)报文,进入SYN_RECV状态。

3、客户端收到报文,回应一个(ACK=1,seq=x+1 ,ack=y+1)报文,进入Established状态。

4、服务端收到报文,进入Established状态。三次握手期间只传输报文头信息,不带数据。

5、三次握手完成,成功地建立连接,可以开始传输数据了。

TCP四次挥手

1、主动端发送(FIN=1,ACK=1对上条接收报文的确认,seq=x ,ack=y)报文给被动端,进入FIN_WAIT1状态。

2、被动端收到报文,回应一个(ACK=1,seq=y ,ack=x+1)报文,进入CLOSE_WAIT状态。

3、主动端收到报文,继续等待被动端报文,并进入FIN_WAIT2状态。

4、被动端接着发送一个(FIN=1,ACK=1,seq=y ,ack=x+1)报文,进入LAST_ACK状态。

5、主动端收到报文,回应一个(ACK=1,seq=x+1 ,ack=y+1)报文,并进入TIME_WAIT状态。

6、被动端收到报文,进入CLOSED状态。主动端等待一段时间后也进入CLOSED状态。

四次挥手的原因:握手和挥手都是由会话层决定的,被动端发送一个ACK后,请求会话层决定是否断开,如果同意断开且数据传完后,才发送FIN=1、ACK=1发起同主动端的断开。三次握手不用请求会话层,是因为有LISTEN相当于已经授权了。

三次挥手:如果被动端第一次发送的ACK=1报文,由于网络原因主动端未接收到,但是直接收到了第二次发送的FIN=1、ACK=1报文,主动端直接从FIN_WAIT1状态变成了CLOSING状态。

四、DNS的解析原理

LDNS指的是电脑网卡上配置的DNS地址

五、IP地址详解

IP地址的分类

1、按照地址的范围进行划分

2、按照地址的范围进行划分

公网地址:全球唯一

私网地址:重复利用地址, 避免地址枯竭, 私网地址网段不能出现在互联网路由器路由表

3、按照通讯方式划分

单播地址:网卡上配置的地址

广播地址:主机位全为1的地址  192.168.1.11111111 --> 192.168.1.255

主机位全为0的地址  --- 网络地址(网段)      --> 192.168.1.0

网络中主机数量=2的n次方-3(广播地址、网络地址、路由网关地址)

C类地址, 一个网络中可以有 253个主机

B类地址, 一个网络中可以有65533个主机

A类地址, 一个网络中可以有166777213个主机

组播地址:D类地址,指定那几台地址在一个网络中通讯

IP地址子网划分

子网划分概念:将一个大的网络划分成几个小的网络

不做子网划分:

1) 一个大的网络, 不做子网划分, 造成地址浪费

2) 一个大的网络, 主机全重启后,造成广播风暴(类似ddos攻击)

3) 一个大的网络, 同时访问外网时, 造成路由压力

做子网划分:节省IP地址、减少广播影响、减轻路由器压力

如何进行子网划分

172.16.10.0  子网掩码标识 255.255.0.0(简写172.16.10.0/16)

五、上网原理

办公环境上网原理

在企业中不用配置交换机,主要配置路由器:

01.配置上网的用户名密码,实现拨号上网,自动获取公网地址,公网地址会变。

02.静态公网地址需要向运行商申请,再在路由器外网(vlan)接口配置该静态地址。

03.需要在路由器上配置DHCP服务信息,自动分配IP地址。

04.需要配置路由信息(静态默认路由:配置网卡重启服务后自动生成的路由信息)

静态默认路由不管你想访问哪个网段,都通过网卡配置的网关将访问的请求发出去

虚拟主机上网原理

1、NET实现虚拟主机访问外网

2、桥接方式实现虚拟主机访问外网

3、仅主机模式,不能访问外网(相比桥接去掉了交换机的连接)

六、系统路由设置

之前都是在网络设备中配置路由,在linux系统中也能够配置路由。

centos6设置方法:route命令(默认软件包net-tools)

1、静态默认路由(实现主机访问外网,或测试新的网关能否访问外网):

1、编写网卡配置文件

2、利用命令临时配置,系统或者网络服务重启后就失效了:
   
    route add default gw 10.0.0.2(网关地址)

    route del default gw 10.0.0.2

2、静态网段路由:

3、静态主机路由:

基于静态网段路由配置的后续,如果不是分公司而是合作公司互相通信时,则只允许网段中某些主机能被访问,此时就需要配置静态主机路由。

route add -host 要访问的主机 dev 源服务器的出发接口
route add -host 10.0.3.201 dev eth1

route del -host 10.0.3.201 dev eth1

centos7设置方法:ip route命令(默认软件包iproute)

1、静态默认路由:

1、编写网卡配置文件

2、利用命令临时配置,系统或者网络服务重启后就失效了:

     ip route add default via 10.0.0.2

     ip route del default via 10.0.0.2

2、静态网段路由:

ip route add -net 10.0.3.0 netmask 255.255.255.0 via 10.0.1.2
ip route del -net 10.0.3.0 netmask 255.255.255.0 via 10.0.1.2

3、静态主机路由:

ip route add -host 要访问的主机 via 源服务器的网关地址
ip route add -host 10.0.3.201 via 10.0.1.2

ip route del -host 10.0.3.201 via 10.0.1.2

本笔记学习来自https://www.luffycity.com/home

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值