Linux复习--网络基础(OSI七层、TCP三次握手与四次挥手、子网掩码计算)

news2024/9/24 4:45:24

一、ISO/OSI七层模型的分层与作用

1、ISO/OSI的七层模型

2、作用

  • 应用层:为用户提供服务,给用户一个操作界面
  • 表示层:数据提供表示;加密;压缩;
  • 会话层:确定数据是否需要进行网络传递
  • 传输层:
    • 对报文进行分组(发送时)、组装(接收时)
    • 提供传输协议的选择:
      • UDP(用户数据报协议):不可靠的,面向无连接的传输协议(快,不可靠)
      • TCP(传输控制协议):可靠的,面向连接的传输协议(可靠,准确,慢)
      • 端口封装
      • 差错校验
  • 网络层:
    • IP地址编码
    • 路由选择:静态路由、动态路由
  • 传输链路层:MAC地址编制、MAC地址寻址、差错校验
  • 物理层:数据实际传输、电气特性定义

3、扩展

TCP/IP协议族的组成:

二、TCP三次握手和四次挥手

1、传输层协议

  • TCP协议(传输控制协议):可靠的,面向连接的传输协议
  • UDP协议(用户数据报协议):不可靠的,面向无连接的传输协议

2、TCP协议数据格式

3、TCP包头作用

  • 序号Seq序号,占32位,用来标记从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记
  • 确认号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1
  • 标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:
    • URG:紧急指针(urgent pointer)有效
    • ACK:确认序号有效
    • PSH:接收方应该尽快将这个报文交给应用层
    • RST:重置连接
    • SYN:发起一个新连接
    • FIN:释放一个连接

4、TCP三次握手

  • 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
  • 第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack序号J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
  • 第三次握手:Client收到确认后,检查ack序号是否为J+1,标志位ACK是否为1,如果正确则将标志位ACK置为1,ack序号=K+1,并将该数据包发送给Server;Server检查ack序号是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client和Server之间可以开始传输数据了。

5、TCP四次挥手

  • 第一次挥手:Client发送一个标志位为FIN包,Seq序号=m,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态
  • 第二次挥手:Server收到标志位FIN包后,发送一个标志位ACK给Client,Ack确认序号为m+1,Server进入CLOSE_WAIT状态
  • 第三次挥手:Server发送一个标志位FIN=1,ACK=1,Seq序号=n,Ack确认号=m+1,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态
  • 第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK标志给Server,Ack确认序号=n+1,Server进入CLOSED状态,完成四次挥手

三、子网掩码的计算

1、子网掩码的作用

  • 子网掩码必须和IP地址成对出现,否则没有意义
  • 子网掩码是用于给IP地址划分网络地址与主机地址
  • 和子网掩码1对应的IP地址,代表网络位;和子网掩码0对应的IP地址,代表主机位
  • 子网中只要1是连续的,就是合理子网掩码

2、网络地址与主机地址

3、标准子网掩码

4、子网掩码计算公式

  • 网络地址:把IP地址和子网掩码的二进制,按位进行逻辑与运算
  • 广播地址:有效子网掩码中,有几个0,就把IP地址的后几位换位1
  • 子网个数:有效子网掩码中,有几个1,子网数就是2的几次方
  • 主机个数:有效子网掩码中,有几个0,主机数就是2的几次方减2

5、IP地址分类

6、私有IP地址

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

好用的idea方法分隔符插件

好用的idea方法分隔符插件

OpenCV特征检测(12)检测图像中的潜在角点函数preCornerDetect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算用于角点检测的特征图。 该函数计算源图像的基于复杂空间导数的函数 dst ( D x src ) 2 ⋅ D y y src ( D y src ) 2 ⋅ D x x src − 2 …

OpenCV 3

模板匹配方法 尽量采用归一化的方法,因为它更加精细。 匹配效果展示 匹配单一图像 这是一段Python代码,主要使用了OpenCV库进行图像处理。这段代码的主要功能是通过模板匹配方法在一张大图中找到一个小图的位置。 具体来说: - 第一行的for…

项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持windows、linux、国产麒麟系统)

若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142454993 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、Op…

验收测试:从需求到交付的全程把控!

在软件开发过程中,验收测试是一个至关重要的环节。它不仅是对软件质量的把关,也是对整个项目周期的全程把控。从需求分析到最终的软件交付,验收测试都需要严格进行,以确保软件能够符合预期的质量和性能要求。 一、需求分析阶段 在…

[uni-app]小兔鲜-01项目起步

项目介绍 效果演示 技术架构 创建项目 HBuilderX创建 下载HBuilderX编辑器 HBuilderX/创建项目: 选择模板/选择Vue版本/创建 安装插件: 工具/插件安装/uni-app(Vue3)编译器 vue代码不能直接运行在小程序环境, 编译插件帮助我们进行代码转换 绑定微信开发者工具: 指定微信开…

