手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux网络管理超详细讲解

[日期:2014-06-09] 来源:Linux社区  作者:Linux [字体: ]

网络技术:
1.网络基础,CCNA+CCNP
2.网络功能实现

网络基础:
什么是网络?

物理组件:
计算机:
PC,Server
网络设备:
HUB,Bridge,Switch,Router,Gateway,Firewall,Net-Defence,LB,...
网络连接器:
NIC(Network Interface Card),Connection-Ware(RJ-45网线水晶头,RJ-11电话线水晶头,...)
网络通信介质:
有线:同轴电缆,光纤,双绞线
无线:微波,蓝牙,红外线

软件组件:
网络操作系统:
Windows、Linux、UNIX
Cisco:IOS,Internetwork Operating System;
Huawei:ComWare,Communication Ware;
通信协议:
通过库实现:
TCP/IP
IPX/SPX
OSI
数据库:
数据库管理系统:
Oracle,MySQL,MariaDB,Percona Server,PostGreSQL(PGSQL),SQL Sever
网络应用程序:

计算机网络:将地理位置分散且功能独立的主机通过网络设备通信介质连接起来,基于某种通信协议标准实现数据通信和资源共享的系统的集合;

网络基本功能:
数据通信:
实现数据通信功能的OSI层次我们称为通信子网:包括:物理层、数据链路层、网络层、传输层;
通信子网关注数据通信的细节和过程;
资源共享:
实现资源共享功能的OSI层次我们称为资源子网;包括:会话层、表示层、应用层;
资源子网关注通信的结果;
数据通信是实现资源共享的手段,资源共享是实现数据通信的最终目的

1984年:
ISO:International Standard Organization
ISO/OSI(Open System Internetwork)

根据网络功能划分层次:
资源子网
 应用层:
  1.为应用程序提供网络连接服务;
  2.完成身份验证
 表示层:数据表示
  1.数据编码和解码
  2.数据加密和解密
  3.数据压缩和解压缩
 会话层:主机到主机之间的会话通信
  主机之间的会话建立的主体是应用程序进程;

通信子网
 传输层:端到端的连接,范围到范围的通信连接;
  端到端连接的建立,维护和拆除;
  可靠性传输和非可靠性传输;
  可靠性传输:
    面向连接
    流量控制
    数据重传和确认
    序列化数据
  非可靠传输:
    面向无连接
    无序列化数据
    无数据重传和确认
    无流量控制
    数据快速传输
 网络层:路由选择
  1.逻辑寻址:用逻辑地址标识数据的发送者和接收者;
  2.确定路由:根据逻辑地指标识确定数据传输路径;
  3.地址解析:用逻辑地址解析物理地址;

  定义逻辑地址:
  IP地址:互联网地址,IPv4、IPv6
    IPv4地址:32 bits --> digit,地址表示形式:点分十进制;
    示例:172.16.72.1
    IPv6地址:ipng,128 bits --> 32 xdigits --> 冒号分十六进制;
    示例:D120::45

  注意:逻辑地址用于标识主机在网络中的位置,物理地址用于数据通信;

 数据链路层:介质访问,点到点连接
  功能:
  1.格式化数据:将数据规范成二进制格式
  2.物理寻址:标识数据的发送者和接受者
  3.错误检测:CRC算法

  定义了物理地址:
  以太网:以太网地址,MAC地址,MAC(Media Access Control)
    48Bits --> 12 xdigit
    Windows:00-00-00-00-00-00
    Linux/UNIX:00:00:00:00:00:00
    Cisco:0000.0000.0000
    MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号
    注意:物理地址是直接烧录在网络接口设备的ROM芯片中;

 物理层:
  二进制比特流传输
  定义了:电气规范,机械规范,功能规范,过程规范

OSI的应用:
数据的封装和解封装;
发送数据一方实施数据封装;
接收数据一方实施数据解封装;

保证封装和解封装能够顺利进行的标准:
对等通信原则:
发送方和接收方双方的相同层次,必须拥有完全相同的数据处理方式;

TCP/IP
协议栈,协议标准:

