1、网络设备
1、计算机相关硬件:
开启一个程序会在内存生成一个进程消耗内存资源,很卡就去计划任务结束进程。内存信息断电即失,永久保存放硬盘中。程序是保存在硬盘上,程序一旦运行起来会产生进程,进程放在内存中的。
中央处理器(CPU)(运算器、控制器),运算器是对数据进行加工处理的部件,它在控制器的作用下与内存交换数据,负责进行各类基本的算术运算、逻辑运算和其他操作。在运算器中含有暂时存放数据或结果的寄存器。运算器由算术逻辑单元(ArithmeticLogicUnit,ALU)、累加器、状态寄存器和通用寄存器等组成。ALU是用于完成加、减、乘、除等算术运算,与、或、非等逻辑运算以及移位、求补等操作的部件。控制器是整个计算机系统的指挥中心,负责对指令进行分析,并根据指令的要求,有序地、有目的地向各个部件发出控制信号,使计算机的各部件协调一致地工作。控制器由指令指针寄存器、控制逻辑电路和时钟控制电路等组成。
存储器,主要功能是存放程序和数据,程序是计算机操作的依据,数据是计算机操作的对象。存储器是由存储体、地址译码器 、读写控制电路、地址总线和数据总线组成。能由中央处理器直接随机存取指令和数据的存储器称为主存储器,磁盘、磁带、光盘等大容量存储器称为外存储器(或辅助存储器)。由主存储器、外部存储器和相应的软件,组成计算机的存储系统。
输出设备,显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。输出设备(OutputDevice)是人与计算机交互的一种部件,用于数据的输出。它把各种计算结果数据或信息以数字、字符、图像、声音等形式表示出来。
输入设备,键盘、扫描仪等设备。输入设备的任务是把用户要求计算机处理的数据、字符、文字、图形和程序等各种形式的信息转换为计算机所能接受的编码形式存入到计算机内。
2、常见的网络设备:
1、集线器(HUB)
集线器的英文称为“Hub”。“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。
特点:
1、扩大网络的传输范围,而不具备信号的定向传送能力,是—个标准的共享式设备,增加网络的节点数目;共享带宽的设备,采用广播的形式来传输信息,可以实现多台电脑同时使用一个进线接口来上网或组成局域网 。
2、HUB不管有多少端口,所有端口都共享一条带宽,同一时刻只能有两个端口传送数据,其它端口只能等待,传输效率低;如果是8口的HUB,那么每个端口得到的带宽就只有1/8的总带宽;
3、 Hub只与它的上联设备(如上层Hub或交换机)进行通信,第一步是将信息上传到上联设备;第二步是上联设备再将该信息广播到所有端口上。
4、不能保证数据传输的完整性和正确性。
2、交换机
交换机一般用于局域网中,主要功能是根据MAC地址来进行数据的转发和交换。
特点:
1、交换机的每一个端口所连接的网络都是独立的,也就是独享带宽;
2、交换机所连接的设备仍然在同一个广播域内,交换机不隔绝广播域;隔离冲突域,因为每个端口都有一条独占的带宽,当两个端口工作时不影响其它端口的工作。传统的交换机只能分割冲突域,而无法分割广播域。
3、交换机根据MAC地址进行数据的转发,因此说交换机是工作在数据链路层的网络设备。并且能够进行地址学习(源端和目标端的MAC地址),维护一张MAC地址表。
3、路由器
路由器是一类网络互连设备,它基于OSI第3层地址在网络间传递数据分组。路由器能作出决定为网络上的数据分组选择最佳传递路径,因为路由器根据网络地址转发数据。路由器的目的是检查每一个进来的分组(第3层数据),为它们选择穿过网络的最佳路径,然后将它们交换到适当的出口。在大型网络中,路由器是最重要的通信调节设备。实际上,路由器可以使任何种类的计算机与世界上任何地方的其他计算机进行通信。
一个作用是连接不同的网络,另一个作用是选择信息传送的线路(选路)。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。
1、单从组建局域网来说,交换机的速度最快,其次是路由器,最后是HUB。而价格是路由器最贵,然后是交换机和HUB。
2、集线器和交换机的作用可以简单的理解为将一些机器连接起来组成一个局域网;但是两者在性能上有区别:集线器采用的是共享带宽的工作方式,而交换机是独享带宽。
3、路由器的作用在于连接不同的网络并且找到网络中数据传输最合适的路径。
4、交换机与路由器的区别在于:
交换机属于OSI第二层即数据链路层设备。它根据MAC地址寻址转发数据。
路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址转发数据。
传统的交换机只能分割冲突域,而无法分割广播域;而路由器可以分割广播域。
4、三层交换机
三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。它解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。
交换原理:
假设两个使用IP协议的站点A、B通过第三层交换机进行通信,发送站点A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否与自己在同一子网内。若目的站B与发送站A在同一子网内,则进行二层的转发。若两个站点不在同一子网内,如发送站A要与目的站B通信,发送站A要向“缺省网关”发出ARP(地址解析)封包,而“缺省网关”的IP地址其实是三层交换机的三层交换模块。当发送站A对“缺省网关”的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B站的MAC地址,则向发送站A回复B的MAC地址。否则三层交换模块根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送站A,同时将B站的MAC地址发送到二层交换引擎的MAC地址表中。从这以后,当A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。由于仅仅在路由过程中才需要三层处理,绝大部分数据都通过二层交换转发,因此三层交换机的速度很快,接近二层交换机的速度,同时比相同路由器的价格低很多。
三层交换机与路由器的区别:
1、主要功能不同
三层交换机同时具备了数据交换和路由转发两种功能,但其主要功能还是数据交换;而路由器仅具有路由转发这一种主要功能。
2、主要适用的环境不一样
三层交换机的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接。路由器主要是用于不同类型的网络之间。它最主要的功能就是路由转发,所以路由器的路由功能通常非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。它的优势在于选择最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。为了与各种类型的网络连接,路由器的接口类型非常丰富,而三层交换机则一般仅同类型的局域网接口,非常简单。
3、性能体现不一样
路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的软件路由引擎执行数据包交换,而三层交换机通过硬件执行数据包交换。三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。
5、网关
网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。基本功能是实现不同网络协议之间的转换。
特点:
1、将两个或多个在高层使用不同协议的网络段连接在一起的软硬件。
2、网关从一个网络收到数据包,重新打包成目的网络能接收并处理的格式。
3、理论上说,有多少种通信体系结构和应用层协议的组合,就可能有多少种网关。
交换机划分不同vlan,路由器划分不同网络。计算机和交换机互连使用直通线,直通线用于连接不同设备的。同一局域网(同一子网)的计算机互通不用走网关通过交换机互通。不同局域网(不同子网)通过路由器互通,路由器两边接口分别连接两个网络的交换机(路由器接口可配置ip地址的),两个网络中默认网关分别为路由器对应连接接口ip,两个网络的网关都是路由器的一个接口。网关是网络连接的入口和出口,常常用于将一个网络中的数据转发到另一个网络或者将一个数据传送到互联网中。网关它可以是路由器,交换机或者是PC。在同一网段之内进行通信,是不需要将网关介入其中,只有当主机与非本网段设备进行通信的时候,才需要将数据包全部发给网关设备,再经由网关设备进行转发或者是有路由处理等。
3、常见的网络连接介质:
1、双绞线:双绞线俗称网线,每条双绞线通过两端安装的RJ-45连接器(俗称水晶头)将各种网络设备连接起来。 多用于主机到集线器或交换机的连接。
双绞线中两种标准:
568A标准:绿白-1,绿-2,橙白-3,蓝-4,蓝白-5,橙-6,棕白-7,棕-8
568B标准:橙白-1,橙-2,绿白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8
直通线:双绞线两边是一样标准,如568B-568B(常用)
交叉线:双绞线两边标准不一样,如568A-568B
网络设备连接:
直通线:交换机到路由器、计算机到交换机、计算机到集线器等不同设备互联。
交叉线:交换机到交换机、交换机到集线器、集线器到集线器、路由器到路由器、计算机到计算机、
计算机到路由器等相同设备互联。
2、光纤:与其它传输介质比较,光纤的电磁绝缘性能好、信号衰小、频带宽、传输速度快、传输距离大。主要用于要求传输距离较长、布线条件特殊的主干网连接。具有不受外界电磁场的影响,无限制的带宽等特点,可以实现每秒万兆位的数据传送,尺寸小、重量轻,数据可传送几百千米,价格昂贵。
2、IP地址基础知识
1、IP和MAC地址简介
1.1、以太网上的两台计算机之所以能够交换信息就是因为每个设备都有一块网卡,并且每块网卡拥有唯一的物理地址(称为MAC地址)和唯一的逻辑地址(称为IP地址)。
1.2、MAC地址是由生产厂商烧录好的,一般不能改动,并且全球唯一;IP地址需要绑定在网卡上,并且同一个IP地址不能绑定在多个网卡上。
1.3、MAC地址和IP地址结构长度不一样。MAC地址是48位的十六进制数,IPv4地址是32位的二进制数,IPv6地址是128位,通常写成8组,每组为四个十六进制数的形式。
IPv4地址使用"点分十进制"法表示;IPv6地址使用"冒分十六进制"法表示
IPv4地址:192.168.1.1 十进制数
IPv6地址:FE80:0000:0000:0000:AAAA:0000:00C2:0002
MAC地址:00-E1-8C-D8-EC-FE 十六进制
1.4、MAC地址和IP地址在OSI模型中寻址层不同
IP地址应用于OSI第三层,即网络层
MAC地址应用在OSI第二层,即数据链路层
1.5、MAC地址和IP地址分配方式不一样
MAC地址分为前24位(称为组织唯一标志符,由注册管理机构给厂商分配)和后24位(称为扩展标识符,由厂商自己分配)
IP地址是由网络拓扑结构决定分配
2、IP地址介绍(IPv4地址是32位的二进制数,使用"点分十进制"法表示)
为了便于根据IP地址寻找到该地址所代表的主机,这个32位的二进制数被分为2个部分:
192.168.10.1——>网络号+主机号,网络ID(网络号) 和 主机ID(主机号)
网络号:区分网络是否在同一区域(网段),说明可以划分为几个网络区域。
主机号:区分同一个网络中的主机,说明网络里有多少台主机。
3. 子网掩码介绍
每个IP地址都分割成网络号和主机号两部分,目的是便于IP地址的寻址操作;那么IP地址的网络号和主机号各是多少位呢?如何确定?
子网掩码特点:
1、子网掩码不能单独存在,它必须结合IP地址一起使用;
2、子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分;用来判断两个IP是否在同一网络;
3、子网掩码是一个32位的二进制数,用"点分十进制"表示;其对应网络地址的所有位置都为1,对应于主机地址的
所有位置都为0。
十进制转二进制,除2取余数,倒叙排列,不够八位前面用0代替
IP地址:192.168.1.254 11000000.10101000.00000001.11111110
子网掩码:255.255.255.0 11111111.11111111.11111111.00000000
192/2=96 余0 168/2=84 余0 1/2=0 余1 254/2=127 余0 255/2=127 余1 0/2=0 余0
96/2=48 余0 84/2=42 余0 127/2=63 余1 127/2=63 余1
48/2=24 余0 42/2=21 余0 63/2=31 余1 63/2=31 余1
24/2=12 余0 21/2=10 余1 31/2=15 余1 31/2=15 余1
12/2=6 余0 10/2=5 余0 15/2=7 余1 15/2=7 余1
6/2=3 余0 5/2=2 余1 7/2=3 余1 7/2=3 余1
3/2=1 余1 2/2=1 余0 3/2=1 余1 3/2=1 余1
1/2=0 余1 1/2=0 余1 1/2=0 余1 1/2=0 余1
11000000 10101000 00000001 11111110 11111111 00000000
二进制转十进制,从右往左给这八位数打上0到7的标签,每位数乘以2的标签次方相加
11000000 1*2^7+1*2^6+0*2^5+0*2^4+0*2^3+0*2^2+0*2^1+0*2^0=128+64+0+0+0+0+0+0=192
10101000 1*2^7+0*2^6+1*2^5+0*2^4+1*2^3+0*2^2+0*2^1+0*2^0=128+0+32+0+8+0+0+0=168
00000001 0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+0*2^1+1*2^0=0+0+0+0+0+0+0+1=1
11111110 1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+0*2^0=128+64+32+16+8+4+2+0=254
11111111 1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=128+64+32+16+8+4+2+1=255
00000000 0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+0*2^1+0*2^0=0+0+0+0+0+0+0+0=0
4.IP地址分类
4. A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是"0";
5. 地址的表示范围为:0.0.0.0~127.255.255.255;默认子网掩码为:255.0.0.0或/8; 255.0.0.0=11111111.00000000.00000000.00000000
6. 网络号全为0表示保留不能用;
7. 网络号全为1的IP:127.x.x.x/8表示保留,用于本机回环测试用。
8. 主机号全为0代表本主机所在的网络地址,113.0.0.0;主机号全为1代表该网络上的所有主机故不能分配,113.255.255.255。
综上所述:
9. A类地址可用的网络数为2^7-2=126个;
10. A类地址每个网络能容纳的主机数为2^24-2=16777214(上千万台);
11. A类地址一般分配给规模比较大的网络使用。
12. B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是"10";
13. 地址范围是128.0.0.0到191.255.255.255;默认子网掩码为:255.255.0.0或/16;
14. 网络号全为0一般表示保留(老版教材),现在可以用;
15. 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机故不能分配。
综上所述:
16. B类地址可用的网络数为2^14-1=16383个;
17. B类地址每个网络能容纳的主机数为2^16-2=65534(上万台);
18. B类地址一般分配给中型的网络使用。
19. C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是"110";
20. 地址范围是192.0.0.0到223.255.255.255;默认子网掩码为:255.255.255.0或/24;
21. 网络号全为0表示一般保留(老版教材),现在可以用;
22. 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机故不能分配。
综上所述:
23. C类地址可用的网络数为2^21-1=2097151个;
24. C类地址每个网络能容纳的主机数为2^8-2=254台;
25. C类地址一般分配给小型的网络使用。
子网划分
1.子网划分核心(对应网络地址的所有位置都为1,对应于主机地址的所有位置都为0)
"借用"主机位来"制造"新的网络
IP地址=网络号+主机号(子网位+主机位)
IP地址=网络位+子网位+主机位
2.子网划分方法
IP=网络号+主机号(子网位(n)+主机位(m))
假设子网位为n;主机位为m;则子网数为2^n个,主机数为2^m-2个。
子网掩码都是由一串连续的0和连续的1组成。这里可以将n看做后面有多少个1,m看做后面有多少个0。
由于主机位全0表示本网络,全1留作广播地址,减掉2。
子网掩码:网络位为全为1,主机位全为0
根据子网掩码判断主机数
子网掩码为255.255.255.0时,可以容纳多个台设备?
分析:
子网掩码由连续的1和连续0组成;
用于判断IP地址网络位+主机位
255.255.255.0
11111111.11111111.11111111.0000000
主机数:2^8-2
255.255.248.0这个子网掩码可以最多容纳多少台电脑?
将子网掩码转成二进制数
11111111.11111111.11111000.00000000
判断有多少个连续的0
主机数:2^11-2=2046
255.255.128.0
11111111.11111111.10000000.00000000
2^15-2
根据主机和子网判断子网掩码
有一个B类网络145.38.0.0需要划分为20个能容纳200台主机的子网网络,子网掩码设置多少合适?
2^n=子网数=20
2^m-2=主机数=200
子网掩码=n个连续的1和m个连续的0 11111111.11111111.11111000.00000000
分析:
B类网络 255.255.0.0 /16
网络数大于等于20个子网;主机数大于等于200个主机
网络数:
11111111.11111111.11111000.00000000=255.255.248.0
2^n>=20 n=5,m=11
主机数:
11111111.11111111.11111111.00000000=255.255.255.0
2^m-2>=200 m=8,n=8
根据IP和子网掩码判断子网数
已知192.168.0.0/255.255.255.128网络,请问最多可以划分几个子网,每个子网范围分别是多少?
思路:
1.根据IP分类和子网掩码判断出向主机号借了几位(子网位)
2.根据所借的子网位数算出子网数和主机IP范围
步骤:
子网掩码转成二进制
C类默认: 11111111.11111111.11111111.00000000
实际掩码:11111111.11111111.11111111.10000000
结果:对比判断,当前IP向主机位借了1位;当前IP最多可以划分2^1个子网
判断每个子网的IP范围
x=0 X=子网位,00000000~01111111
192.168.0.x-------
192.168.0.00000000
192.168.0.01111111
192.168.0.0~192.168.0.127
有效的IP范围:
192.168.0.1~192.168.0.126/255.255.255.128
有效IP:由于主机位全0表示本网络,全1留作广播地址,减掉2。广播地址:192.168.0.127
x=1 X=子网位,10000000~11111111
192.168.0.1-------
192.168.0.10000000
192.168.0.11111111
192.168.0.128~192.168.0.255
有效的IP范围:
192.168.0.128~192.168.0.254/25
某公司申请到了一个C类网络,但需要接9个子公司,最大的一个子公司有12台计算机,每个子公司都在同一个网段中,则子网掩码应设为多少合适?
C类掩码:255.255.255.0
子网数:至少是9个
主机数量:至少12台
11111111.11111111.11111111.11110000=255.255.255.240
2^n>=9 n=4,m=4
2^m-2>=12 m=4,n=4
C类地址,主机位为8位
2^4 > 9
2^4 > 12
所以借用的子网位为4,主机位剩余4位,总共有16个子网,每个子网不超过16个主机,
所以掩码为28(24+4)位,即:255.255.255.240
由于某些原因,某公司搬迁至新地方,现需要对公司网络环境重新调整规划,申请了一个B类IP地址:172.25.0.0,子网掩码为255.255.224.0。需要根据公司部门和电脑数进行子网划分并分配IP。公司目前有6个部门,最大部门员工数有28人。
任务要求
1根据申请的IP,划分至少6个子网
2计算出每个子网的有效IP地址的范围
任务拆解
1根据申请的IP,分析判断可以划分几个子网
2分析判断每个子网的有效IP是否可以满足最大部门员工数
3根据子网IP给每个主机分配有效
B类默认255.255.0.0 说明向主机位借位了,子网掩码全为1代表网络位全为0代表主机位
向主机位借了几位可判断出能划分几个子网
将子网掩码转为二进制发现3个连续1,说明向主机位借了3位子网位,子网数为2^3=8个
分析:
1. 申请的B类网络,172.25.0.0 默认:255.255.0.0 实际:255.255.224.0
A类 网络位.主机位.主机位.主机位
B类 网络位.网络位.主机位.主机位
C类 网络位.网络位.网络位.主机位
通过以上分析得出,该网络向主机位借位。
2. 根据实际子网掩码255.255.224.0可以分析出向主机位借了几位
255.255.224.0转成二进制
11111111.11111111.11100000.00000000
结果算出借了3位
3. 如何判断是否满足公司需求?
IP=网络位+主机位(子网位n+主机位m)
划分的子网数:2^n=2^3=8 > 6 所以满足需求
主机数:2^m-2=2^13-2>28 所以满足需求
结论:该IP完全满足公司的需求
4. 判断出每个网络的有效IP地址
如果向主机位借1位的话:x=0 x=1 可以分出2个子网
如果向主机位借2位的话:x=00 x=01 x=10 x=11 可以分出4个子网
如果向主机位借3位的话:x=000 x=001 x=010 x=011 x=100 x=101 x=110 x=111 可以分出8个子网
5. 算出每个子网的IP范围
172.25.0.0 255.255.224.0 11111111.11111111.11100000.00000000
x=000 x=子网位
172.25.x/-----.--------
172.25.000-----.--------
172.25.0.0~172.25.31.255 有效IP:172.25.0.1~172.25.31.254/255.255.224.0
有效IP:由于主机位全0表示本网络,全1留作广播地址,减掉2。广播地址172.25.31.255
x=001
172.25.x/-----.--------
172.25.00100000.00000000
172.25.00111111.11111111
172.25.32.0~172.25.63.255 有效IP:172.25.32.1~172.25.63.254
依次类推...
3、网络通信
3.1、OSI七层模型(OSI:开放系统互连参考模型)
1、应用层
应用层是计算机用户及各种应用程序和网络之间的接口,其功能是直接向用户提供服务。
应用层为用户提供的服务和协议:文件传输服务(FTP)、远程登录服务(ssh)、网络管理服务等。
2、表示层
表示层是对来自应用层的命令和数据进行解释翻译,并按照一定的格式传送给会话层。其功能是处理用户信息的表示问题,如数据编码、数据格式转换和加密解密等。
数据的编码:处理字符集和数字的转换。
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的加密和解密:可以提高网络的安全性。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与解压缩。
3、会话层
会话层是用户应用程序和网络之间的接口,其功能是组织两个会话进程之间的通信,并对数据交换进行管理。当建立会话时,用户必须提供他们想要连接的远程地址。
4、传输层
OSI上3层:应用层、表示层、会话层的主要任务是数据处理——资源子网
OSI下3层:网络层、数据链路层、物理层的主要任务是数据通讯——通讯子网
传输层是OSI模型的第4层,它是通信子网和资源子网的接口和桥梁,其功能是向用户提供可靠的端到端的差错控制和流量控制,保证报文的正确传输。报文(message)是网络中交换与传输的数据单元。报文段是组成报文的每个分组,将运输层分组称为报文段(segment)。数据单元是网络信息传输的基本单位。一般网络连接不允许传送任意大小的数据包,而是采用分组技术将一个数据分成若干个很小的数据包,并给每个小数据包加上一些关于此数据包的属性信息。
5、网络层
数据链路层的数据在网络层被转换为数据包(数据包(Packet)是TCP/IP协议通信传输中的数据单位) ,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。数据链路层是解决同一子网(局域网)内节点之间的通信,而网络层是解决不同子网间的通信。
6、数据链路层
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。在物理层提供的比特(位)流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即向网络层提供可靠的通过物理介质传输数据的方法。
具体工作是:接收来自物理层的位流(比特流)形式的数据,通过差错控制等方法传到网络层;同时也将来自上层的数据,封装成数据帧转发到物理层;并且还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。(帧(frame)是数据链路层的传输单元,它将上层传入的数据添加一个头部和尾部,组成了数据帧。)
7、物理层
利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。尽可能屏蔽掉具体传输介质和物理设备的差异。
总结:
会话层、表示层和应用层:数据的处理,处理用户与应用程序之间的数据,这三层是数据,应用层数据到表示层翻译数据到会话层怎么控制数据。
传输层(第4层):传输层最关键,介于资源子网和通讯子网之间,保证数据可靠的端到端传输。
物理层、数据链路层、网络层:主要提供数据传输和交换功能,即节点到节点之间通信。物理层选择通过网线还是光纤传输,数据链路层接收来自物理层不可靠的数据变成可靠数据往上传到网络层,网络层选择一条合适路径传输到哪个网络。
交换机连接同一子网,路由器连接不同子网。交换机属于OSI第二层即数据链路层设备,它根据MAC地址寻址。路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址。
3.2、TCP/IP协议四层模型
TCP/IP协议簇是一组不同层次上的多个协议的组合,该协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求,与OSI的七层模型相对应。它包含了一系列构成互联网基础的网络协议,是Internet的核心协议。
IP协议尽可能快的把数据给到另一个网络,不保证数据的可靠性,要保证数据的可靠性由上层的tcp、udp协议保证,IP协议是网络层协议,ping调用的是网络层的ICMP协议。
程序与程序之间通讯用tcp或udp协议,端到端的数据传送,在运输层。tcp协议安全可靠,程序连接要经过三次握手成功后才能传数据,校验字等校验数据包保证数据的完整性,udp协议不用建立连接直接发送数据不管你有没有收到它都要发送。
1、链路层(OSI的物理层和数据链路层)
ARP(地址解析协议IP-MAC)和RARP(逆地址解析协议MAC-IP)是某些网络接口(如以太网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。
2、网络层
处理分组在网络中的活动,例如分组的选路。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
1、IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。同时被TCP和UDP使用。
2、ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。它主要是用来提供有关通向目的地址的路径信息。Ping和Traceroute工具,它们都使用了ICMP协议。
3、IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。该协议运行在主机和组播路由器之间。
3、运输层
主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:
TCP(传输控制协议)和UDP(用户数据报协议) TCP协议:为两台主机提供高可靠性的数据通信。TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要断开连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。也就是TCP数据包中包括序号(seq)和确认(ack),所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 UDP协议:则为应用层提供一种非常简单的服务。它是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP通讯时不需要接收方确认,不保证该数据报能到达另一端,属于不可靠的传输,可能会出现丢包现象。UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。
4、应用层(OSI会话层、表示层、应用层)
应用层负责处理特定的应用程序细节。HTTP、FTP、SSH、DHCP、DNS…
数据格式:
TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)
IP数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)
数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC初步地址及类型,帧尾是校验字)
数据封装:
数据要通过网络进行传输,要从应用层一层一层的向下传送,如果一个主机要传送数据到别的主机,先把数据装到一个特殊协议报头中,这个过程叫封装。当数据以TCP/IP协议传输时的封装与解封装过程如下图:
3.3、TCP/IP三次握手四次断开
序列号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。
常见的标志位:
ACK:确认序号有效。
SYN:发起一个新连接。
FIN:释放一个连接。
netstat中的网络状态
CLOSED 初始(无连接)状态。
LISTEN 监听状态,等待远程机器的连接请求。
SYN_SEND
在TCP三次握手中,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。
SYN_RECV
在TCP三次握手中,主动连接端收到ACK包后,进入SYN_RECV状态。
ESTABLISHED
完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
FIN_WAIT_1 在TCP四次断开时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。
FIN_WAIT_2 在TCP四次断开时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。
TIME_WAIT 在TCP四次断开时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态。
CLOSE_WAIT 在TCP四次断开时,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。
LAST_ACK 在TCP四次断开时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。
TCP/IP三次握手
TCP/IP三次握手:A问B在不,B回答在的 问A能听到吗,A回答能听到。
TCP三次握手的过程如下:
1. 客户机A端(主动连接端)发送一个SYN包给服务器B端(被动连接端);
2. 服务器B端(被动连接端)收到SYN包后,发送一个带ACK和SYN标志的包给客户机A端(主动连接端);
3. 客户机A端(主动连接端)发送一个带ACK标志的包给服务器B端(被动连接端),握手动作完成。
TCP/IP四次断开
TCP/IP四次断开:A向B发送断开请求,B收到A的请求了 但要确认数据有没有发送完,B向A回答同意断开,A回答好的正式断开。
TCP四次断开的过程如下:
1. 客户机A端(主动连接端)发送一个FIN包给服务器B端(被动连接端)请求断开连接;
2. 服务器B端(被动连接端)收到FIN包后,发送一个ACK包给客户机A端(主动连接端);
3. 服务器B端(被动连接端)发送了ACK包后,再发送一个FIN包给客户机A端(主动连接端)确认断开;
4. 客户机A端(主动连接端)收到FIN包后,发送一个ACK包,当服务器B端(被动连接端)收到ACK包后,四次断开动作完成,连接断开。
4、路由表
什么是交换,什么是路由,什么是路由表?
1、交换是指同网络访问(交换机连接同一子网的机器)
2、路由就是跨网络访问(路由连接不同子网,路由上有路由表,选择最优路径进行数据包传递)
3、路由表是记录路由信息的表,当数据包发到Linux时,系统(内核)根据路由信息来决定这个数据包的走向。
路由详细介绍:https://www.freebsd.org/doc/zh_CN/books/handbook/network-routing.html
要让不同子网的两台主机能够相互通讯,就需要有一种能够描述如何从一台主机到另一台主机的机制,这一机制称为:路由选择(Routing),路由选择通过路由项进行描述。路由项是一对预先定义的地址,包括:目的地(Destination)和网关(Gateway)。路由项的含义是通过网关能够完成与目的地的通讯;路由表是多个路由项的集合。
查看路由表信息,知道数据包的走向。
ip route以最简单的形式输出路由信息。route -n 不加-n会解析为主机名形式,加-n不解析成主机名 保留ip形式。
[root@node1 ~]# ip route # ip route以最简单的形式输出路由信息
default via 10.1.1.2 dev ens33
10.1.1.0/24 dev ens33 proto kernel scope link src 10.1.1.118
169.254.0.0/16 dev ens33 scope link metric 1002
[root@node1 ~]# route # 不加-n会解析为主机名形式
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 ens33
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
link-local 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
[root@node1 ~]# route -n # 加-n不解析成主机名 保留ip形式
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.1.2 0.0.0.0 UG 0 0 0 ens33
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
目标网络 网关 子网掩码 路由标志 网卡
U:Up启动状态
UG:该网关为路由器
按照上面的路由表信息,如果要ping一个公网IP(如ping 14.200.151.38),流量应该怎么走?
1、先看目标ip是否为本地ip,如果是,则直接访问本地;如果不是,则找路由表里目标网络是否有要访问的网段。
2、如果路由表有则从这个路由条目后面指定的网卡出去;如果路由表里没有要访问的网段,则会找默认路由(也就是网关)。网关会转发所有不知道的网络数据包,网关有这个目标网络就通,没有就提示网络不可达,要先检查网关是否能ping通。
3、如果网关也没有的话,则会报错网络不可达。
connect: Network is unreachable
按照上面的路由表信息,如果要ping一个局域网IP为10.1.1.10,流量会怎么走?
ping 10.1.1.10不会走网关,而是走本地路由从ens33网卡出去(因为路由表里有10.1.1.0/24的路由)。
添加网关,这个网关必须在目标网络中存在,网关的ip必须是目标网段中的。一个路由表上可以加多个网关,但只有一个网关生效。
route add default gw x.x.x.x 临时加网关,马上生效
route del default gw x.x.x.x 临时删网关,马上生效
永久增加网关:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=x.x.x.x
或者
vim /etc/rc.local 操作系统开机最后读取的一个文件
..
route add default gw xxxxx
注意:
1、加网关只能加你已经有的路由网段里的一个IP才行(此IP不一定存在)
2、加网关可以不用指定子网掩码(因为是已有的一个网段的ip,所以掩码已经确认了)
[root@node1 ~]# route add default gw 172.16.2.1 添加网关,把所有不知道的网络交给网关来转发
SIOCADDRT: Network is unreachable
[root@node1 ~]# route add -net 172.16.2.0/24 dev ens33 添加一个网络路由
[root@node1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.1.2 0.0.0.0 UG 0 0 0 ens33
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
172.16.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
[root@node1 ~]# route add default gw 172.16.2.1
[root@node1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.2.1 0.0.0.0 UG 0 0 0 ens33
0.0.0.0 10.1.1.2 0.0.0.0 UG 0 0 0 ens33
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
172.16.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
[root@node1 ~]# route del default gw 172.16.2.1 删除网关
[root@node1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.1.2 0.0.0.0 UG 0 0 0 ens33
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
172.16.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
[root@node1 ~]# route del -net 172.16.2.0/24 删除一个网络路由
[root@node1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.1.2 0.0.0.0 UG 0 0 0 ens33
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
通过路由器实现不同网络互通,可把linux服务器配置为路由器。
实现不同网络(172.16.0.0/24和192.168.0.0/24)之间的互通,使用第三方主机node1作为路由进行转发。
route add default gw 172.16.2.1 添加网关
route add -net 172.16.2.0/24 dev ens33 添加一个网络路由
route del default gw 172.16.2.1 删除网关
route del -net 172.16.2.0/24 删除一个网络路由
环境准备:三台仅主机模式
node1:10.1.1.1/24 作为网关服务器,开启路由转发功能/proc/sys/net/ipv4/ip_forward
node2:192.168.0.254/24
node3:172.16.0.254/24
1. 中间人node1,必须开启路由转发功能
2. 中间人node1即要有到达A网络,又能到达C网络的路
3. node2主机(A网络)必须设置中间人node1作为自己的网关
4. node3主机(C网络)必须设置中间人node1作为自己的网关
步骤:
1.node1服务器开启路由转发功能
临时开启:
# cat /proc/sys/net/ipv4/ip_forward
0
# echo 1 > /proc/sys/net/ipv4/ip_forward
# cat /proc/sys/net/ipv4/ip_forward
1
永久开启:
# vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
2、在node1分别添加到node2和node3两台主机所在的网络
# route add -net 192.168.0.0/24 dev ens33
# route add -net 172.16.0.0/24 dev ens33
3、在node2和node3添加node1的网络路由和网关
[root@node2 ~]# route add -net 10.1.1.0/24 dev ens33
[root@node2 ~]# route add default gw 10.1.1.1
[root@node3 ~]# route add -net 10.1.1.0/24 dev ens33
[root@node3 ~]# route add default gw 10.1.1.1
4、测试验证
1)中间主机node1分别ping node2和node3
2)node2和node3相互ping
交换机划分不同vlan,路由器划分不同网络。计算机和交换机互连使用直通线,直通线用于连接不同设备的。同一局域网(同一子网)的计算机互通不用走网关通过交换机互通。不同局域网(不同子网)通过路由器互通,路由器两边接口分别连接两个网络的交换机(路由器接口可配置ip地址的),两个网络中默认网关分别为路由器对应连接接口ip,两个网络的网关都是路由器的一个接口。网关是网络连接的入口和出口,常常用于将一个网络中的数据转发到另一个网络或者将一个数据传送到互联网中。网关它可以是路由器,交换机或者是PC。在同一网段之内进行通信,是不需要将网关介入其中,只有当主机与非本网段设备进行通信的时候,才需要将数据包全部发给网关设备,再经由网关设备进行转发或者是有路由处理等。
5、wireshark抓包工具使用
linux用tcpdump抓包保存到文件后用wireshark分析,windows直接用wireshark抓包分析。
Frame 物理层
Ethernet II 数据链路层,帧头帧尾,包含源和目标的mac地址,
Internet Protocol 网络层,包含源和目标的ip地址,
Internet Control 应用层,发送数据