IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 应该熟知的网络基础 -> 正文阅读

[网络协议]应该熟知的网络基础

# OSI七层模型
自下而上:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层

TCP/IP四层模型

自下而上:网络接口曾、网际层、运输层、应用层

五层协议

物理层、数据链路层、网络层、运输层、应用层

物理层、数据链路层

MAC地址:在局域网中的硬件地址,IEEE802标准为局域网规定了一种48位的全球地址,值局域网上的每台计算机固化在适配器的ROM中的地址。
以太网采用的是具有冲突检测的载波监听多点接入CSMA/CD。该协议要点是:发送前先监听,边发送边监听,一旦发现总线出现了碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再次发送。以太网上各站点都公平的争用以太网信道。

网络层

ARP协议:网络层使用的是IP地址,但在实际网络链路上传送数据帧时,最终还是需要该网路的物理地址。地址解析协议(ARP协议)就是为了解决这个问题,在主机ARP高速缓存中存放一个IP地址到硬件的映射表,并且这个映射表还经常动态更新。
最大传输单元MTU :当一个IP数据报被封装成链路层的帧时,数据报的总长度(首部+数据部分)不能超过下面的数据链路层规定的值。以太网规定MTU为1500字节。
子网划分:(1)一个拥有许多物理网络的单位,可以将所属的物理网络划分为若干个子网,而这个单位对外仍然表现为一个网络。
(2)划分子网的方法就是在主机号借用若干位作为子网号,当然主机号也就相应减少同样的位数。
(3)其他网络发送给本单位的某台主机的IP数据报,仍然是根据目的网络号找到连接在本单位上的路由器。但次路由器会按照目的网络号和子网号找到目的子网,把数据报交给目的主机。
子网掩码:从IP数据报的首部是无法判断源主机或目的主机所链接的网络是否进行了子网划分,路由器把三级IP地址的子网掩码与收到的数据报的目的IP地址逐位相“与”,就能得到所要找的子网的网络地址。这种方法的好处在于无论是否进行了子网划分,都能立即找到网络地址。子网掩码是一个网络或者一个子网的重要属性。划分子网增加了灵活性,但也减少了能够连接网络的最大数目。
网际控制报文协议(ICMP):为了高效的转发IP数据报和提高交付成功的机会的协议。ICMP不是高层协议,其ICMP报文保存在IP数据报的数据部分。分为ICMP差错报文和ICMP询问报文。

ICMP报文分类类型的值ICMP报文类型
差错报告报文3终点不可达
差错报告报文11时间超过
差错报告报文12参数问题
差错报告报文5改变路由
询问报文8或0回送请求或回答
询问报文13或14时间戳请求和回答

traceroutr:从源主机发送一连串IP数据报,其中封装了无法交付的UDP数据报,就可以查询源主机到目的主机所经过的所有路由器的IP地址。

传输层

TCP/UDP

TCP是一种面向连接的可靠的全双工通信的面向字节流的运输层协议。
TCP连接的端口叫套接字,端口号拼接到IP地址上即成为了套接字。(IP地址:端口号)
TCP首部报文格式:序号:每一个字节都按序号编号;确认号ack:发送收到的最后一个数据的序号;确认ACK:当ACK=1时,确认号字段才有效;复位RST:连接中出现重大差错(由于主机崩溃或其他原因),必须释放连接,还可以用来拒绝一个非法的报文段或拒绝打开一个连接;同步SYN:SYN为1说明这是一个连接请求报文段或连接接受报文段;终止FIN:用于释放一个连接。FIN=1说明次报文段的发送方数据已发送完毕,并要求释放连接。
TCP滑动窗口原理:(连续AQR协议)在同一时刻,A的发送窗口并不总是和B的接收窗口一样大;对于不按序到达的数据,并没有明确规定怎么处理;TCP要求接收方有累计确认的功能。
超时重传的时间选择:TCP采用一种自适应的算法,RTTs,平均加权往返时间
选择确认SACK:发送的字节流不连续时,使用SACK。
TCP的流量控制:滑动窗口、传输效率选择
TCP的拥塞控制:防止过多的数据注入到网络中,这样使网络中的路由器或链路不致过载。
四种方法:慢开始、拥塞避免、快速重传、快速恢复。
三握四挥:略
TIME_WAIT:1、保证可靠的终止TCP连接2、保证已失效的连接请求报文段被准确的识别并丢弃。
SYN泛洪攻击:三次握手的第二阶段,客户机伪造出大量的syn同步报文段,服务端就会消耗很多的资源去保存客户机的信息,并进行确认,实际确认会失败,但失败需要一定的时间,将会导致正常的客户端得不到响应而失败。
TCP心跳包:客户端在服务器与客户端之间定时发送一个保存自己状态的命令字,类似与心跳,被称为心跳包。
TCP粘包:多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发生方的发送边界,而采用某一估测值大小来进行数据读出,若双方的size不一致时就会使发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。
UDP如何实现可靠传输:在应用层实现类似TCP的超时重传、应答确认等机制。
TCP和UDP的区别:TCP是面向连接的、可靠的流式服务,经过三次握手才能传递数据,通过应答确认、超时重传等机制实现可靠性,还有滑动窗口实现流量控制;UDP是不可靠的、无连接的数据报服务。
使用场景:视频传输可以使用UDP,传输文件,要求可靠性就得使用TCP。