IEEE:美国电气和电子工程师协会(IEEE)是一个国际性的电子技术与信息科学工程师的协会,是世界上最大的专业技术组织之一(成员人数),拥有来自175个国家的36万会员(到2005年)。

TCP/IP协议栈是根据协议来分层;分层标准模糊;
网络的实际应用标准;网络实现的事实标准;

物理层:
 X.25,TIA/EIA 568A/568B,...
数据链路层:
 ppp,pppoE,HDLC,SLIP,Frame_Relay(FR),...
互联网层:
 IP,IGMP(管理组播通信),ICMP,ARP(能够根据逻辑地址能够解析到MAC地址),RARP(能够根据MAC地址能够获取到逻辑地址)
传输层:
 TCP,UDP,OSPF,EIGRP,...
应用层:
 HTTP,HTTPS,FTP,DNS,DHCP,SMB(服务消息块),

互联网层:
IP的功能:
1.寻址和路由
2.数据分片和重组
3.无连接不可靠传输(无序传输)

IP寻址:
分层编址的地址:网络部分 + 主机部分
网络部分:描述主机所在的逻辑网络范围
主机部分:描述在特定的逻辑网络范围内的具体位置

IPv4地址:
32bits二进制构成的地址标识符号;4个8位组
为方便人读取,将其设置为点分十进制格式;

A.B.C.D
 A:0~255
 B:0~255
 C:0~255
 D:0~255

IPv4地址分类:
 A类:最左侧的二进制数字是“0”,8个网络位,24个主机位;
    00000000 - 011111111
    0 - 127
    0:
    127:主机环回地址;
    可以地址范围:
    1.0.0.0-126.255.255.255
 B类:最左侧的两位二进制数字是“10”,16个网络位,16个主机位;
    10000000 00000000 - 10111111 11111111
    128.0 - 191.255
    可以地址范围:
    128.0.0.0-191.255.255.255   
 C类:最左侧的三位二进制数字是“110”,24个网络位,8个主机位;
    11000000 00000000 00000000 00000000 - 11011111 11111111 11111111 11111111
    192.0.0 - 223.255.255
    可以地址范围:
    192.0.0.0-223.255.255.255     
 D类:最左侧的四位二进制数字是“1110”,32个网络位,0个主机位;
  组播地址,多播地址
    11100000 00000000 00000000 00000000 - 11101111 11111111 11111111 11111111
    224.0.0.0 - 239.255.255.255
    可以地址范围:
    224.0.0.0-239.255.255.255
 E类:最左侧的四位二进制数字是“1111”,32个网络位,0个主机位;
  多用于科学研究
    11110000 00000000 00000000 00000000 - 11111111 11111111 11111111 11111111
    240.0.0.0 - 255.255.255.255
    可以地址范围:
    240.0.0.0-255.255.255.255

私有IP地址:
A:10.0.0.0 - 10.255.255.255
B:172.16.0.0 - 172.31.255.255
C:192.168.0.0 - 192.168.255.255
公有IP地址:
A:1.0.0.0 - 9.255.255.255 + 11.0.0.0 - 126.255.255.255
B:128.0.0.0 - 172.15.255.255 + 172.32.0.0 - 191.255.255.255
C:192.0.0.0 - 192.167.255.255 + 192.169.0.0 - 223.255.255.255

NAT:Nework Address Translation ,网络地址转换
SNAT:
将数据包的源IP地址从私有IP地址换为公有IP地址;
多用于让客户端连接到互联网;
DNAT:
将数据包的目的IP地址从公有IP地址换为私有IP地址;
多用于将服务器上的服务发布到互联网;

以太网协议首部:
第一行:
第一字段:目的地址,6bits
第二字段:源地址,6bits
第三字段:类型,2bits
第四字段:数据,46~1500bits
第二行:
第一字段:类型,2bits
第二字段:IP数据报,46~1500bits
第三行:
第一字段:类型,2bits
第二字段:ARP请求/应答,28bits
第三字段:PAD,18bits
第四行:
第一字段:类型,2bits
第二字段:RARP请求/回答,28bits
第三字段:PAD,18bits

UDP协议首部:
第一行:
第一字段:源端口号,16bits;
第二字段:目标端口号,16bits;
第二行:
第一字段:UDP长度,16bits;
第二字段:UDP检验和,16bits;
第三行:(如果有就是)数据