Linux 基本指令(二)

目录 1. more指令 2. less指令(重要) 3. head指令 4. tail指令 5. date指令 (1)可以通过选项来指定格式: ​编辑 (2)在设定时间方面 (3)时间戳 6. cal指令 7. find指令 8. grep指令 9. alias指令 10. zip指令与unzip指令 (1). zip指令 (2). unzip指令…

链表分割-----------lg

现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 我们可以假设x为36,则小于36都排在前边,>3…

桌面便签哪个好用?好用的便签软件推荐?

随着信息技术的发展,我们的生活方式也发生了翻天覆地的变化。从纸质笔记本到电子便签,这不仅仅是载体的转换,更是思维习惯的一次革新。在这个数字时代,如何利用科技工具来辅助我们更好地管理时间和信息,成为了值得探讨…

linux环境oracle11.2.0.4打补丁(p31537677_112040_Linux-x86-64.zip)

上传补丁及opatch工具 创建目录并上传opatch工具和补丁包 [oraclerhel64 ~]$ mkdir /u01/psu [oraclerhel64 ~]$ cd /u01/psu [oraclerhel64 psu]$ ll total 514572 -rw-r--r-- 1 oracle oinstall 391781147 Sep 23 17:37 p31537677_112040_Linux-x86-64.zip -rw-r--r-- 1 or…

中电金信 :基于开放架构的私有云建设实践

01开放架构私有云诞生背景 随着国产化创新建设的深化,产业侧行业软件持续进行云原生改造,金融机构拥抱云和容器技术,实现数智化转型已是大势所趋。近年,云原生技术以及架构发展速度更是惊人,私有云开始有了新架构、有了…

idea使用spring initializr快速创建springboot项目

idea使用spring initializr快速创建springboot项目 1.打开idea,新建项目如图,选择好java版本,我这里是17。2.点击next,首先选择springboot版本,我这里选择3.3.4。勾选springweb,它会帮我们下载关于springmv…

【高效且应用广泛的排序 —— 快速排序算法】

高效且应用广泛的排序 —— 快速排序算法 快速排序是一种常用的排序算法,主要采用分治的思想。以下是对快速排序算法的详细介绍及代码示例: 快速排序的基本思路是,每次将一个位置上的数据归位,使得该数左边的所有数据都比该数小…

小程序开发设计-小程序的宿主环境:组件⑦

上一篇文章导航: 小程序开发设计-小程序的宿主环境:宿主环境简介⑥-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142425131?spm1001.2014.3001.5501 注:不同版本选项有所不同,并无大碍。 目录 上一篇文章导航…

阿里巴巴首页pc端1688店铺招牌店铺装修教程

1688运营1688批发首页1688装修模板1688店铺怎么装修模板自定义装修代码1688店铺装修模板旺铺装修阿里店铺首页怎么装修1688店铺装修教程视频全屏通栏代码1688店铺装修模板阿里巴巴店铺装修设计 阿里巴巴首页pc端1688店铺招牌店铺装修教程 工具:一秒美工

英特尔:昔日芯片霸主的命运抉择

英特尔:昔日芯片霸主的命运抉择 简介 英特尔的辉煌与困境 高通的崛起与收购意向 英特尔困境的原因 英特尔的未来走向 简介 据美国《华尔街日报》9月20日报道,芯片巨头高通公司近日就收购事宜与英特尔公司进行了接洽。但目前这只是一个意向&#xff…

centos7 docker部署nacos

1. 一行代码安装git yum -y install git 2. 下载最新版nacos源码: git clone https://github.com/nacos-group/nacos-docker.git 进入nacos-docker文件 cd nacos-docker 3.docker安装数据库Mysql8 按这个来就行,非常好 Docker安装mysql8-超详细、每…

828华为云征文|华为云Flexus云服务器X实例 基于CentOS系统镜像快速部署Laravel开源论坛

最近公司可热闹了!大家都在为搭建博客论坛系统忙得不可开交,尤其是在选服务器这件事儿上,那叫一个纠结。 同事 A 说:“咱得选个厉害的服务器,不然这论坛以后卡得跟蜗牛爬似的可咋办?” 同事 B 回应道&#…

思维商业篇(5)—发展趋势分析

思维商业篇(5)—发展趋势分析 核心理论 巴菲特曾在《滚雪球》一书中提到他的投资之道其实非常简单,可以总结为两句话:找到足够长的雪道,找到足够湿的雪球。 而发展趋势的分析,正好可以借助巴菲特的这个滚雪球理论。 足够长的雪…

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【用户态内存调测】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 基本概念 Debug版本的musl-libc库为用户提供内存泄漏检测、堆内存…