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模型

2.1、OSI七层模型

2.2、五层模型与OSI模型区别

三、TCP/IP协议群

3.1、需要解决协议群的五个问题

3.2、TCP

3.3、IP协议

四、UDP协议

五、Wireshark

六、Socket编程

七、HTTP协议


一、面试

HTTP常见状态码一些状态码分享给大家,文章底附上了腾讯云的文档中心整理的状态码 (? ???ω??? ?)https://blog.csdn.net/weixin_48554146/article/details/122793898

二、OSI模型

2.1、OSI七层模型

应用层

只关心业务逻辑,不关心数据的传输

  • 应用层(Application Layer)是OSI参考模型的最高层,其功能是直接向用户提供服务。

  • 它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系

表示层

负责协商用于传输的数据格式,并装换数据格式

  • 压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复

  • 数据的加密和解密:可以提高网络的安全性

会话层

负责管理两个联网实体的连接

  • 两个联网实体:可以是用户端跟服务器,也可以是服务器跟服务器

  • 建立连接 ---> 维持通信 ---> 释放连接

传输层

负责将数据从一个实体传输到另一个实体,但不负责数据传输的方式

  • 数据分割重组:数据量大将数据拆分,并封包,后按顺序重组

  • 纠错:在数据传输过程中出现问题后采取方式进行纠正

  • 管理连接:处理数据的频繁交换

  • 流量控制:控制传输数据的速率

  • 端口寻址:我们通常说的,TCP UDP就是在这一层,端口号既是这里的“端”

网络层

负责把一个封包从一个IP地址传输到另一个IP地址

  • 路由算法:目的在于防止阻塞,并进行差错检测

  • 这一层就是我们经常说的IP协议层,IP协议是Internet的基础

数据链路层

确保两个临近设备间数据的传输,并隐藏底层实现

  • 将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测

  • 数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)

物理层

封装和隐藏具体的传输手段,并且提供稳定的传输接口

  • 蓝牙、WIFI、光纤。。。

  • 通过物理介质传输比特流

2.2、五层模型与OSI模型区别

分层设计较为臃肿,并非每一层都为必要

  • 删除了会话层,会话是虚拟概念不是必须的

  • 删除了表现层,数据压缩、数据格式转换不是应用必须的

三、TCP/IP协议群

3.1、需要解决协议群的五个问题

1.报文拆分

  • 数据量大,网络底层设备不支持

  • 复用路径

2.增加协议头

数据分块后在接手端需要重组,所以需要使用头部来添加一些描述字段

3.数据在相邻设备间数据传递

4.路由和寻址

5.数据重组

3.2、TCP

连接

  • 是虚拟、抽象的概念

  • 能让两个通信的程序间确保彼此都在线

  • 加快响应请求速度

  • 连接也被称为会话(Session)

  • 使通信更稳定、安全

  • 消耗更多资源

全双工

  • 单工:任何时刻数据只能单向发送

  • 半双工:允许数据在两个方向上传输,在某一时刻,只允许数据在一个方向上传输

  • 全双工:任何时刻都能双向发送数据,至少需要两条链路

无损传输

  • 使无序的数据恢复原有顺序

  • 多个接收方时,都能收到无损副本

3.2.1、TCP三次挥手、四次握手

  • 连接过程(三次握手)

  • 断开连接过程(四次挥手)

【注意】中断连接端可以是Client端,也可以是Server端

确认应答超时重传是 TCP 可靠性中最核心的机制

3.2.2、传输数据

报文拆分

顺序保证

可自行百度搜索TCP滑动窗口,来查看TCP端特别多的时候,该如何排序

  • TCP序号:发送序号(Seq)、接受序号(Ack)

  • 一个端的发送序号是另一个端的接受序号

TCP头-9个标志位

  • NS、CWR、ECN:TCP扩展协议

  • ECN:显示拥塞控制协议,有助于帮助解决延迟和丢包问题

  • URG:紧急标志位,像远程控制服务器,按CTRL+C

  • SYN(Synchronization sequence number):同步序号

  • FIN(finish):终止连接

  • ACK(Achnowledgment):响应

  • PSH(push):传送数据

  • RST(Rest Connection):重置连接

3.2.3、TCP协议周边配置

  • 纠错能力:保证数据可靠性

  • 拥塞控制能力:网络拥堵的时候,传输慢一点

  • Checksum:是一个函数,把原文映射到一个不可逆的16bit的编码中,这样就可以知到原文传输过程中有没有发生变化,发生变化就不接受,另一端自动会发送一份新的

  • 流控能力:让两端协商一个合理的收发速率,利用滑动窗口

3.3、IP协议

3.3.1、IPv4协议

寻址

IPv4地址(32位:4*8):逐级寻址

寻址过程

寻址步骤

1 & 1 = 1 , 1 & 0 = 0 , 0 & 1 = 0 , 0 & 0 = 0

  • 1-找到顶层网络:

最顶层的网络号和子网掩码做位运算得到:顶层网络

103.16.3.1 & 255.0.0.0 = 103.0.0.0(顶层网络)PS:255=111

  • 2-找到下一层网络

用IP地址和下一级的子网掩码做位与得到:下一级网络

103.16.3.1 & 255.255.0.0 = 103.16.0.0(下一级网络)

  • 3-找到再下一层网络

使用255.255.255.0子网掩码找到下一级网络:

103.16.3.1 & 255.255.255.0 = 103.16.3.0(再下一级网络)

  • 4-定位设备

