网络原理笔记一

news2024/11/21 1:30:38

文章目录

  • 1、局域网(LAN)
  • 2、广域网(WAN)
  • 3、网络通信基础
    • 1、IP地址
    • 2、端口号
    • 3、认识协议
  • 4、协议分层
    • 1、网络模型
    • 2、网络数据传输的基本流程

1、局域网(LAN)

局域网全称:Local Area Network;
局域网组建网络的方式有很多种,例如以下就是其中三种:
在这里插入图片描述

在这里插入图片描述

2、广域网(WAN)

广域网全称:Wide Area Network;
通过路由器将多个局域网连接起来,就形成了广域网,广域网内部的局域网都属于其子网。
在这里插入图片描述


3、网络通信基础

1、IP地址

IP地址用于定位主机的网络地址,就像发快递一样,IP地址就相当于收货地址;

IP地址的格式:
32位的二进制数,通常被分割为4个“8位二进制数”,也就是4个字节;
但是我们通常用“点分十进制”的方式来表示:例如:01100100 00000100 00000101 00000110我们通常用 100.4.5.6(都是0~255之间的十进制数)来表示
在这里插入图片描述

注意:当数据传输到主机后,需要主机中的那个进程来接收也是一个问题,此时就需要端口号来标识。


2、端口号

端口号定位主机的进程,就想发快递一样,不只需要收货地址(IP),还需要指定收货人(端口号)。
在网络通信中,进程可以绑定一个端口号来发送、接收网络数据;
注意:

1、两个不同的进程不能使用相同的端口号,但是一个进程可以使用多个端口号!

但是问题来了:网络数据全都是以二进制01传送,我们要怎么告诉对方发送的数据内容呢?看下面


3、认识协议

协议:即网络协议;网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流,通常协议是有三个要素组成:
1、语法:即数据与控制信息的结构或格式;(类似于打电话时双方使用相同的语言)
2、语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;(类似于对话时双方都明白对方说话的意思,互相有回应)
3、时序:即事件实现顺序的详细说明;(例如通话时,由谁发起通话,由谁结束通话)

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

为什么需要协议?
计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。
计算机生产厂商有很多;计算机操作系统,也有很多;计算机网络硬件设备,还是有很多;如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是 网络协议

4、协议分层

对于网络协议来说,往往分成几层进行定义
分层的作用:
1、降低了学习和维护成本(封装)
2、灵活针对这里的某一层协议进行替换


1、网络模型

目前有两种协议分层:1、OSI七层网络模型 (实际上是没有的) 2、TCP/IP五层(四层)网络模型(实际情况使用的)
在这里插入图片描述
因为OSI七层网络模型复杂且不适用,所以我们实际生活中并不适用七层网络模型;实际上都是以TCP/IP五层(四层)模型实现的。

在网络分层这里,下层协议为上层协议提供服务,上层协议要调用下层协议

1、物理层:网络通信中基础硬件设备是啥样的;例如通信时用的网线、网口,因此我们使用的网线、网口都是相同规格的
2、数据链路层:两个相邻接点之间的传输方式;(例如,我从北京到徐州,是坐高铁,还是坐火车,还是坐飞机,具体的交通方式就是有数据链路层决定的)
3、网络层:主要负责路径的规划;
在这里插入图片描述
此时我们选择哪条线路(1或2或3)就会有网络层决定的
4:传输层:我从徐州去深圳,并不关心我是乘什么交通工具去的,也不关心我是从哪里中转的,只要能到深圳就可以,我只关心起点和终点;这个过程就是传输层做的工作
5、应用层:应用程序,描述了传输数据,用户要如何使用类似于说明书,但是如何使用还是要看用户自己

以上五层协议各司其职;
问题:TCP/IP五层协议和四层协议有什么区别?
五层协议算上了物理层,四层协议没有算上物理层


2、网络数据传输的基本流程

例子:A在qq上给B发送hello;
1、发送方(A):用户在输入框输入hello,并按回车键
2、应用层:将hello这个字符串构造成下图的一个应用层数据报(本质上是一个遵守了约定格式的字符串)
在这里插入图片描述
接着程序会调用操作系统的api,把这个应用层数据交给传输层
3、传输层:(进入系统内核了)
在传输层中,会把上层应用层数据,构造成传输层数据报
传输层使用协议,最出名的就是UDP和TCP,此处使用的就是UDP,就需要构造出UDP数据报(如下图所示)(在应用层数据报的基础上加上了UDP报头)

