初识计算机网络

网络通信基础

  • 1. IP地址
  • 2.端口号
  • 3.认识协议
    • 3.1协议分层
  • 4. 网络数据传输的基本流程
    • 4.1 五元组
    • 4.2封装和分用

1. IP地址

IP地址主要用于表示网络主机,其他网络设备的网络地址,IP地址用于定位主机的网络地址
比如:发送快递的时候,需要知道对象的收货地址,才能将包裹送到目的地.

2.端口号

端口号可以标识主机中发送数据,接受数据的进程,端口号用于定位主机中进程(不同的应用)
比如:发送快递需要指定收获地址(IP地址),指定收货人(端口号)

3.认识协议

网络协议是一组规则和约定,用于在网络中实现数据通信和交换的方式,只有遵守整个约定,计算机之间才能互相通信交流.
网络通信的三个要素组成:

  1. 语法:数据与控制信息的结构或格式.
  2. 语义:要发出什么控制信息,完成什么动作以及做出什么响应.
  3. 时序:事件顺序的详细说明.

协议的作用:保数据在网络中准确传输、安全交换、不同设备间通信,并管理网络流量和资源.

3.1协议分层

协议分层是将网络通信过程中的功能划分为不同的层次,每一层负责特定的功能,并且每个层次与相邻的层次进行交互和通信,避免了跨层之间交换,降低了耦合,提高整个系统的可读性.
分层的作用:
分层最大的好处:类似于面向接口,定义好两层间的接口规范,双方都按照规范来对接.
在代码中,好比如一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类(使用方,使用服务)

  • 对于使用方而言:不需要关系提供方是如何实现的,只需要使用即可.
  • 对于提供方而言:利用封装的特性,隐藏了类的实现细节,只需要提供接口.

OSI七层模型

对于OSI七层模型不使用且复杂,所以并没有实现,所以实际组件网络时,只是OSI设计中部分进行分层,也就是TCP/IP五层模型来实现

TCP/IP五层模型

物理层:描述网络通的一些基础设施所需要的遵守的规范,比如网口的规范.
数据链路层:两个相邻节点如何进行传输
网络层:负责路径的规划
传输层:只关注起点和终点,不关注中间过程(数据从哪里发,要发到哪里去)
应用层:传输的数据用户如何进行使用.
举个例子:比如传输信件,要考虑信封的标准尺寸和邮寄地址格式(物理层),如何从寄件人手中传递到邮局(数据链路层),如何选择邮寄的路径,确定从寄件人所在地到收件人所在地的最佳邮寄路径(网络层),考虑邮寄信件的起点和终点(传输层)收到信件的收件人,做出行动和决策,比如回信,做出回应等.(应用层)

在这里插入图片描述

4. 网络数据传输的基本流程

客户端:客户端是一个计算机程序或设备,与服务器进行通信请求某种服务或资源
服务器:主要提供服务或资源,响应来自客户端的请求
请求:客户端对服务器发出的一种信息
响应:服务器对客户的请求的回应

4.1 五元组

五元组:主要用来标识网络通信

  1. 源IP:标识主机源
  2. 源端口号:标识源主机中该次通信发送的进程.
  3. 目的IP:表示目的主机
  4. 目的端口号:标识目的主机中该次通信接受的进程
  5. 协议号:标识发送进程和接收进程的双方约定的数据格式.

4.2封装和分用

网络传输中的封装是指在发送端将数据添加一定的头部信息,形成一个数据包,以便在网络中传输.
举一个例子,比如主机A要给主机B发送一个消息.那么应用程序就会构造成一个应用层数据报(根数应用层协议),应用层数据报的过程,就是按照格式进行字符串拼接.,应用层会调用传输层提供的接口,把数据交给传输层进行处理.
在这里插入图片描述
传输层把应用层传输过来的数据按照自己的协议格式进行数据打包.假设传输协议是UDP.就会生成一个UDP数据报,此时传输层会把构造好的UDP数据包进一步的交给网络层.
在这里插入图片描述

网络层的协议是IP协议,IP协议也会根据自己的格式构造出IP数据报.接下来把数据传输给数据链路层.
在这里插入图片描述
以太网会针对IP数据报进行封装.加上帧头和帧尾.,进一步交给物理层.
在这里插入图片描述
物理层需要对以太网数据帧的数据(二进制0100…)进行转换,转换为光信号/电信号等.
在这里插入图片描述
从应用层到物理层每一层之间,都不会关系上一层的载荷是什么,只是把载荷当作成字符串,给传递过去,最后完成了封装,类似于买快递,对物品的封装,不关心里面的物品是什么,只需要按照一定的格式和协议来完成操作即可.
接收方主机B中的物理层就需要把收到的信号进行解调(从光信号中把信息取出来),就得到了1010这样的二进制序列,也就是以太网数据帧.数据被交给上一层数据链路层.
在这里插入图片描述
数据层的以太网协议对数据报进行解析.此时会把载荷取出来交给网络层

IP协议也会根据胡数据报进行解析,取出载荷交给传输层
在这里插入图片描述

传输层会根据IP中报头的字段,知道当前这个载荷是一个UDP数据报,就会交给UDP处理,UDP对数据报进行解析,取出载荷,进一步交给应用程序.
在这里插入图片描述

应用层会根据UDP中的目的端口,找到关联的应用程序,最后交给程序,最后双方之间的通信就完成了.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

戴森发布全新Airstrait吹风直发器,美发科技品类再添力作

——利用气流,吹干的同时拉直头发,无需热夹板,头发无热损伤 (2023年11月30日,上海)戴森今日重磅发布全新美发造型产品——戴森Airstrait™吹风直发器,作为戴森美发科技品类的又一创新力作&…