设备就在子网 103.16.3.0 中,最终找到设备号是 1

子网掩码不一定都是255,默认是255而已

路由

  • 若寻找的IP地址不在局域网中,需要路由找到去往对应网络的路径

  • IP地址和子网掩码位与的过程是由路由算法实现的

3.3.2、IPv6协议

IPv4只能支持43亿设备,不够用

IPv4协议与IPv6协议区别

区别一:地址

  • 地址数量:IPv4有4个8位,共32位,IPv6有8个16位,共128位

  • 分割符号:

    • IPv4地址用 .分割,如 103.28.7.35 每一个是8位,用0-255的数字表示

    • IPv6地址用 :,如 0123:4567:89ab:cdef:0123:4567:89ab:cdef,每个是一个16位的16进制数字,就是4个符

  • 书写方式:IPv6地址可简写

区别二:寻址

  • 全局单播

    • 站点前缀(Site Prefix):48bit,一般是由ISP,或者RIR(地区性互联网注册机构),将IP地址分配给运营商

    • 子网号(Subnet ID):16bit,用于站点内部区分子网

    • 接口号(Interface ID):64bit,用于站点内部区分设备

  • 本地单播

定义:给定地址,本地网定位设备

例子:fe80::123e:456d。Link-local必须以fe80开头

扩展:fe80开头就像169.254.x.x,是这个网段里没人给你分ip,自动协商的地址,其地址不能在网络上路由,也就是说,通常无法用于上网 。现在各大运营商用的ipv6

电信是240e开头的(240e::/20)

移动是2409开头的(2409:8000::/20)

联通是2408开头的(2408:8000::/20)

其他一些标记有teredo也不是原生ipv6

  • 多组多播

    • 需要以8个1,也就是 ff00 开头,后面跟上一个分组的编号

    • 所在的网络中已经定义了该分组编号,而且有设备可以识别这个编号

    • 拥有分组下设备的完整清单,并把数据发送给对应的设备们

    • IPv4也支持分组多播,但需要网络配置整体配合

区别三:新设备接入

新设备接入IPv6后,会使用IPv6的邻居发现协议(ND协议)为自己申请一个IP地址。当新设备需要发送信息到达目的地时,还可以通过ND协议广播查询目标设备。如果还需要路由,还可以通过ND查找路由器

传统:ARP协议(地址解析协议)每个节点存储许多额外信息

IPv6:更加无状态化,减少数据冗余带来的风险和负担

四、UDP协议

  • 出生晚

  • 协议简单,搭建在IP协议之上

  • 尽可能的减少通信机制,速度非常快

  • UDP协议的RFC只有两页

  • 在传输层提供直接发送报文的能力,报文时数据传输的最小单位

  • 发送报文,无法拆分数据

为什么不能直接调用IP协议?

IP协议只能把数据从一个网络接口发送到另一个网络接口,无法寻址到应用

UDP的封包格式

设计目标:允许用户直接发送报文的情况下最大限度的简化应用的设计

TCP与UDP区别

扩展

聊天室是否适合UDP?

不合适,聊天室并发高但流量不大,依赖可靠性

HTTP协议适不适合UDP?

合适,HTTP3.0就是建立在UDP上的

五、Wireshark

  • 是世界上应用最广泛的网络协议分析器

  • 在微观层面上看到整个网络正在发生的事情

Wireshark功能集

  • 深入检查数百个协议,并不断添加更多协议

  • 实时捕获和离线分析

  • 支持Windows、Linux、macOS、Solaris。。。好多平台

  • 提供GUI浏览,也可以通过TTY(命令行)

  • VoIP支持

  • Gzip支持

  • IPSec支持

六、Socket编程

线程模型

Socket模型位置

socket编程偏底层,学了可以加深对网络编程的理解,如果有时间的话可以学。但是还是建议要先把应用先学好,如果不是将来打算去做中间件的开发,socket编程了解一下即可

七、HTTP协议

目标:处理客户端和服务端之间的通信

请求

一次请求,分成请求头(Header)和请求体(Body),下面是一个请求头+请求体的实例

返回

一次返回,分成返回头(Header)和消息体(Body),200:状态码,OK:状态码的描述

URL

统一资源定位器(用输入法输入URL自动就显示)

DNS

DNS(Domain Name System):域名解析系统

DNS 查询分级缓存策略(DNS Query)

找缓存顺序:浏览器 ---> 操作系统 ---> 本地服务商 ---> 根服务器

  1. 先查询浏览器的本地缓存(通常在内存中)

  2. 本地没找到,查找操作系统的 host 文件,该文件在 Linux 中在 /etc/hosts 里

  3. 上述还没找到,DNS会查询本地服务提供商(ISP)

  4. ISP没找到,请求指向ROOT根服务器,返回顶级域名服务器地址

  5. 浏览器发送请求给顶级域名服务器,返回权威域名服务器地址

  6. 浏览器发送 Lookup 请求给权威域名服务器,找到具体DNS记录,返回给浏览器

DNS概述

DNS的数据以记录形式存储,就叫DNS记录。DNS记录的种类非常多,有30多种,每条记录描述了网址(URL)的一种关系

CDN

CDN:将请求分散到全世界各地,分发流量,加快访问速度

HTTPS和HTTP2.0及同源策略比较干。。。https://blog.csdn.net/weixin_48554146/article/details/122793344

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 14:01:51  更:2022-02-07 14:02:15 
 
开发: 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/26 9:39:27-

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