网络原理知识总结

一、网络模型

1.1 osi七层参考模型

     物理层:连接通信链路、传输比特流数据链路层:数据封装成帧,在节点与节点间实现可靠物理地址寻址,进行差错校验、流量控制网络层:逻辑地址寻址,路由选择  IP(IPV4IPV6) ICMP IGMP传输层:建立,管理和维护端到端的连接,对上层数据进行分段和重组 TCP,UDP会话层:建立、管理、终止会话表示层:数据格式转换:数据加解压缩;数据加解密;数据编码解码应用层:应用程序、服务所在,人类语言转化为编码HTTP HTTPS FTP TFTP SMTP SNMP DNS DHCP TELNET POP3

1.2 TCP/IP 五层(有时候说是四层模型)

四层就是数据链路层和物理层被叫做:网络接口层

①应用层:通过应用进程间的交互来完成特定网络应用
数据:报文
协议:HTTP, SMTP(邮件), FTP(文件传送)
②运输层:向两个主机进程之间的通信提供通用的数据传输服务。
数据:TCP:报文段,UDP:用户数据报
协议:TCP, UDP
③网络层:为分组交换网上的不同主机提供通信服务
数据:包或IP数据报
协议:IP
④数据链路层:
数据:帧
⑤物理层:
数据:比特

1.3 两种模型的比较

结构对比
在这里插入图片描述

osi的失败
在这里插入图片描述

二、 物理层

2.1作用:用来连接各种计算机的传输媒体,传输数据比特流

粗略的理解:在电线上,把数据以比特流的形式传过去

2.2物理介质

①引导性介质:光纤、铜、电缆
②非引导型介质:信号 例如无线电
信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。

三 数据链路层

3.1作用:把源自网络层来的数据可靠地传输到相邻节点的目标机网络层

3.2 可靠机制:通过物理地址寻址、数据的成帧、流量控制、数据的检错、重发等

最大传输单元是MTU,数据帧长度受MTU限制.
①成帧 (Framing)
将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
②差错控制 (Error Control)
处理传输中出现的差错,如位错误、丢失等
③流量控制 (Flow Control)
确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出

3.2数据成帧

将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
在这里插入图片描述

四、网络层

4.1作用:则负责数据从一台主机到另外一台主机之间的传递。

1.网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;

2.基本数据单位为IP数据报;

网络层关键功能

①路由(控制面)
选择数据报从源端到目的端的路径
核心:路由算法与协议
②转发(数据面)
将数据报从路由器的输入接口传送到正确的输出接口

传输层负责建立主机直接按进程与进程之间的连接,而网络层则负责数据从一台主机到另外一台主机之间的传递。

4.2.包含的主要协议:

IP协议(Internet Protocol,因特网互联协议);
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

4.2.1IP协议

IP协议是我们最常见的一种通信协议,它为每一台主机赋予了身份,使得不同主机之间可以通过IP进行访问,IP地址有32位和48位两种,32位的是IPv4,目前这种IP将要被分配完,之后将逐渐过渡到IPv6,更长的位数意味着可以分配更多不同的IP。
IPv4报文格式
在这里插入图片描述
IP地址分类(IPv4把IP地址分为五类):
在这里插入图片描述
IP地址的计算?
在这里插入图片描述
IP地址 = 网络地址 + 主机地址

IP地址 = 网络地址 + 子网地址 + 主机地址
为什么要划分子网?

子网划分的目的是:节约IP地址,避免浪费,限定广播的传播,保证网络的安全,有助于覆盖大型地理区域。一个B类地址用于一个广播域,地址浪费
广播域太庞大,一旦发生广播,内网不堪重负。
将一个网络号划分为多个子网,每个子网分配给一个独立的广播域。
如此一来广播域的规模更小,网络规划更加合理。
IP地址得到合理的利用

特殊IP地址?
在这里插入图片描述

私网IP地址?
私有IP的出现是为了解决公有IP地址不够用的情况。从A、B、C三类IP地址中拿出一部分作为私有IP地址,这些IP地址不能被路由到Internet骨干网上,Internet路由器也将丢弃该私有地址。如果私有IP地址想要连至Internet,需要将私有地址转换为公有地址。这个转换过程称为网络地址转换(Network Address Translation,NAT),通常使用路由器来执行NAT转换。
范围如下:

​ A: 10.0.0.0~10.255.255.255 即10.0.0.0/8

​ B:172.16.0.0~172.31.255.255即172.16.0.0/12

​ C:192.168.0.0~192.168.255.255 即192.168.0.0/16

4.2.3ICMP

说明:
网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。
在这里插入图片描述
作用
Ping应用:网络故障的排查;
Traceroute应用:可以探测IP数据报在网络中走过的路径。

4.2.3 ARP协议与RARP协议

说明:
地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。

ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。
在这里插入图片描述
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。

五、传输层

5.1UDP协议

在这里插入图片描述

