网络基础

网络基础知识
1.网络的分层模型
OSI模型的七层结构
7.应用层 :网络进程访问应用层
6.表示层 :数据表示
5.会话层 : 主机间通信
4.传输层 : 传输问题
3.网络层 :传输数据
2.数据链路层 :访问介质
1.物理层 :二进制传输

当我们发送数据时,每一层要进行数据的封装 如图
同样受到数据时会进行解封装 如图

网线我们常用的网线为双绞线UTP 其线序有两种
T568B
白橙 橙 白绿 蓝 白蓝 绿 白棕 棕

T568A
白绿 绿 白橙 蓝 白蓝 橙 白棕 棕


100M宽带以下通信我们需要用的到的线其实只有四根
12 36 当带宽高了以后需要用到的线就多了
T568A 和T568B之间也就是把12 和36 相互掉一个位置

MAC地址
MAC地址是 网卡 在出厂时, 厂商 烧于 网卡芯片 内的12位的16进制 数字 ,用于标识每一个网卡的,全世界没有一个相同的。MAC工作在第二层 数据链路层 ,它的作用就是用来标识一台装有网卡的 计算机 ,也就是工作于网络中的计算机。
 
TCP/IP 协议栈
TCP协议栈共分四层 他相对应的OSI模型的层级为
4.应用层 7.应用层 :网络进程访问应用层
6.表示层 :数据表示
5.会话层 : 主机间通信


3.传输层 4.传输层 : 传输问题
2.internet层 3.网络层 :传输数据
1.网络访问层 2.数据链路层 :访问介质
1.物理层 :二进制传输

1) 网络接口层:
主要是指物理层次的一些接口,比如电缆等.
2) 网络层:
提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换.
在 TCP / IP 协议族中,网络层协议包括 IP 协议(网际协议),ICMP 协议( Internet 互联网控制报文协议),以及 IGMP 协议( Internet 组管理协议).
3) 传输层:
为网络提供了流量控制,错误控制和确认服务.
在 TCP / IP 协议族中有两个互不相同的传输协议: TCP(传输控制协议)和 UDP(用户数据报协议).
4) 应用层:
为网络排错,文件传输,远程控制和 Internet 操作提供具体的应用程序





TCP协议包头为 如图
其中建立通讯比较重要的数据有 源端口 目的端口 序号 确认号 标记位中重要的有ACK , SYN
结束通讯的重要的数据有 源端口 目的端口 序号 确认号 标记位中重要的有ACK , SYN FIN


TCP协议是在ARP协议之后的
ARP广播是基于广播模式的

TCP协议的特性
工作在传输层
面向连接协议
全双工协议
半关闭
错误检查
讲数据打包成段,排序
确认机制
数据恢复重传
流量控制,滑动窗口
拥塞控制,慢启动么拥塞避免算法