【PCB知识】

PCB知识 1. PCB知识1.1 扩展名1.21.31.4 2.3.4.5. 1. PCB知识 1.1 扩展名 扩展名为 *.opj 的文件可以使用 Origin Project 应用程序打开。 扩展名为*.DSN文件,一般为isis或OrCAD电路图文件, OrCAD为Cadence软件组件; isis为Proteus软件的sc…

写给初学者的 HarmonyOS 教程 -- 状态管理(@State/@Prop/@Link 装饰器)

State 装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI 会发生对应的渲染改变(类似 Compose 的 mutablestateof )。 Prop 装饰的变量可以和父组件建立单…

20种常用的软件测试方法,建议先收藏再观看

软件测试在完整的项目当中算是最后一个环节,也是非常重要的一个环节。通过软件测试,我们才能得知一个程序是否符合标准。 小编整理出20种常见的软件测试方法,建议伙伴们先收藏再看。不敢说史上最全,但我办公室里十年软件测试经验…

EasyRecovery2024免费永久版手机数据恢复软件

EasyRecovery2024是一款操作安全、用户可自主操作的数据恢复方案,它支持从各种各样的存储介质恢复删除或者丢失的文件,其支持的媒体介质包括:硬盘驱动器、光驱、闪存、硬盘、光盘、U盘/移动硬盘、数码相机、手机以及其它多媒体移动设备。能恢…

某60区块链安全之JOP实战一学习记录

区块链安全 文章目录 区块链安全Jump Oriented Programming实战一实验目的实验环境实验工具实验原理实验内容Jump Oriented Programming实战一 实验步骤分析合约源代码漏洞Jump Oriented Programming实战一 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约中中Ju…

【Windows】永久屏蔽系统更新

永久关闭电脑更新服务 操作思路: 第一步 winR 输入 services.msc 回车 进入服务管理窗口第二步 进入窗口后 找到 w 开头的文件夹 并找到Windows Update 双击打开 Windows Update 将启动类型(E) 改为禁用 上方的 “常规” “登录” “恢…

异常处理 springboot

全局异常处理 RestcontrollerAdvice Exceptonhandler package com.it.Exception;import com.it.pojo.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice;/*全局异常处理器…

[HTML]Web前端开发技术7(HTML5、CSS3、JavaScript )CSS的定位机制——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

webGL开发虚拟实验室技术方案

开发虚拟实验室涉及到模拟实际实验环境和过程,同时提供用户互动性和学习体验。以下是一个可能的技术方案,用于实现这样的虚拟实验室,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合…

事务管理 springboot

事务是一组操作的集合 它是一个不可分割的工作单位 这些操作 要么同时成功要么同时失败 Spring事务管理 #Spring事务管理日志 logging: level: org.springframework.jdbc.support.JdbcTransactionManager: debug

内网穿透的应用-公网环境下移动端通过群晖管家+cpolar远程管理家中本地局域网内黑群晖设备

白嫖怪狂喜!黑群晖也能使用群晖管家啦! 文章目录 白嫖怪狂喜!黑群晖也能使用群晖管家啦!1.使用环境要求:2.下载安装群晖管家app3.随机地址登陆群晖管家app4.固定地址登陆群晖管家app 自己组装nas的白嫖怪们虽然也可以通…

基于SSM框架的《超市订单管理系统》Web项目开发(第五天)供应商管理,增删改查

基于SSM框架的《超市订单管理系统》Web项目开发(第五天)供应商管理,增删改查 上一次我们实现了多表关联查询,还有分页显示数据的功能。还完善了用户管理这一模块。 因此今天我们需要完成的是供应商管理模块,这一模块…

简单了解传输层协议之TCP和UDP

目录 一、什么是端口号? 二、TCP协议 2.1 TCP报文格式 2.2 三次握手 2.3 四次挥手 2.4 窗口流量控制 三、UDP协议 3.1 UDP报文格式 3.4 传输过程 一、什么是端口号? 我们自己的一台电脑上有时可能会同时运行多个进程软件来进行上网。那么当网络上的服务器响应我们电…

3 开发环境搭建

一、Ubuntu和Windows文件互传 ① 开启Ubuntu的FTP服务: 下载vsftpd:sudo apt-get install vsftpd; 打开vsftpd.conf:sudo nvim /etc/vsftpd.conf; 确保这两行代码没有被注释: 之后重启FTP服务: ② Windows下载FTP客…

LinuxBasicsForHackers笔记 -- 控制文件和目录权限

对于每个文件和目录,我们可以指定文件所有者、特定用户组以及所有其他用户的权限状态。 不同类型的用户 在Linux中,root用户是拥有一切权力的。 root 用户基本上可以在系统上执行任何操作。 系统上的其他用户具有有限的能力和权限,并且几乎…

为什么 SQL 不适合图数据库

背景 “为什么你们的图形产品不支持 SQL 或类似 SQL 的查询语言?” 过去,我们的一些客户经常问这个问题,但随着时间的推移,这个问题变得越来越少。 尽管一度被忽视,但图数据库拥有无缝设计并适应其底层数据结构的查询…

nodejs微信小程序+python+PHP就业求职招聘信息平台的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之文件管理(1)》(22)

《Linux操作系统原理分析之文件管理(1)》(22) 7 文件管理7.1 文件与文件系统7.1.1 文件7.1.3 文件系统及其功能 7.2 文件的组织结构7.2.1 文件的逻辑结构7.2.2 文件的物理结构一、顺序结构(顺序文件或连续文件&#xf…