5.1.1特点

UDP是无连接协议;
UDP不能保证可靠的交付数据;
UDP是面向报文传输的;
UDP没有拥塞控制;
UDP首部开销很小。

5.1.2结构

首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】

数据字段:应用数据
在这里插入图片描述

5.2TCP协议

在这里插入图片描述

5.2.1功能

对应用层报文进行分段和重组;
面向应用层实现复用与分解;
实现端到端的流量控制;
拥塞控制;
传输层寻址;
对收到的报文进行差错检测(首部和数据部分都检错);
实现进程间的端到端可靠数据传输控制。

5.2.2特点

TCP是面向连接的协议;
TCP是面向字节流的协议;
TCP的一个连接有两端,即点对点通信;
TCP提供可靠的传输服务;
TCP协议提供全双工通信(每条TCP连接只能一对一);

5.2.3结构

在这里插入图片描述
TCP首部:

序号字段:TCP的序号是对每个应用层数据的每个字节进行编号
确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;
TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍
TCP标记的作用:
在这里插入图片描述

5.2.4TCP协议的拥塞控制

拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。

慢开始和拥塞避免:

【慢开始】拥塞窗口从1指数增长;
到达阈值时进入【拥塞避免】,变成+1增长;
【超时】,阈值变为当前cwnd的一半(不能<2);
再从【慢开始】,拥塞窗口从1指数增长。
在这里插入图片描述
快重传和快恢复:

发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;
执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
在这里插入图片描述

5.2.5tcp三次握手

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.2.6tcp四次挥手

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/403478.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

window.onload、$(document).ready()、Vue.created() 页面加载完成后执行方法

1、JavaScript 的 window.onload 方法 window.onload 方法是在页面所有元素&#xff08;包括图片、样式、链接等&#xff09;加载完成后触发的&#xff0c;在这个事件之前&#xff0c;页面上的所有资源都必须加载完成。因此&#xff0c;如果页面中包含大量的图片或其他资源&am…

【iOS】——响应者链和事件传递链

事件传递 事件传递流程 发生触摸事件后&#xff0c;系统会将该事件封装成UIEvent对象加入到一个由UIApplication管理的事件队列 UIApplication会从事件队列中取出最前面的事件&#xff0c;并将事件分发下去以便处理&#xff0c;通常&#xff0c;先发送事件给应用程序的主窗口…

TCP详解(一)报文详情/MSS/MTU

本文旨在介绍TCP的报文格式详情和传输层、链路层的字节数限制 1 TCP 协议的报文格式 TCP 报文段包括协议首部和数据两部分&#xff0c;协议首部的固定部分是 20 个字节&#xff0c;头部是固定部分&#xff0c;后面是选项部分。 1.1 端口号 16位源端口&#xff1a;发送方主机…

KDP数据平台:以实战案例验证技术领先力

本文由智领云 LeetTools 工具自动生成 申请试用&#xff1a; https://www.leettools.com/feedback/ 在当今快速发展的技术环境中&#xff0c;数据平台的选择对企业的数字化转型和业务发展至关重要。智领云开源KDP&#xff08;Kubernetes Data Platform&#xff09;在数据处理和…

效果炫酷的3D翻转书特效WordPress主题模板MagicBook主题v1.19

正文&#xff1a; MagicBook是一款支持3D翻书特效的书籍WordPress主题。支持可视化页面搭建&#xff0c;3D菜单&#xff0c;完全自适应设计,WPML多语言支持。 这款主题一定会让你爱不释手。虽然他是英文的&#xff0c;但不可不承认的是&#xff0c;它优雅的设计会让你愿意花时…

无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案

无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案 1.快速创建应用 你可以通过 3 种方式在 Dify 的工作室内创建应用: 基于应用模板创建(新手推荐) 创建一个空白应用 通过 DSL 文件(本地 / 在线)创建应用 从模板创建…

13 定时器

13 定时器 1、定时1.1 硬件定时器的特性1.2 硬件定时器对应的中断处理函数所作的工作(了解)1.3 linux内核中跟时间相关的三个概念&#xff1a; 2、延时2.1.延时定义2.2 忙等待2.3.休眠等待2.4 等待队列机制2.4.1 介绍2.4.2 结论2.4.3 进程休眠和唤醒的编程步骤方法 1方法 2 3、…

关于uniapp使用izExif.js 插件问题

需求&#xff1a;1.APP获取图片的属性&#xff0c;得到经纬度信息&#xff0c;然后标注到图片上 我们采用izExif.js 插件&#xff0c;进行获取图片信息&#xff0c;在模拟器测试好好地&#xff0c;但是使用真机测试发现getImageData没有返回信息&#xff0c;去izExif.js源码查…

ubuntu中python 改为默认使用python3,pip改为默认使用pip3