TCP协议的三次握手
1. 建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,等待服务器确认
2. 服务器收到SYN包,必须确认客户的SYN(ack=i+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器进入SYN-RECV状态
3. 客户端收到服务器的SYN+ACK包,向服务器发送确认报ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

SYN攻击
在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是 Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址 是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网 络堵塞甚至系统瘫痪。SYN攻击时一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使用如下命令可以让之现行:
  #netstat -nap | grep SYN_RECV

四次挥手
1. 客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送
2. 服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号。
3. 服务器B关闭与客户端A的连接,发送一个FIN给客户端A
4. 客户端A发回ACK报文确认,并将确认序号设置为收到序号加1
,

IP协议包头如图



IP地址有两部分组成
1.网络ID
2.主机ID



IP地址分为四类
A类

0 000 0000 - 0 111 1111: 1-127
网络数:126, 127
每个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
B类
10 00 0000 - 10 11 1111:128-191
网络数:2^14
每个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
C类
110 0 0000 - 110 1 1111: 192-223
网络数:2^21
每个网络中的主机数:2^8-2
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0
D类
1110 0000 - 1110 1111: 224-239


特殊地址有
0.0.0.0 0.0.0.0不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。

255.255.255.255 限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机

127.0.0.1~127.255.255.254 本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的 数据包。

224.0.0.0到239.255.255.255 组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址 多用于一些特定的程序以及多媒体程序

169.254.x.x 如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主 机分配这样地址。

介于ABCD累的分类方式不一定能满足大多数要求所以现在生产中并不常用了 现在比较常用的是无类的IP地址

无类的IP地址
CIDR (无类域间路由):网络ID,主机不确定
CIDR表示法:172.20.0.1/22

无类IP地址需要用子网掩码(netmask)来定义
netmask: 是32位的二进制数,网络ID位数netmask对应是1 ,主机ID位数netmask为0

公式1:网段数量=2^可变网络ID位数
公式2:一个网段中可存在的主机数=2^(32-网络ID位数)-2

练习 :192.168.200.154/26的子网掩码是?
答案 :255.255.255.192
最多的主机数是多少
答案:2^6-2=62个

网络ID=IP地址和子网掩码相与

练习:172.20.222.123/20
172.20.222.123/20
在不在一个网段
答 172.20.208.0
172.10.224.0
不在一个网段

练习2
A:192.168.1.100/16和B:192.168.2.100/24在不在一个网段
答:从A的角度看在同一网段,B的角度看不在同一网段

划分子网
将一个大网络切割成多个小网络,需要借位(网络ID向主机ID借位)

一旦划分子网则主机ID数量减少两个(边界的两个主机ID不能用)

借N位,得到的子网数是2^N个子网数
练习 10.0.0.0/8分出32个子网
1)新的子网掩码是(netmask):10.00000 000.00000000.00000000
答:255.248.0.0
2)每个子网的主机ID是多少: 2^19-2
答:52万左右

10.248.0.0/13
希望再次把这个分成32个子网 10.00000000.00 000000.0
子网掩码:255.255.192.0 /18

主机数2^(32-18)-2个

新的最小IP是
10.248.0.0/18
最大是
10.255.192.0/18

3)最大的网络IP是 最小IP的是
10.00000 000.0.0 10.0.0.0/13 (与子网掩码相与)
10.11111 000.0.0 10.248.0.0/13 (与子网掩码相与)


合并超网
主机ID位向网络ID为借位


路由
路由器是为了实现多个网段互通的
路由器的工作原理是基于路由器里面的路由表的

搭建路由记录不需要搭建到单台主机,只需要到主机所在的网段就可以了
路由的分类有
主机路由
网络路由
默认路由

默认路由默认为0.0.0.0 路由器路由表中没有记录的就需要走默认路由

route -n 查看路由表
路由表的构成:
1) 目标IP : 数据包发送的目标路径
2) 子网掩码(netmask) : 配合目标IP使用
3) interface:路由器的出口(从哪个接口出去可以到达目标网络) (本路由器出来的接口)
4) gateway (网关):
如果是直连网络,网关可以不用配置
如果是非直连网络则是下一个路由器临近本路由器的地址 (下一个路由器临近我的口的IP地址)
练习
A ---1 R1 2 -----3 R2 4 ------ 5 R3 6-------B
A和B通讯需要的过程
1.判断B和自己是不是在同一个网段
2.ARP广播寻 通过IP1找R1的MAC地址
3.目标地址MAC R1 目标IP B 的IP 源IP A的IP 目标端口(如果用http端口是80)
4.R1查看自己的路由表查看到B 是否直连
5R1发送给R2 ,重复上面的步骤
详细步骤如图


LINUX 开启转发功能
echo 1 >> /proc/sys/net/ipv4/ip_forword 此文件是临时生效 如果想永久生效则
centos6 需要修改 /etc/sysctl.conf文件中的"net.ipv4.ip_forward 中的0 改为1
centos7 需要 echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
就可以了


IP路由的选择

网卡命名规则文件
/etc/udev/rules.d/70-persistent-net.rules
修改完之后可以重启让配置生效
但是服务器一般不能重启,我们可以用命令
dmesg | grep -i eth
先查看网卡的驱动模块
或者用ethtool -i eth#(#为你刚才修改的网卡)