UDP报头(相当于一个字符串)包含了两个重要信息:源端口和目的端口;

在这里插入图片描述
接着传输层就把这个UDP数据报嫁给了网络层
4、网络层:最知名的协议就是IP协议,IP协议就是要基于上述的UDP数据报,打包成一个IP数据报(如下图所示)
在这里插入图片描述

IP报头(相当于一个字符串)包含了两个非常重要的信息:源IP和目的IP;

5、数据链路层 最知名的协议是以太网协议,基于上述的IP数据报打包成一个以太网数据帧(如下图所示)
在这里插入图片描述

接下来,这个数据会继续往下传输,交给物理层
5、物理层:把上述的二进制数据(01010101010100000…)转换成电信号或者光信号然后发送,此时数据才算是真正意义上发送出去了


上述过程,从应用层到物理层,层层加码,这个过程称为“封装”

接收方(B)
1、物理层
网卡接收到的是电信号或者光信号,是在物理层,把这个光电信号转换为二进制数据;转换完的这个数据就是以太网数据帧
接着把该数据传输给数据链路层
2、数据链路层
接收到的数据是这样的(如下图所示)
在这里插入图片描述

数据链路层会去掉帧头帧尾,取出中间的载荷,然后将载荷(IP数据报)(如下图所示)交给上层的网络层
在这里插入图片描述

帧头里会记录这个载荷是不是IP数据报
3、网络层
传输过来的IP数据报在网络层中,IP协议会针对这个IP数据报进行解析,解析出IP报头,取出IP数据报的载荷,然后将传输层数据报(如下图所示)交给上层传输层
在这里插入图片描述

IP报头里会记录载荷是UDP还是TCP
4、应用层:qq程序
qq程序会针对应用协议进行解析,显示到应用界面上(如下图所示)
在这里插入图片描述


上述,从下到上层层解析,这个过程叫“分用”

封装:即“包装快递”
分用:即“拆快递”

1、上述传输过程中的一些协议都是固定的,这样才能让通信双方按照相同的方式来理解数据; 例如:发送方使用的qq协议,UDP协议,IP协议,以太网协议;那么接收方也一定是使用相同的协议; 2、整个的网络协议中,协议分成了很多层. 上层协议要调用下层协议(上层协议把数据交给下层,继续封装) .下层协议要给上层协议提供支持(下层协议解析好数据,交给上层). 3、这里的几层协议,都有明确的层级关系,只有相邻的两层之间才能相互交互(不能跨层交互);

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

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

相关文章

【数据结构】顺序表深度剖析

目录 🛫前言🛫: 🚀一、线性表概述🚀: 🛰️二、顺序表🛰️: 1.概念及结构: 2.接口实现: ①.工程文件: ②.接口实现: ③.…

2023 铁人三项 CTF --- Misc wp

文章目录Misc一生壹世Misc手的必备技能套娃-1套娃-2套娃-3套娃-4套娃-5Misc 一生壹世 根据提示压缩包密码是谐音,所以猜测密码是1314,直接解压得到四个txt文件 然后用010分按照一生一世打开4个文件,发现每个文件的第一个字节拼起来是8950…

LeetCode题目笔记——1807. 替换字符串中的括号内容

文章目录题目描述题目难度——中等方法一:使用字典代码/Python代码/C总结题目描述 给你一个字符串 s ,它包含一些括号对,每个括号中包含一个 非空 的键。 比方说,字符串 “(name)is(age)yearsold” 中,有 两个 括号对…

什么是聚宽量化?

聚宽量化交易其实是通过编程将策略写成计算机可识别的代码,具体说可以是以python这门编程语言将与券商那边的平台搭建,例如用聚宽的向导式策略生成器就能很快的将股票交易接口翻译出来的策略,以便将平时需要查询的融资账户的持仓情况来编写代…

区块链将传统的产业运行逻辑,改造成以个体为主导的运行逻辑

新的产业之所以被成为新产业,其中一个很重要的原因在于,它的底层运行逻辑,正在发生一场深刻而又彻底的改变。然而,如果深入分析这种能够给产业的内在运行逻辑产生重塑和改变的,依然在于区块链本身。从某种意义上来讲&a…

YOLOv8 深度详解!一文看懂,快速上手

YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,在还没有开源时就收到了用户的广泛关注。 考虑到 YOLOv8 的优异性能,MMYOLO 也在第一时间组织了复现&#xf…

一篇文章搞定字符串的旋转问题(数组旋转问题)!