应用层

DNS原理及应用:域名系统是互联网使用的名字系统,用于把人们使用的物理地址转化为IP地址。由于IP地址难以记忆,就使用互联网上的主机名字,而域名系统可以将其转化为IP地址。互联网的DNS被设计成一个联机分布式数据库系统,DNS使大多数名字都在本地进行解析,仅少量解析需要在互联网上通信。
统一资源定位符URL:<协议>://<主机>:<端口>/<路径>
超文本传输协议HTTP:底层服务由TCP完成。面向事务的应用层协议
HTTP1.0:每请求一个文档就要两倍的RTT的开销,是一种非持续性连接
HTTP1.1:持续性连接,万维网服务器在发送响应报文后仍然在一段时间内保持这种连接。
非流水线方式:客户在收到前一个响应后才能发送下一个请求,但在服务器发送完一个对象后,其TCP连接处于空闲状态,浪费了服务器资源。
流水线方式:客户在收到响应报文之前就可以接着发送新的请求报文。
HTTP报文结构:开始行:请求报文的开始行叫请求行,包含方法、URL、版本,用空格分隔开,最后以“CR”和“LF”分别代表回车和换行;响应报文的开始行叫状态行,包含版本、状态码、短语用空格分隔开,最后也有回车和换行。首部行:用来说明服务器、浏览器或报文主体的一些信息,首部可以好几行,也可以不用,但在首部的下一行有一个空行将首部和实体主体分开。实体主体:请求报文通常不用,有些响应报文也不用。
HTTP状态码:

状态码含义
1XX通知信息,请求收到了或正在处理
2XX成功,接受了或知道了
3XX重定向
4XX客户的错误,请求中有错误的语法或不能完成
5XX服务器的错误,如服务器失效,无法完成请求

HTTP请求方法:

方法意义
GET请求读取由URL所标志的信息
HEAD请求读取由URL所标志的信息的头部
POST给服务器添加信息
PUT给指定的URL下存储一个文档
DELETE删除URL所标志的资源

对称密码密钥体制:加密密钥和解密密钥采用相同的密码体制。密钥是保密的,算法是公开的约有7.6×10^16种密钥。三重DES,将一个64位明文用一个密钥加密,在用另一个密钥解密,然后再使用第一个密钥加密。
公开密钥密码体制:使用不同的加密密钥和解密密钥。加密密钥是公开的,解密密钥是需要保密的,而加密算法和解密算法是公开的。
数字证书(数字签名):保证报文鉴别、报文完整性和报文不可否认性,A用其私钥对报文进行D运算,是一种解密运算,而其他人用A的公钥进行E运算,得到报文明文,因为只有A有自己的私钥,所以报文一定是A发送的,达到了报文鉴别,如果非法第三方篡改了报文,由于用A的公钥E运算后是不可读的报文,那么就可以判断报文的完整性,如果A抵赖曾发送过次报文,只用提高给公正的第三方,由于只有A有自己的私钥,就可以判断次报文是A发送的。具有保密行性的数字签名,即在用自己的私钥D运算后,再用B的公钥进行E运算,这样,此证书也就只有B可以读取。
HTTP和HTTPS的区别:HTTP是不提供任何方式的数据加密,攻击者如果截取了传输报文,可以直接读懂其中的信息,而HTTPS在HTTP的基础上加入了SSL协议,依靠证书来验证服务器的身份,并为之间的通信进行数据加密。1.HTTPS协议需要申请CA证书 2.HTTP是明文传输,HTTPS具有安全性的SSL加密传输 3.HTTP和HTTPS使用完全不同的连接方式,用的端口号也不同,HTTP:80,HTTPS:443
SSL提供的安全服务:1.SSL服务器鉴别 2.SSL客户鉴别 3.加密的SSL会话。
cookie和session区别:
1.存放位置不同,cookie存放在客户端,session数据存放在服务器端;2.cookie的安全性较低,可以通过分析本地cookie来进行cookie欺骗,考虑安全性应使用session;3.session数据在一定时间内保存在服务器上,当服务器的访问增多,会占用服务器的性能;4.单个cookie最大保存数据大小为4K,很多浏览器限制一个站点只能保存20个cookie,而session数据存放在服务器端,没有数量限制。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 09:42:12  更:2021-08-29 09:42:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:33:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码