IP PDU 首部:!!!!! 看一下IPv6的首部格式 首部是工作面试中的重点!!!
第一行:
1.Ver:4bits,IP协议的版本号:0110表示IPv6|0100表示IPv4
2.IHLL:4bits,Header Length,首部长度;最少0101 - 最多1111(200Bytes- 600Bytes)
3.TOS and PRIORITY:8bits
0000:最大带宽,最小延迟,最高可靠性,最高负载;只有5中取值方式0000,1000,0100,0010,0001
0:保留为;
000:优先级,000-111
4.Packet Length:16bits,IP协议可以封装的数据包的最大长度65535Bytes;
第二行:
1.Indentifier:16bits,标识来源于那一个上层协议报文;
2.Flag:3bits,
0:是否可分片;
0:是否为最后分片;
0:保留
3.Offset:13bits,被切分为数据分片之后的各分片的顺序标号;
第一个分片为0,第二各分片偏移量为第一个分片的大小除以8的结果,...
第三行:
1.TTL:8bits,为了防止数据包被路由时,因为缺少目的地址而无限循环;
数据包在经过任意的路由设备时,其TTL会减1,一旦TTL减到0,接受此数据包的设备将其丢弃;
2.Protocol:8bits,互联网层和传输层的通信接口,通过此处指明的协议号,互联网层可以在上层找到对应的协议来继续处理该数据;
TCP:6 00000110
UDP:17 00010001
OSPF:89
EUGRP:88
3.Header Checksum:16bits,首部校验和,将整个首部做hash,得到4位16进制数字;通常会在接收放主机上,对于接受到的数据包再次进行hash运算,将得到的结果与此处保存的结果进行异或比较,以确定是否在传输过程中被修改;
第四行:
源IP地址
第五行:
目的IP地址

IP地址的使用:
源IP地址:
1.手动配置
2.自动配置:DHCP,RARP

目的IP地址:
1.手动指定
2.名称解析:
hosts文件
NIS
DNS(手动指定或自动获得)

TCP/IP分层模型中,通信界定地址:
物理地址:
以太网地址,MAC地址;
功能:真正的用于本地通信的地址; 使用范围:本地局域网内部且不夸路由设备;

逻辑地址:
在TCP/IP协议栈中,逻辑地址被定义为IP地址;
功能:界定主机到主机的通信地址;点到点通信;逻辑地址仅用于主机定位不用于真正的通信;
使用范围:全球互联网;

逻辑端口号:
在TCP/IP协议栈中
功能:界定进程到进程的通信;

逻辑端口号的组成:
16bits二进制构成;其表示范围为0~65535;
0:他是特殊端口号不做定义;
1-1023:固定服务端口;
FTP:20/TCP,21/TCP
SSH:22/TCP
TELNET:23/TCP
SMTP:25/TCP
DNS:53/TCP,53/UDP
DHCP:
DHCPS:67/UDP
DHCPC:68/UDP
TFTP:69/UDP
HTTP:80/TCP
POP3:110/TCP
IMAP4:143/TCP
SNMP:161/UDP,162/UDP
HTTPS:443/TCP
1024-45121:半固定服务端口;也可以称为注册端口
mysql:3306/TCP
tomcat:8080/TCP,8009/TCP,8005/TCP,8040/TCP
Memcached:11211/TCP
其余端口号:可自由分配使用的端口;

逻辑地址:逻辑端口号——套接字(Socket)
能够界定特定主机上的特定应用程序服务进程;

TCP协议:
1.面向连接:
1)通信开始之前,必须先建立通信双方主机之间的TCP通信连接;
2)在整个通信过程中,必须维持通信双方主机之间的TCP通信连接的稳定性;
3)在通信结束时,必须拆除双方主机之间已建立的TCP通信连接;