目录 前言 一.如何实现字符串的旋转? 1.用冒泡的思想实现 2.分别逆序左右再整体逆序来实现 二.如何快速判断一个字符串是否为另外一个字符串旋转之后的字符串? 1.相关库函数的简略学习 2.利用库函数快速实现判断 总结 博客主页:张栩睿…

数据结构基础知识(一)

1 数据结构的基本概念和算法 考点 数据结构基本概念算法 1.1 数据结构的基本概念 数据 数据是指所有能输入到计算机中的描述客观事物的符号,包括文本、声音、 图像、符号等。 数据元素 数据元素十数据的基本单位,也称节点或记录。 数据项 数据项…

【数仓】FLink+CK

1.项目分层 ODS:原始数据,包含日志和业务数据DWD:根据数据对象为单位进行分流。比如订单、页面访问等。DIM:维度数据DWM:对于部分数据对象进行进一步加工,比如独立访问、跳出行为,也可以和维度…

谷粒商城项目笔记之高级篇(三)

目录1.9.22 提交订单的问题1)、订单号显示、应付金额回显2)、提交订单消息回显3)、为了确保锁库存失败后,订单和订单项也能回滚,需要抛出异常1.9.23 创建库存上锁、解锁 业务交换机&队列1)、流程梳理2)、解锁库存实…

Vsftpd服务的部署及优化详解(图文)

目录 前言 实验环境 一、vsftpd的安装及启用 1、具体步骤 2、开启匿名用户访问功能并测试 二、vsftpd基本信息 三、匿名用户访问控制 四、本地用户访问控制 五、虚拟用户访问 1、建立虚拟用户访问 2、虚拟用户家目录的独立设定 3、用户配置独立 前言 vsftpd是“…

TapTap 算法平台的 Serverless 探索之路

分享人:陈欣昊,TapTap/IEM/AI平台负责人 摘要:本文主要介绍心动网络算法平台在Serverless上的实践。 《TapTap算法平台的 Serverless 探索之路》 Serverless 在构建应用上为我们节省了大量的运维与开发人力,在基本没投入基建人力…

(02)Cartographer源码无死角解析-(49) 2D点云扫描匹配→相关性暴力匹配1:SearchParameters

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文末…

LeetCode分类刷题----链表篇

链表链表1.移除链表元素203.移除链表元素707.设计链表2.反转链表206.反转链表3.两两交换链表中的节点24.两两交换链表中的节点4.删除链表中的倒数第N个节点19.删除链表的倒数第N个节点5.链表相交07.链表相交6.环形链表141.环形链表142.环形链表II链表 1.移除链表元素 203.移除…

成功解决VMware安装操作系统出现分辨率的问题

文章目录问题重现问题原因问题解决方法一:拓展:1. 电脑分辨率:2. xrandr命令3. 查询后如果没有合适的分辨率解决方案参考资料问题重现 如下图: 在VMware16上安装ubuntu操作系统的时候,出现分辨率问题, 导致…

如何录屏有声音?如何录制带声音的视频

平常我们会通过录屏的方式录制电脑画面,然后再保存下来。那您是不是遇到过这种情况:录制的录屏文件只有画面没有声音。没有声音的视频还能修复吗?如何录屏有声音?怎样才能录制带声音的视频?今天小编教大家如何在录屏的…

前端基础(十三)_定时器(间歇定时器、延迟定时器)

定时器 定时器共两种,setInterval及setTimeout: 1、setInterval:重复执行或者叫间歇执行,即隔某个时间就执行一次 2、setTimeout:延迟执行,延迟某个特定的时间开始执行,只执行一次 语法&#x…

代码随想录算法训练营第10天 232.用栈实现队列、225. 用队列实现栈

代码随想录算法训练营第10天 232.用栈实现队列、225. 用队列实现栈 用栈实现队列 力扣题目链接(opens new window) 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() –…

十分好用的跨浏览器测试工具,建议收藏!!!

跨浏览器测试是确保web应用程序的功能在不同浏览器、浏览器版本和操作系统直接保持功能和质量一致的过程,可以为用户提供更好的用户体验,帮助企业通过更易访问的网站获得满意客户,可以使web应用程序在不同平台上兼容。在跨浏览器测试过程中&a…

Vulnhub靶机:DIGITALWORLD.LOCAL_ DEVELOPMENT

目录介绍信息收集主机发现主机信息探测网站探测SSH登录lshell绕过sudo提权介绍 系列:digitalworld.local(此系列共9台) 发布日期:2018 年 12 月 28 日 难度:中级 运行环境:Virtualbox运行失败,…