【计算机网络】基本概念

基本概念

  • IP 地址
  • 端口号
  • 协议
  • 协议分层
  • 封装
  • 分用
  • 客户端
  • 服务器
  • 请求和响应
  • 两台主机之间的网络通信流程

IP 地址

  • 概念:IP 地址主要是用于唯一标识网络主机、其他网络设备(如路由器)的网络地址。简单来说,IP地址用来唯一定位主机。
  • 格式:对于 IPV4 来说,一共有32个比特位,一般用点分十进制来表示,如 192.168.1.0;对于IPV6来说,一共有128个比特位
  • 特色的IP地址,127.0.0.1 用于环回测试

端口号

  • 概念:用于定位主机上的一个进程
  • 格式:0~65535 范围的数字

协议

  • 协议最终在网络上体现的是数据包传输的格式

  • 作用:用于网络数据之间的传输

  • 知名的网络协议:

    • 22 端口:ssh协议
    • 21 端口:ftp协议
    • 23 端口:telnet协议
    • 80 端口:HTTP协议
    • 433 端口:HTTPS协议

协议分层

什么是协议分层

将要实现不同功能的部分进行分层, 下层为上层提供服务, 上层调用下层提供服务的接口, 来实现数据之间的传输。

分层的作用

  • 符合高内聚, 低耦合的编程思想
  • 每一层进行了封装, 每一层都不需要知道另外一层具体的实现细节,只需要知道如何调用接口即可,这样方便程序的开发,程序出现了问题,容易排查问题出现在哪里。
  • 分层方便各层之间的更新迭代,影响范围只是在要更新的那一层中

OSI 七层模型

  • 7 应用层, 针对特定应用的协议
  • 6 表示层, 设备固有数据格式和网络数据格式之间的转换
  • 5 会话层, 通信管理, 负责建立和断开连接, 管理传输层以下的分层
  • 4 传输层, 管理两点之间的数据传输, 负责可靠传输
  • 3 网络层, 地址管理和路由选择
  • 2 数据链路层, 互连设备之间传输和识别数据帧
  • 1 物理层, 以高低电压表示 01 的数据

TCP/IP 五层协议

  • 应用层: 负责程序之间的沟通
  • 传输层: 负责两个主机之间的数据传输
  • 网络层: 负责地址管理和路由选择
  • 数据链路层: 负责数据帧之间的识别和传输
  • 物理层: 负责光/电信号之间的传输

封装

  • 应用层数据通过网络协议层时, 经过每一层协议都需要加上一个数据首部, 这就是所谓的封装
  • 首部信息中一般包含了一些类似于首部有多长, 有效载荷有多长等

在这里插入图片描述

分用

  • 数据封装层帧后, 通过传输介质传输到对应的目的主机后, 每次协议都需要再剥夺每一层对应的首部, 依据首部信息, 将该层的有效载荷交付给上层协议进行相应的处理.

在这里插入图片描述

客户端

  • 客户端可以请求服务提供的数据或者执行特定的任务, 并展现结果给用户

服务器

  • 服务器是一个 powerful 的计算机系统或应用系统, 它提供数据、资源或者服务给网络中的其他计算机系统,这些计算机系统统称为客户端。服务器通常具备强大的处理能力、大量存储设备和丰富的网络通信功能。

请求和响应

客户端向服务器发送请求,服务器给客户端响应

两台主机之间的网络通信流程

  1. 建立连接
  2. 发送请求
  3. 服务器响应
  4. 关闭连接
  5. 重复上述过程

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

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

相关文章

网络安全之DDos攻击原理与防御

DDos简介 对于DDos(分布式拒绝服务)攻击,人们往往谈虎色变。它被认为是安全领域中最难解决的问题之一,迄今为止也没有完美的解决方案。DDos攻击是一种网络攻击方式,其目的是通过利用大量的互联网连接设备同时向目标网站或服务发送大量请求&a…

软件架构设计 C/S与B/S架构的区别

一、什么是C/S架构? C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle或SQLServer。 C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端&#x…

uni-popup(实现自定义弹窗提示、交互)

一般提示框的样式,一般由设计稿而定,如果用uniapp的showmodel,那个并不能满足我们需要的自定义样式,所以最好的方式是我们自己封装一个!(想什么样就什么样)! 一、页面效果 二、使用…

SpringMVC03 基础操作续与几个简单的交互

前文 第一篇 第二篇 基础操作 上篇博客我们知道了如何获取Session内容以及传输数组,json,对象,集合等的传送和获取 这节课我们可以从上篇的结束开始,其实Spring对Session进行了进一步的封装,我们可以使用其他的方式也可以读取和设置Session(更简洁的方式) 1.直接使用HTTPSessio…

【GPT-SOVITS-02】GPT模块解析

