下面总结的一些重要知识点:
:
① 数据通信:文件传输、电子邮件等
② 资源共享:数据共享、软件共享等
③ 分布式处理:将任务分配给网络中的其他计算机以减轻负担
⑤ 负载均衡
④ 提高可靠性:互为替换机
TCP/IP、:
物理层 | (传输单位:比特)物理媒体上透明传输比特流 | 信道复用技术有两个定理 | |
链路层: | (传输单位:帧)封装成帧,透明传输,错误控制,流量控制,为网络层提供服务 | SDLC,HDLC,PPP,STP | 滑动窗口,GBN协议与SR协议;ALOHA系协议,CSMA系协议,MAC帧 |
网络层 | (传输单位:数据报告)数据报告服务,异构网络互联,路由选择和转发,拥塞控制 | IP,ARP(IP-MAC)DHCP(动态分配IP) | 网络转发过程;NAT;子网划分;组播;数据报与虚电路,三大交换 |
传输层 | (传输单位:报文段)① 逻辑通信在不同过程之间② 为应用层提供向下交付应用程序数据的端口③ 复用分用技术,错误检测技术④ 提供两种协议TCP,UDP | TCP,UDP | 三次握手,四次握手,流量控制,拥塞控制 |
应用层 | FTP,Http | ||
什么是中继系统?
① 物理层:中继器、集线器
② 数据链路层:网桥、交换机
③ 网络层:路由器
④ 上网层:网关
ISO,OSI 会话层和表达层较多
TCP、IP将物理层和数据链路层合并为网络接口层
码元、信道、通信双方的互动方式有两个定理
网络地址转换NAT:是指将专用网络地址转换为公共网络地址
通信网络的交换方式:
① 电路交换:连接、数据传输、连接释放
② 报文交换:无需建立连接,采用存储转发传输,动态分配电路。
③ 分组交换:解决报文交换中大报文问题,固定分组长度,简化存储管理。
介质访问控制
静态信道分为介质控制
① 频分复用
② 时分复用
③ 波分服用
④ 码分服用:每个码片相当于一个向量,每个站点发送的码片正交。
6.媒体访问控制的动态划分:
① ALOHA:不检测,随机发,冲突,随机重发-吞吐量很低
② 时隙ALOHA :只有在每个间隙开始时才能发送-吞吐量比ALOHA大了一倍
③ CSMA协议:发送前是否发送侦听公共信道,发现信道空闲后发送(路上是否有数据不知道)
④ CSMA/CD :载波监控、碰撞检测-发送前侦听,发送时侦听。如果在争议期后没有检测到碰撞,则确定没有碰撞。如果检测到,发送一个拥塞信号,让所有用户都知道并使用退出算法,等待一段时间返回步骤2.
⑤ CSMA/CA :检测到信道空闲等待DIFS之后,发送整个数据帧;
(从第二帧开始)否则执行退避算法,如果检测到信道繁忙,退避计时器将保持不变,否则倒计时将持续到0 ,发送整个帧,收到确认帧后开始发送第二帧。
流量控制模式和传输机制
停止等待:发送一帧,接收响应后发送下一帧
滑动窗机制:发送窗:可发送帧的范围,在没有确认帧的情况下向前滑动帧
接收窗口:窗口的范围可以接收。每一帧,窗口向前滑动并发送确认帧
可靠传输机制:
停止等待协议:超时重传
后退N帧协议:发送方可以同时连续发送多个帧,接收方该组检测有序帧并且正确以后,返回一个确认帧(当前最大编号的帧),这样发送方接收该确认帧时候,窗口滑动到该最大编号帧的下一个帧。
如果一组帧错误,则该组全部丢弃并发送确认帧,内容为当前确认的最大帧编号
选择重传协议(SR):单帧确认,接收窗口变大,窗口中的帧不拒绝,不要求有序。如果窗口中的前N帧已被接收,可以交付到网络层并滑动窗口。
发送窗口:可以发送窗口中的元素。如果窗口中的元素发送并计时,如果超过时间未收到确认帧,则重新传输帧。前N个元素被确认帧,窗口可以滑动。
网桥、集线器、交换机
根据mac帧的目的地地址转发和过滤帧。
同一冲突域可以成为网段
优点:可以连接不同类型的局域网,扩大物理范围,使用不同的物理层
缺点:适用于用户数量少的局域网,否则会产生(广播信息广播过多产生网络拥挤,网段内广播)
透明网桥:
即插即用,自学算法
源路由网桥:在发送帧时,在帧的第一部分放置详细的最佳路由信息(路由最少,时间最短)。
:–多接口网桥,与网桥一样,有多个接口,即可连接多个冲突域。
直通式交换机
存储转发交换机
NAT,超网,组播,套接字
子网掩码与子网分类:
子网划分:网络号 主机号的两级地址不够灵活,利用率很低
将知识划分子网IP地址的主机号部分可以划分为{<网络号>,<子网号>,<主机号>}前两部分可统称为网络前缀
:
减少路由数量,减轻路由负担。
ARP地址分析协议:IP地址到MAC地址的映射
动态主机配置协议DHCP:动态分配主机IP地址,是应用层协议,基于UDP
报文协议的网际控制ICMP:提高IP数据提交成功的机会
:
类似于广播,组播数据只发送一次,传输路径的岔路口是复制数据后继续转发,最后一次多播
组播地址 224.0.0.0 - 239.255.255.255
:
IP部分用于区分不同的主机,端口号用于区分不同的过程
1.从目的主机IP地址D获取网络地址N,
如果网络N与此路由器直接连接,则将数据报告直接交付给目的主机D,这叫直接交付。
如果路由表中有目的地址为D的特定主机路由,则向路由表指示的下一个跳跃路由器报告数据;
否则,如果表中有达到N网络的路由,则将数据报送到路由表指示的下一个跳跃路由器;
若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认的路由器。
否则,如果没有默认路由,将交付给默认路由,则转发分组报错。
[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-CrEKiZrU-1643375281769)(mindmaster_image/1e484639018d7785a262e22f567ccbc4.png)]
握手三次,握手四次
SYN洪泛攻击
等待2MSL时间原因:
TCP与UDP
无需建立连接,不可靠传输;
报文段设置长度适中,无需分片
首部长度较短,开销小
没有拥塞控制,不会影响主机的发送效率
支持一对一,一对多,多对一,多对多的交互通信
UDP检验:将报文段视为许多由16位子串组成的报文段,按二进制反码运算求和,求和结果求反码后若结果为1 则正确(不足偶数位补0)
点对点,需要建立连接的,可靠的,面向字节流的,全双工通信
,UDP不可靠
TCP有三次握手建立连接,四次挥手关闭连接的机制。 除此之外还有滑动窗口和拥塞控制算法。最最关键的是还保留超时重传的机制。 对于每份报文也存在校验,保证每份报文可靠性。
UDP面向数据报无连接的,数据报发出去,就不保留数据备份了。 仅仅在IP数据报头部加入校验和复用。 UDP没有服务器和客户端的概念。 UDP报文过长的话是交给IP切成小段,如果某段报废报文就废了。
TCP需要三次而不是两次的原因:防止已失效的请求报文段突然又传送到服务器B,因而产生错误
**为什么连接的时候是三次握手,关闭的时候却是四次握手?**https://www.cnblogs.com/bj-mr-li/p/11106390.html
答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。
在Client发送出最后的ACK回复,但该ACK可能丢失**。Server如果没有收到ACK,将不断重复发送FIN片段。**所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。
SYN攻击即利用TCP协议缺陷,通过发送大量的半连接请求,占用半连接队列,耗费CPU和内存资源。
优化方式:
- 缩短SYN Timeout时间
- 记录IP**,若连续受到某个IP的重复SYN报文,从这个IP地址来的包会被一概丢弃。**
流量控制与拥塞控制:
💯 TCP
双方在通信的时候,发送方的速率与接收方的速率是不一定相等,如果发送方的发送速率太快,会导致接收方处理不过来,这时候接收方只能把处理不过来的数据存在缓存区里(失序的数据包也会被存放在缓存区里)。
下图是利用累计确认算法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwdfTVQy-1643375281771)(mindmaster_image/183406-762447.png)]
TCP :
慢开始和硬塞避免:
拥塞窗口从1开始指数型增长到门限值,后加法增长,若出现网络堵塞(即未按时收到确认)门限值较少为(不是原来门限值)的一半,
拥塞窗口从1 继续做上述动作。
快重传和快恢复:
冗余ACK
每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。
发送方已发送1,2,3,4,5报文段 接收方收到1,返回给1的确认(确认号为2的第一个字节) 接收方收到3,仍返回给1的确认(确认号为2的第一个字节) 接收方收到4,仍返回给1的确认(确认号为2的第一个字节) 接收方收到5,仍返回给1的确认(确认号为2的第一个字节)
发送方收到3个对于报文段1的冗余ACK——认为2报 文段丢失,重传2号报文段(快速重传)
快重传:发送方连续收到3个冗余ACK,则认为丢包(此时不需要管是否到达是否超时) ,丢包则以为这很大可能性网络拥塞了,为了预防或者阻止网络拥塞,需要执行快重传+快恢复算法,算法如下: 门限值减少为大小的一半,然后窗口大小执行加法增加。
DNS与http,ftp
1.P2p模型:
没太主机都有上传下载的功能减轻了服务的压力,多个客户及之间可以直接共享文档。
2.DNS:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FYmUwmPh-1643375281773)(mindmaster_image/172831-854679.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NsO88mEw-1643375281773)(mindmaster_image/183644-380898.png)]
3.FTP:
FTP采用方式,
一个主进程,负责接受新的请求;另外有诺干戈丛书进程,负责处理单个请求。工作步骤如下:
① 打开控制端口21 ,使得客户进程能够连接
② 等待客户进程发送请求
③ 启动从属进程控制客户请求,主进程与从属进程并发进程,从属进程处理完毕后终止
④ 回到等待状态,继续接受其他客户进程的请求
Http特点:
可靠传输、无状态(用户多次访问,得到的回应都一样)
持久与非持久连接
访问一个页面的顺序
访问一个页面的顺序:
① 浏览器分析URL
② 浏览器向DNS域名服务器请求解析IP地址
③ DNS解析出IP
④ (80端口)
⑤ 建立连接后发送具体的http请求
⑥ 服务器把通过http响应把文件发送给浏览器
⑦ 释放tcp
⑧ 浏览器解析文件并显示给用户
http所有传输的内容都是明文,并且客户端和服务器端都无法验证对方的身份。 https具有安全性的ssl加密传输协议,加密采用对称加密, https协议需要到ca申请证书,一般免费证书很少,需要交费。
SSL全称为Secure Sockets Layer即安全套接层,其继任为TLSTransport Layer Security传输层安全协议,均用于在传输层为数据通讯提供安全支持。
可以将HTTPS协议简单理解为HTTP协议+TLS/SSL
- 浏览器将支持的加密算法信息发给服务器
- 服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器
- 客户端(SSL/TLS)解析证书验证证书合法性,生成对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,用服务器的公钥对客户端密钥进行非对称加密。
- 客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端对称密钥发送给服务器
- 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。
- 服务器将加密后的密文发送给客户端
- 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成
-
进行DNS解析操作,根据DNS解析的结果查到服务器IP地址
-
通过ip寻址和arp,找到服务器,并利用三次握手建立TCP连接
-
浏览器生成HTTP报文,发送HTTP请求,等待服务器响应
-
服务器处理请求,并返回给浏览器
-
根据HTTP是否开启长连接,进行TCP的挥手过程
-
浏览器根据收到的静态资源进行页面渲染