一、安装pip和python&#xff08;有的话可跳过&#xff09; 更新软件源 sudo apt update !!!apt和apt-get apt apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。 部分截图为apt-get&#xff0c;建议直接用apt 安装pip和python ubuntu 18.04和更高版本默认安…

字符串金额转换,字符串手机号屏蔽,身份证信息查看,敏感词替换

2135 在发票上面该写成零佰零拾零万贰仟壹佰叁拾伍元 我们用逆推法可以写成零零零贰壹叁伍->贰壹叁伍->2135 1.遍历获取到每一个数字&#xff0c;然后把大写放到数组里面&#xff0c;将数字当作索引&#xff0c;在数组里面查找大写 package stringdemo;import java.uti…

Jakarta Servlet 到 SpringMVC

Jakarta EE&#xff08;曾被称为Java EE&#xff09;是Java平台企业版&#xff08;Java Platform Enterprise Edition&#xff09;的下一代版本&#xff0c;它在Oracle将Java EE的开发和维护交给Eclipse Foundation后得以重生&#xff0c;并更名为Jakarta EE。Jakarta EE保留了…

Windows采用VS2019实现Open3D的C++应用

1、参考链接 https://blog.csdn.net/qq_31254435/article/details/137799739 但是&#xff0c;我的方法和上述链接不大一样&#xff0c;我是采用VS2019进行编译的&#xff0c;方便在Windows平台上验证各种算法。 2、创建一个VS2019的C Console工程 #include <iostream>…

MT1619 (A/B/C/D 15W-25W)快充电源主控芯片

MT1619 是一款快充电源主控芯片&#xff0c;MT1619内部集成了一颗高集成度、高性能的电流模式 PWM 控制器和一颗功率 MOSFET。MT1619适用于小于 30W 的开关电源。MT1619 具有恒功率功能&#xff0c;特别适用于 PD 充电器、电源适配器等中小功率的开关电源设备。极低的启动电流与…

windows下TortoiseSVN切换账号的方法

前言 在项目开始初期的时候大家会使用一个默认账号,后面会根据需要给每个人分配各自的个人账号,这个时候就需要重登陆新的svn账号,下面就是讲解下怎样在windows下修改登录TortoiseSVN的账号。 方法 1.首先在桌面右键&#xff0c;选择TortoiseSVN-settings 2.进入设置页面&a…

阿里云注册、认证、短信资质、签名、模板申请过程

一、帐号注册 输入“帐号密码注册”中的相关信息即可。 手机号是必须的&#xff0c;先确定好手机号。 正常的可以直接注册成功的。 二、实名认证 注册成功之后&#xff0c;就可以点击上述的“快速实名认证”。 这次选择的是“企业认证”。 有几种方式&#xff0c;如下&#x…

clamp靶机复现

靶机设置 设置靶机为NAT模式 靶机IP发现 nmap 192.168.112.0/24 靶机IP为192.168.112.143 目录扫描 dirsearch 192.168.112.143 访问浏览器 提示让我们扫描更多的目录 换个更大的字典&#xff0c;扫出来一个 /nt4stopc/ 目录 目录拼接 拼接 /nt4stopc/ 发现页面中有很多…

CeresPCL 岭回归拟合(曲线拟合)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 由于在使用最小二乘插值拟合时,会涉及到矩阵求逆的操作,但是如果这个矩阵接近于奇异时,那么拟合的结果就会与我们期望的结果存在较大差距,因此就有学者提出在最小二乘的误差函数中添加正则项,即: 这里我们也可…

【SpringBoot】SpringBoot框架的整体环境搭建和使用(整合Mybatis,Druid,Junit4,PageHelper,logback等)

目录 1.介绍 1.1 配置文件 1.2 目录结构 2.基于SpringBoot的SpringMVC 4.整合Mybatis 5.整合Druid连接池 6.整合Junit4 7.整合Logback 8.整合PageHelper 9.SpringBoot整合Thymeleaf ​编辑 【附录】springboot的pom.xml 1.介绍 Spring框架的优点是方便解耦、简化开…

Python -- GUI图形界面编程—GUI编程实例 博主也在持续学习中[ 持续更新中!!! 欢迎白嫖 也求粉啊啊啊~ ]

本文介绍了GUI的图形界面编程&#xff08;相关视频是哔站上的应该搜这个题目就能找到&#xff09;&#xff0c;文章还是很基础的&#xff0c;反正我是小白从0开始&#xff0c;主要的结构tinkter库、重要组件简介&#xff08;这个不用死记硬背 用的时候再说&#xff09;、Label&…

用于不平衡医疗数据分类的主动SMOTE

一、主动学习如何应用于不平衡数据的处理 首先&#xff0c;主动SMOTE不是像经典的SMOTE那样从训练集中随机选择一个样本作为生成合成样本的轴心点&#xff0c;而是通过不确定性和多样性采样来智能地进行样本选择&#xff0c;这是主动学习的两种技术。 在数据不平衡的情况下&…