说明:该系列文章从本人知乎账号迁入,主要原因是知乎图片附件过于模糊。 知乎专栏地址: 语音生成专栏 系列文章地址: 【GPT-SOVITS-01】源码梳理 【GPT-SOVITS-02】GPT模块解析 【GPT-SOVITS-03】SOVITS 模块-生成模型解析 【G…

文件包含漏洞(input、filter、zip)

一、PHP://INPUT php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码…

wireshark解析https数据包

Debian11环境: 在linux环境下抓取访问某个https的网址时抓取的数据包都是加密的,导致无法跟踪到数据包流,现在尝试将抓取的https包进行解密。 1、解密https数据包需要设置SSLKEYLOGFILE变量,推荐写入配置文件中。 echo "exp…

使用IDEA进行Scala编程相关安装步骤

一、相关安装包(jdk最好用1.8版本,其他不做要求) IDEA安装包 jdk-8u101-windows-x64.exe scala-2.12.19 二、安装顺序 在安装IDEA之前,首先要安装好java和scala环境,以便后续配置 三、jdk和scala安装要求 1.jdk安…

【启动npm run serve 奇怪的报错】

报错如下: INFO Starting development server... utils.js:587Uncaught TypeError [ERR_INVALID_ARG_VALUE]: The argument path must be a string or Uint8Array without null bytes. Received E:\\#\u0000#idea-workspace\\wonderful-search\\wonderful-search-v…

研究生总结

Note:本博客更多是关于自己的感悟,没有翻阅文件详细查证,如果存在错过,也请提出指正。 1. 半监督回归 相比于半监督分类,半监督回归相对冷门。回归和分类之间有着难以逾越的天谴,预测精度。分类中的类别是可数的&…

Vue2 引入使用ElementUI详解

目录 1 安装2 引入2.1 全局引入2.1.1 引入2.1.2 使用 2.2 按需引入2.2.1 引入2.2.2 使用 3 总结 1 安装 推荐使用 npm 的方式安装,它能更好地和 webpack打包工具配合使用。(本项目使用安装方式) npm i element-ui -S也可以使用其他的包管理…

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

🌟 绘图神器 ioDraw 重磅更新,文件保存再无忧!🎉 无需注册,即刻畅绘!✨ ioDraw 让你告别繁琐注册,尽情挥洒灵感! 新增文件在线实时保存功能,支持将绘图文件保存到 GitHu…

【TB作品】MSP430,单片机,Proteus仿真,单片机通信,串口通信

文章目录 题目虚拟串口仿真图程序介绍获取代码和仿真 题目 30、单片机通信 基本要求: 设计一串口通信程序,波特率 9600,通过 RS232 与 PC 机通信。 由 PC 机向单片机发送字符串数据,单片机接收到数据后发回 PC 机,其中…

Centos yum报错‘Connection timed out after 30002 milliseconds‘) 正在尝试其它镜像。解决办法

修改源后更新报错 我有两个Centos 一个7 一个8,疏忽在7上面配置了8的源后报错,通过下面的报错发现提示的是Centos7的源找不到,才意识到是不是配置错了源。 报错信息: http://mirrors.aliyun.com/centos/7/AppStream/x86_64/os/r…

【AI系列】Torchvision、Torchaudio 和 Torchtext关系

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

学习笔记 | 微信小程序项目day02

今日学习内容 安装uni-ui跟uni-helper/uni-ui-types配置pinia持久化请求工具类的拦截器请求工具类的请求函数 安装uni-ui跟uni-helper/uni-ui-types npm install -g cnpm --registryhttps://registry.npmmirror.com npm set registry https://registry.npmmirror.com npm i …

PC电脑如何使用HDMI连接小米电视当显示屏

使用HDMI连接好当时和电脑,HDMI2.0会更清晰;小米电视会自动弹窗提示你有HDMI 接口连接,或者你进入信号源进行选择即可;需要平时我们电脑的显示器正常连接,然后按 win p ,选择 扩展 屏幕; 进入设…

如何通过蓝牙获取手机时间同步时钟RTC万年历走ble或者edr经典蓝牙

一、功能简介 KT6368A支持连接手机获取手机的时间信息,可以同步时钟 无需安装任何app,直接使用系统蓝牙即可实现 走的就是edr的经典蓝牙 同时它不影响音频蓝牙,还能保持低功耗的运行 实现的方式就是手机连接好蓝牙芯片KT6368A&#xff0…

R语言聚类分析-K均值聚类与系统聚类法

一、数据集为firm.csv,给出了22家美国公用事业公司的相关数据集,各数据集变量的名称和含义如下:X1为固定费用周转比(收入/债务),X2为资本回报率,X3为每千瓦容量成本,X4为年载荷因子&…

Etcd 介绍与使用(入门篇)

etcd 介绍 etcd 简介 etc (基于 Go 语言实现)在 Linux 系统中是配置文件目录名;etcd 就是配置服务; etcd 诞生于 CoreOS 公司,最初用于解决集群管理系统中 os 升级时的分布式并发控制、配置文件的存储与分发等问题。基…