TCP协议建立连接的过程:三次握手
a)通信请求发起方,创建一个无数据报文,将其中的SYN标志位置一;
b)接收方在收到建立连接的请求之后,根据给报文的目标端口号判断本地是否有监听此套接字的进程;如果有,即返回确认消息;创建一个无数据报文,将其中的ACK标志位置一,同时将SYNC标志位置一,用户向对方请求建立同步连接;
c)通信请求发起方,再创建一个无数据报文,将其中的ACK标志位置一;
TCP协议拆除连接的过程:四次挥手
a)由任何一方在数据传输结束之后,向另一方发送一个自己创建出来的数据报文,其中FIN标志位置一;
b)收到连接断开请求的一方,会对此请求信息予以确认,创建一个无数据报文,其中ACK标志位置一;
c)此前收到连接断开请求的一方会再次创建一个无数据报文,将其中的FIN标志位置一,向对方请求断开连接;
d)对方在收到此请求报文之后,再创建一个无数据报文,将其中的ACK标志位置一确认断开连接的请求;

TCP协议的有限状态机(TCP FSM)

TCP协议首部:
第一行:
第一字段:源端口号,16bits;
第二字段:目标端口号,16bits;可以手动指定,也可以通过/etc/services文件判断自动解析应用层协议获得;

第二行:
序列号:TCP协议将大数据报文分段的顺序编号,取值范围是0~2^32-2;默认情况下,第一个数据段的序列号为随机选择,以后的数据段的序列号通过计算得到;
第一段:随机产生;
后续其他数据段:前一数据段的序列号+前一数据段的数据部分大小+1;

第三行:
确认号:(下一段的序列号)
接收到的最后一个数据段的下一个数据段的序列号;取值范围1~2^32-1;

第四行:
第一字段:4bits,报文首部长度,通常报文首部长度为24Bytes~60Bytes;
第二字段:标志位:13bits
前三位:保留位;
4-6位:特殊标志位;
URG:紧急指针标志位,优先转发标志位;URG指针置一,后面的16bits的紧急指针才能生效
ACK:确认标志位,保证数据传输可靠性;
PSH:推进标志位
RST:重置标志位
SYN:同步标志位,三次握手建立连接时必选的标志位
FIN:结束标志位,四次握手拆除连接时必选的标志位;
第三字段:窗口大小,16bits;一次并发传输的数据段的数量;

第五行:
第一字段:数据段校验和,16bits,保证数据的完整性;
第二字段:紧急指针,16bits,在URG标志位置一时,哪个数据段更紧急

第六行:
选项:TCP协议分段的标准;TCP协议的数据分段数间戳;...

TCP协议的确认机制:
1.发送方在接受到接收方返回的确认数据之前,不会继续发送后续的数据段;
2.在指定定的时间内,发送方没有接收到接收方返回的确认数据,则重新发送此前发送的数据段;

数据传输过程:
发送方打算把应用数据发送给接收方:
1.将给出的主机名解析为此次通信的目标主机IP地址;
2.将应用层协议解析为传输层协议加传输层端口号的组合(套接字),进而完成传输层封装;
3.如果传输层使用TCP协议,则还需要为TCP协议通信建立连接;
4.如果需要建立TCp连接,必须能够在网络层正确封装IP地址以及在数据链路层正确封装MAC地址;
5.在ARP缓存中,如果没有对应的目标IP地址条目信息,则需要广播ARP解析目标主机地址;
6.解析获得目标主机的MAC地址后,则可以通过三次握手建立TCP连接;
7.为应用层程序提供数据发送;
8.在数据传输完成之后,需要拆除TCP连接;

子网掩码(Netmask)
组成:32bits二进制组成,与IPv4的地址位数相同;以点分十进制进行标识;
作用:用来标识IPv4地址中的网络部分和主机部分各占多少个二进制位;凡是万罗部分就用“1”表示,凡是主机部分,就用“0”表示;

A类地址的标准子网掩码:255.0.0.0
B类地址的标准子网掩码:255.255.0.0
C类地址的标准子网掩码:255.255.255.0

将IPv4的地址与其相对应的子网掩码做逻辑与运算,得到的结果是:该IPv4地址所属的网络范围的网络地址;

网络地址:主机位全都是“0”的IP地址;也被称为网络名称;也可以称为逻辑网段;
定向广播地址:主机位全都是“1”的IP地址;在特定的逻辑网段中能够被应用的广播地址;

以上两个地址通常是不能分配给主机使用的;

