初识计算机网络

网络通信基础

  • 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中的目的端口,找到关联的应用程序,最后交给程序,最后双方之间的通信就完成了.

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

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

相关文章

Android:The emulator process for AVD Pixel_2_API_29 was killed

The emulator process for AVD Pixel_2_API_29 was killed 报错描述: 第一次安装Android studio好不容易解决gradle启动模拟器又出现了以下错误 The emulator process for AVD Pixel_2_API_29 was killed原因一: 需要安装Intel x86 Emulator Acceleer…

[GPT]Andrej Karpathy微软Build大会GPT演讲(下)--该如何使用GPT助手

该如何使用GPT助手--将GPT助手模型应用于问题 现在我要换个方向,让我们看看如何最好地将 GPT 助手模型应用于您的问题。 现在我想在一个具体示例的场景里展示。让我们在这里使用一个具体示例。 假设你正在写一篇文章或一篇博客文章,你打算在最后写这句话。 加州的人口是阿拉…

大数据技术之Hive(超级详细)

第1章 Hive入门 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 本质是:将HQL转化成MapReduce程序 …

基于ssm社区管理与服务的设计与实现论文

目录 摘 要 1 Abstract 2 第一章 绪论 3 1.1研究背景 3 1.2 研究现状 3 1.3 研究内容 4 第二章 系统关键技术 5 2.1 Java简介 5 2.2 MySql数据库 5 2.3 B/S结构 6 2.4 Tomcat服务器 6 第三章 系统分析 7 3.1可行性分析 7 3.1.1技术可行性 7 3.1.2经济可行性 7 3.1.3运行可行性…

死锁(面试常问)

1.什么是死锁 简单来说就是一个线程加锁后解锁不了 一个线程,一把锁,线程连续加锁两次。如果这个锁是不可重入锁,会死锁。两个线程,两把锁。 举几个例子,1.钥匙锁车里了,车钥匙锁家里了。2. 现在有一本书…

Dockerfile介绍

1. DockerFile介绍 dockerfile是用来构建docker镜像的文件!命令参数脚本! 构建步骤: 1、编写一个dockerfile文件 2、docker build 构建成为一个镜像 3、docker run运行镜像 4、docker push发布镜像(DockerHub、阿里云镜像仓库…

CV计算机视觉每日开源代码Paper with code速览-2023.12.8

点击计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【显著目标检测】Texture-Semantic Collaboration Network for ORSI Salient Object Detection 论文地址:https://arxiv.org//pdf/…

CCF 202104-2:邻域均值--C++

#include<iostream> #include<bits/stdc.h>using namespace std;int A[601][601]; int n;//长宽都为n个像素double FindNeighborSum(int i,int j,int r,int A[][601]) {int sum0;//像素和 int gs0;//领域 中的像素个数 for(int xi-r;x<ir;x)//找到每一个领域像素…

uniapp实战 —— 自定义顶部导航栏

效果预览 下图中的红框区域 范例代码 src\pages.json 配置隐藏默认顶部导航栏 "navigationStyle": "custom", // 隐藏默认顶部导航src\pages\index\components\CustomNavbar.vue 封装自定义顶部导航栏的组件&#xff08;要点在于&#xff1a;获取屏幕边界…

C语言-WIN32API介绍

Windows API 从第一个32位的Windows开始就出现了&#xff0c;就叫做Win32API.它是一个纯C的函数库&#xff0c;就和C标准库一样&#xff0c;使你可以写Windows应用程序过去很多Windows程序是用这个方式做出来的 main()? main()成为C语言的入口函数其实和C语言本身无关&…

matlab信号分选系统算法-完整算法结构

matlab信号分选系统算法 针对得到的脉冲流PDW进行信号分选&#xff0c;包括重频恒定、重频抖动、重频参差和重频滑变四种脉间调制类型。   这里我们先进行数据的仿真&#xff0c;后续边仿真边分享思路&#xff1a;首先根据信号类型&#xff0c;分别产生重频恒定、重频抖动、重…

使用Nodejs搭建简单的web网页并实现公网访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 使用Nodejs搭建简单的web网页并实现公网访问 前些天发现了一个巨牛的人工智能学习网站&#xff…

docker-compose容器编排(单机一键拉起所有容器)

1、安装docker-compose实验 安装完成 2、yaml文件 &#xff08;1&#xff09;定义 一种直观的、以竖列形式展示序列化数据格式的标记语言&#xff0c;可读性高。类似于json格式&#xff0c;但语法简单 yaml通过缩进表示数据结构&#xff0c;连续的项目用-减号表示 &#x…

Excel: Python 如何干掉 VBA 系列 乙

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/k2XtfXS3GUt4r2QhizMOVg 创建工作表格 创建表格 xlwings 就可以协助创建插入了宏的 excel 表格。 先找到一个心满意足的目录&#xff0c;一般我…

Tcon基础知识

1、TCON&#xff0c;就是 Timing Controller 的缩写。从主芯片输出的要在 TFT 显示屏上显示的数据&#xff0c;在经过 TCON 模块后可以变换生成 Panel 可以直接利用的 DATA 信号和驱动器&#xff08;包括 source driver 和 gate driver&#xff09;的控制信号。 TV 市场上 TCO…

python-爬取壁纸

代理池的&#xff0c;防止IP 被封 找到图片真实地址 现在看到的只是图片的预览地址 (previews) 1.检查&#xff1a; 2.鼠标变为箭头时查看网页源代码 关于怎样在源代码中找到图片的真实地址 ??? 为什么在源代码界面 ctrl f 时候搜索的是 .png ??? 首先图片地址是以 .j…

恢复出厂设置后在 Android 上恢复照片的 6 种常用方法

恢复出厂设置可帮助您删除电子设备的所有信息并将其恢复到原始系统状态。但是&#xff0c;如果您不小心按下了恢复出厂设置按钮并从 Android 设备中删除了所有难忘的照片&#xff0c;该怎么办&#xff1f;好吧&#xff0c;您无需担心&#xff0c;因为可以通过以下一些方法来恢复…

Unity中Shader URP的安装与设置

文章目录 前言一、URP安装1、Window -> Project Manager -> 搜索 Render 二、URP设置1、创建一个URP配置文件2、渲染管线的修改&#xff08;当为空时&#xff0c;使用的是 BuildIn Render Pipeline&#xff09;3、这时我们新建一个对象。使用的材质球默认使用 URP 默认Sh…

UI设计中的肌理插画是什么样的?

肌理插画本质也和扁平插画差不多&#xff0c;相较扁平插画&#xff0c;肌理插画的层次感、细节更多&#xff0c;也会更立体生动。 肌理插画风格没有描边线&#xff0c;画面轻快&#xff0c;通过色块的明暗来区分每个元素&#xff0c;有点像色彩版的素描&#xff0c;但更简单&a…

第一个“hello Android”程序

1、首先安装Android studio&#xff08;跳过&#xff09; Android Studio是由Google推出的官方集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于Android应用程序的开发。它是基于JetBrains的IntelliJ IDEA IDE构建的&#xff0c;提供了丰富的功能和工具&#xff0…