HCIA复习1:
网络的七层模型(ISO 国际标准化组织)
应用层 --> 人机交互
表示层 -->数据格式、压缩、加密、呈现格式
会话层 -->建立会话
传输层 -->端到端传输、可靠传输
网络层 -->路由、寻找最佳路径
数据链路层 -->建立链路转发、MAC寻址
物理层 -->二进制传输(脉冲信号)、接口、电器、电压、线路
网络的四层模型(IETT组织):事实上的模型,先有协议后有模型
应用层
传输层
网络层
网络接口层
物理层
IP编址 :由网络位和主机位组成;
IANA: 全称The Internet Assigned Numbers Authority,即互联网数字分配机构。
IANA作用:
域名:IANA管理DNS域名根和.int、.arpa域名、IDN(国际化域名)资源。
数字资源:IANA协调全球IP和AS(自治系统)号并将它们提供给各区域Internet注册机构(RIR)。
协议分配:IANA与各标准化组织一同管理协议编号系统。
环回地址 127.0.0.1 --172.255.255.254
A 单播 0xxx xxxx /8 1--126 10.0.0.0/8--127.0.0.0/8
B 单播 10xx xxxx /16 128--191 172.16.0.0--172.31.0.0/16
C 单播 110x xxxx /24 192--223 192.168.0.0-192.168.255.0/24
D 组播 1110 xxxx 224--239
E 科研保留
引入了掩码,规则“1”表示网络位;“0”表示主机位;
例如:192.168.1.0 255.255.255.0
10.1.1.0/24 划分为10个子网 需要借位 :把主机位借给网络位。------必会题
①合并方法
2^4 =16 24+4 =28
即xxxx
0000 0001 0010 0011
0100 0101 0110 0111
1000 1001 1010 1011
1100 1101 1110 1111
0000 0001—>0000 27 10.1.1.0/27 255.255.255.224
0010 0011—>0010 27 10.1.1.32/27
0100 0101—>0100 27 10.1.1.64/27
0110 0111—>0110 27 10.1.1.96/27
1000 1001—>1000 27 10.1.1.128/27
1010 1011—>1010 27 10.1.1.160/27
1100 28 10.1.1.192/28 255.255.255.240
1101 28 10.1.1.208/28
1110 28 10.1.1.224/28
1111 28 10.1.1.240/28
10.1.1.0/24 划分为8个子网 需要借位 :把主机位借给网络位。----必会题
②分解方法
2^3 =8 24+3=27
即 xxx 00000000 00000000 00000000 000 00000
00000000 00000000 00000000 000 00000 27 10.1.1.0/27 255.255.255.224
00000000 00000000 00000000 001 00000 27 10.1.1.32/27
00000000 00000000 00000000 010 00000 27 10.1.1.64/27
00000000 00000000 00000000 011 00000 27 10.1.1.96/27
00000000 00000000 00000000 100 00000 27 10.1.1.128/27
00000000 00000000 00000000 101 00000 27 10.1.1.160/27
00000000 00000000 00000000 110 00000 27 10.1.1.192/27
00000000 00000000 00000000 111 00000 27 10.1.1.224/27
10.1.1.210/28 10.1.1.226/28 是否在一个网段 ?--------必会题
答:按照上面的划分进行比较,即可得出答案。
①创建vlan1:ip地址:192.168.1.1 子网掩码:255.255.255.0
创建vlan2: ip地址:192.168.2.1 子网掩码:255.255.255.0
要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中。
10.1.1.130/28 网段是什么?段广播是什么? ---------必会题
网段/网络地址 : 主机ip全为“0”的地址;
段广播/广播地址: 主机ip全为“1”的地址;
网段:128 1000 0000 =10.1.1.128 00001010 .00000001 .0000001. 1000 0000
段广播:128 1000 1111 = 10.1.1.143 00001010 .00000001 .0000001. 1000 1111
TCP
三次握手
C----> syn; seq =10000------> S
C seq = 200 ; syn; seq =10001 ; ACK <----S 半开队列 计时器
C---->ack ;seq =201 S 全连队列
1.为什么需要三次握手?而不是两次握手或者四次握手?
三次握手
C:“喂,你听得到吗?”
S:“我听得到呀,你听得到我说得吗?”
C:“我能听到你,balabala…”
两次握手
C:“喂,你听得到吗?”
S:“我听得到呀”
C:“喂喂,你听得到吗?”
S:“草,我听得到呀!!!”
C:“你TM能不能听到我说话啊!!”
S:“…”
四次握手
C:“喂,你听得到吗?”
S:“我听得到呀,你听得到我说得吗?”
S:“我能听到你,你能听到我说话吗?”
C:“…不想跟傻逼说话”
①Client先发送一个同步序列,也就是特定的一个数据包给Server,然后Server接收到这个同步序列;
②Server对这个同步序列x进行加1操作后,返回给Client说明这个同步序列x已经被Server收到了,并且Server再发送自己的一个同步序列y给Client;Client收到Server发来的ACK确认和Server发来的一个特定的数据包,也是Server的同步序列y,对y进行加一操作后,再次发送给Server;
③Server收到y+1的确认数据包后结束三次握手,成功建立连接。
2.syn半开攻击,发送大量syn包不回确认ack,导致半开队列被占满,服务器无法提供连接服务。
解决方案:syn-cookie技术记录syn半开连接者的IP,下次连接时不会将其放入半开队列(等于丢弃)。
分布式的半开攻击用以上技术不能防御,只能依赖于僵尸网络库,或者代理技术,流量清洗技术来防御。
四次断开/挥手:标准 意思是 也可以是三次断开或者两次断开;
C ----> FIN seq =3000 S
C seq =3001 ack <---- S
C seq =4000 FIN <------ S
C ---->ack seq =4001 S
可以三次 把fin和ack一次发送;也可以两次 一般是服务为了节约资源
为什么需要四次断开?
因为当服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端,“你发的FIN报文我收到了”。只有等到我服务端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。
syn syn=1表示连接请求报文
ack ack=1表示确认号才生效
rst rst=1表示重置位,重新建立连接
fin fin=1表示终止位,释放连接
滑动窗口:滑动窗口是TCP用来进行流量控制的一个手段,这个滑动窗口是根据TCP的接收端空闲缓冲区大小决定的, 接收端把自己的空闲区大小告诉发送端, 发送端根据这个值动态地维护一个滑动窗口大小来控制数据发送流量。
拥塞:计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。
拥塞控制:就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。
拥塞控制的机制:
①拥塞避免:让拥塞窗口cwnd缓慢地增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1。这样拥塞窗口cwnd按线性规律缓慢增长,比慢开始算法的拥塞窗口增长速率缓慢得多。
②慢启动 :不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。
③快重传:快重传要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时捎带确认
④快恢复