在一个逻辑网段中主机位全0和主机位全1的地址,必须排除在可以地址范围之外;

子网掩码地表示方法:
1.全掩码表示法:172.16.72.1/255.255.0.0
2.前缀表示法:172.16.72.1/16

192.168.0.1/16 CIDR,Classless Inter-Domain Routing,无类域间路由;
10.1.1.1/28    变长子网掩码;

结论:
主机通过将自身的IP地址和目标主机的IP地址分别与自己的子网掩码进行逻辑与运算,最终得到的结果就是两台主机的逻辑网络地址;
然后将此二结果进行比较,如果相同,则表示此二主机在同一逻辑网络范围之内,因此可以直接使用ARP协议获取对方的MAC地址,从而实现通信;如果不相同,则意味着此二主机在不同的逻辑网络范围之中,于是必须借助于网关才能实现二主机的相同通信;

网关:可以理解为一个逻辑网络的门户,或者是出入口;现在多用路由器充当网关设备;

注意:一旦数据传输经过网关等路由设备,则其数据链路层的封装格式会彻底改变;即:重新封装数据的源MAC地址及目的MAC地址;

对于主机来说,在一次通信的过程中,需要使用配置在自身网络设备接口上的子网掩码判断目标主机与自身IP地址是否在同一逻辑网段;

对于路由器来说,需要利用路由表中路由条目上所携带的子网掩码,来判断目标主机所在的网络地址,是否存在与本地路由表中,若果有,则按照路由表知识进行转发;否则直接丢弃不予转发;

Linux网络配置网络层中的IP地址是内核的属性这是对Linux而言的!!!
在Linux系统中,网络功能的实现被分成两部分存放:
1.存放于内核空间中的协议栈:
包括:物理层、数据链路层、网络层及传输层协议;
实现通信子网的功能
2.存放与用户空间中的应用程序协议:
包括:会话层、表示层及应用层协议;
实现资源子网之功能;

网络接口的命名规则:
1.传统的命名规则:
以太网网卡设备:ethX:X是从0开始的整数标识;如:ech0,eth1,...
PPP网络设备(家里的ads猫):PPPoE(PPP over Ethernet)
pppX:X是从0开始的整数标识;如:ppp0,ppp1,...
virt:虚拟网络接口
环回接口:loopback,简称loX,X可以省略,X是从0开始的整数标识
2.可预测的命名规则:(CentOS 7开始)
1)根据Firmware进行命名;
每一台计算机上的网卡设备在其计算机硬件固件中都有唯一的标识符,比如:MAV地址,厂商标识,设备的电器编号等;

  a.如果Firmware或BIOS是主板集成的设备提供的索引信息并且给信息可以被引用,则根据此索引信息进行设备命名,如:
  enoX:如:eno1,eno4646,eno6464,...
  b.如果Firmware或BIOS是主板上扩展插槽所提供的索引信息并且该信息可以被引用,则根据此索引信息进行设备命名,如:
  ensX:如:ens1,ens5555,...
  c.如果用户现实的定义可以使用诸如MAC地址之类的信息引用网络设备,可以将设备命名为:
  enx000c290005b4
2)根据设备在主板上的物理拓扑结构进行命名;
 每一台计算机的主板上都有固定数量的插槽或接口,根据设备插接位置来唯一标识设备;比如:主板上第二个PCI插槽所插3的网卡的第一个接口;

  a.如果硬件接口的物理拓扑位置信息存在并且可以被引用则可以根据此信息进行设备命名,如:
  enp1s0

注意:在CentOS 7中,如果上述可预测命名规则皆不可用,则延续传统命名方式对网络设备进行命名;

在可预测的明明命名结构中,命名格式表示的含义:
 en:Ethernet,表示以太网;
 wl:wlan,表示无线以太网;
 ww:wwan,无线广域网;

 o<index>:表示集成设备的索引编号;
 s<index|slot>:表示扩展插槽编号或扩展插槽的索引号;
 x<String>:基于MAC地址进行命令的网络接口;
 p<bus>s<slot>:基于总线模型和扩展插槽的索引联合索引编号;

linux
相关资讯       Linux网络管理 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读��接受上述条款