命令modprobe -r e1000 (e1000是查到的网卡驱动名)
modrobe e1000启动网卡
就可以了
命令
ifconfig 查看网络状态
-a显示本机上所有活动的网络接口信息
ETH#:查看某个网卡名位ETH#的接口信息
ifconfig 网卡名 up 启用网卡
ifconfig 网卡名 down 禁用网卡
ifconfig eth1 1.1.1.1/24 : 把网卡eth1的地址改为1.1.1.1/24 (临时性更改)

ifdown 网卡名 : 禁用网卡 (需要有配置文件)
ifup 网卡名 :启用网卡 (需要有配置文件)

ip link :查看网络状态
route
route -n 查看路由表
添加路由
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
添加默认路由
route add -net IP/#(网段) gw ########
route add default gw #######
网卡配置文件:
/etc/sysconfig/network-script/ifcfg-eth#

删除
route del -net IP/#(网段)
netstat 查看网络状态
常用选项
-a 所有的(可配合u 、t 等使用 )
-l :监听状态
-n:以数字格式显示
-u:显示utp协议的
-p :监听时使用,显示相关的进程及PID
-e :扩展格式的信息
-t:显示tcp协议的
-w :裸套接字相关
经常配合使用:-tan -uan -tnl -unl

显示路由表的信息
netstat:
-r:显示内核路由表
-n:数字显示

显示接口信息
netstat:
-i :显示总的接口信息
-I :后边跟单个接口信息

ip命令
ip link
set ETH# up |down (关闭|开启某接口)
show :显示接口信息 可以(加单个接口)查看单个接口
ip addr {add|del} NEWIP DEV 添加|删除IP地址
ip addr add 172.20.0.100/16 dev eth0
ip addr add 172.20.0.100/16 dev eth0 label eth0:0 (增加地址)(网卡别名方式)
ip addr del 172.20.0.100/16 dev eth0

ip route add

网卡的工作模式 scope
globe:全局 (一台机器上的两个网卡如果是全局模式。则无论开不开启内核转发都可以互联互通)
link :单网卡模式
host :单机模式

ss命令
格式 ss [OPTION]...[FILTER]
OPTION:
-t :tcp相关
-u :udp相关
-w :裸套接字相关
-x :unix sock相关
-l :监听模式的链接
-n: 数字模式
-p :相关程序及PID
-e :扩展的信息
-m:内存用量
-o :计时器信息的
常用组合:-tan -tanl -tanlp -uan

LINUX网络配置文件
/etc/sysconfig/network-scripts/ifcfg-IFACE :IP 掩码以及网关 DNS的配置文件
/etc/syaconfig/network-scripts/route_IFACE :路由的配置文件

/etc/sysconfig/network-scripts/ifcfg-IFACE中的参数
DEVICE= 此配置文件应用到的文件
HARDDR= 对应设备的MAC地址
BOOTPROTO= 激活此设备时使用的地址配置协议常用的有 dhcp static none bootp等
ONBOOT= 系统启动时候是否激活次设备
TYPE= 接口类型常见的有Ethernet ,Bridge



静态情况时
IPADDR= IP地址
NETMASK= 子网掩码
GATEWAY= 默认网关
DNS1 第一个DNS服务器
DNS2 第二个服务器

USERCTL= 普通用户是否可以控制此设备
PEERDNS= 如果BOOTROTP的值为0 是否允许dhcp 是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf中

/etc/syaconfig/network-scripts/route_IFACE文件格式
地址 via 网关 (via是写到文件里的)

(2)ADDRESS0=
NETMASK0=
GATEWAY0=

如何给一个网卡加多个地址
ifconfig eth0:0 192.168.0.2/16 up
备注ifconfig所有的配置都是应用于内核的,所以只会临时生效,重启网络服务后会立即失效。
对于slave地址,即别名地址,若要永久生效,应该建立对应的别名接口配置文件,如/ets/sysconfig/network-scripts/ifcfg-eth0:0,然后在该文件中的DEVICE关键字上给定eth0:0名称,该DEVICE项必须配置正确。


ip 命令
配置文件
ifcfg-IFACE_ALIAS
DEVICE=IFACE-ALIAS
网络接口识别并命名的


查看端口与程序的对应关系
/etc/services
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值