[计算机网络]基本概念

目录

1.ip地址和端口号

1.1IP地址

1.2端口号

2.认识协议

2.1概念:

2.2知名协议的默认端口

3.五元组

4.协议分层

4.1分层的作用

4.2OSI七层模型

4.3TCP/IP五层(四层)模型

​编辑4.4网络设备对应的分层:

​编辑以下为跨网段的主机的文件传输:数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器​编辑4.5封装和分用


1.ip地址和端口号

1.1IP地址

在计算机网络中,IP地址是一个很重要的概念,它是用来标识网络主机,其它网络设备(如:路由器)的网络地址。简单来说,IP地址用于定位主机的网络地址。

各式:我们一般常用的IP地址的ipv4格式的IP地址,它是一个32位的二进制数字。通常被分割为4个八位二进制树,但我们为了表示方便,通常会使用点分十进制来表示。如:

192.168.1.1

特殊ip:127.0.0.1 本机环回。主要用到本机和本机的网络通信(系统内部为了测试性能用到的。不会走网络的方式传输),在我们后续编程的时候,这是常见的开发方式。

1.2端口号

在通信子网中,IP地址用于表示主机网络地址,端口号可以表示主机发送,接受数据的进程。简单通俗易懂的话来说:端口号就是标识主机中的进程。

格式:端口号是两个字节,也就是0-65536范围内的数字,但是一般来说 0-1024这些端口是知名端口,如https这些。我们在使用的时候也不用,所以我们使用的端口就是1025-65535这些。

两个不同的进程不能绑定同一个端口,而一个进程可以绑定多个端口。

注:如何去理解端口和IP地址,就好比在买快递的时候IP地址是是你家小区的地址,而端口号是你的手机号码,通过IP地址找到你家小区,在通过手机号码精准定位到个人。一个人可以有多个手机号码(端口号),而一个手机号码不能被多个人使用。

2.认识协议

2.1概念:


协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成 语法,语义,时序。
 

1. 语法:即数据与控制信息的结构或格式;
类似打电话时,双方要使用同样的语言:普通话
2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。
类似打电话时,说话的内容。一方道:你瞅啥?另一方就得有对应的响应:瞅你咋的!
3. 时序,即事件实现顺序的详细说明。
时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是
异步传输。
女生和男生的通话,总是由男生主动发起通话,而总是在男生恋恋不舍的时候,由女生要求
结束通话

协议(protocol)最终体现为在网络上传输的数据包的格式
就好比我去相亲的时候,提前对好暗号。天王盖地虎,小鸡炖蘑菇。这种就叫协议。是一种提前的约定。

2.2知名协议的默认端口

系统的端口范围是0-65535,而0-1024是知名端口。这些端口是留给服务端程序绑定广泛使用的应用层协议。如:

22端口:预留给SSH服务器绑定SSH协议

21端口:预留给FTP服务器绑定FTP协议

23端口:预留给Telnet服务器绑定Telnet协议
80端口:预留给HTTP服务器绑定HTTP协议
443端口:预留给HTTPS服务器绑定HTTPS协议

以上只是说明这些端口号用于绑定知名协议,但是某个服务器也可以使用1024-65535范围内的端口来绑定知名协议。

3.五元组

在TCP/IP协议中,用五元组来标识一个网络通信:

1.源IP:标识源主机

2.源端口号:表示源进程 发送数据的进程

3 目的IP 表示目的主机

4 目的端口号:标识目的进程,即接受数据的进程

5 协议号:标识发送进程和接受进程双方约定的数据格式

4.协议分层

为了方便我们理解以及更方便,分工明确的网络通信。我们把网络协议氛围好几个层次来定义。

常见的有OSI七层网络协议,还有TCP/IP五层网络协议(有的教科书上说是四层,四层的忽略掉了物理层)

4.1分层的作用

为什么需要网络协议的分层?
分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。
在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类
(使用方,使用服务):
对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可
对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。
这样能更好的扩展和维护,如下图

4.2OSI七层模型

OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了7层。
OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传
输;
它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通
过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
 

OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。
实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现

4.3TCP/IP五层(四层)模型

TCP/IP通讯协议采用了五层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

应用层:负责应用程序之间的沟通,在运行在主机的时候,程序会变成进程,会有很多应用层协议来规范各应用层之间的通信。如:,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层

传输层:负责两台主机的数据传输,如传输控制协议(TCP).能够确保数据可靠的从源主机发送到目标主机。

网络层:负责地址管理和路由选择,例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式来规划出两台主机之间数据传输的合理路线,路由器就是在网络层工作的。

数据链路层:只关心相邻设备之间数据的传输。负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线
上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工
作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层
物理层:负责光/电信号的传递方式,比如现在的以太网通用的网线,早期以太网采用的同轴光缆,光纤。以及WiFi无线网使用电磁波都属于物理层的概念。

4.4网络设备对应的分层:

对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也就是TCP/IP五层模型的下四层

对于路由器,它工作在网络层,实现了网络层到物理层,也就是下三层

对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
对于集线器,它只实现了物理层
注意我们这里说的是传统意义上的交换机和路由器,也称为二层交换机(工作在TCP/IP五层模型的下两层)、三层路由器(工作在TCP/IP五层模型的下三层)。

随着现在网络设备技术的不断发展,也出现了很多3层或4层交换机,4层路由器。我们以下说的网络设备都是传统意义上的交换机和路由器
 

4.5网络分层对饮的协议

以下为跨网段的主机的文件传输:数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器
4.5封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报
(datagram),在链路层叫做帧(frame)。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。
首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中
的 "上层协议字段" 将数据交给对应的上层协议处理
下面是数据封装的过程:

注意,这些都是类似于字符串拼接的过程。

下面为数据奋用的过程:

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

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

相关文章

使用PHP自定义一个加密算法,实现编码配合加密,将自己姓名的明文加密一下

<meta charset"UTF-8"> <?phpfunction customEncrypt($lin, $key mySecretKey){// 定义一个简单的替换规则$li array(L > M, I > Y, Y > O, A > N, E > Q, );$yan ;for($i 0; $i < strlen($lin); $i){$char $lin[$i];if(isset($li[…

这才是问界M9惊艳到你的10大配置

文 | AUTO芯球 作者 | 李诞 盘点M9的十项科技&#xff0c;看看有没有惊艳到你&#xff1f; 一、猫头转向&#xff0c;5米2的大型SUV转弯可5.8米&#xff0c; 比很多我们的额家用小车的转弯半径都小&#xff0c;好开。 二、大灯抠图&#xff0c;夜晚开启大灯可以不晃对面车的…

Python列表与元组

Python 列表和元组是Python编程语言中两种重要的数据结构&#xff0c;它们在实际的编程中扮演着不可或缺的角色。本文将深入探讨Python列表和元组的特性、用法以及它们之间的区别&#xff0c;帮助读者更好地理解和运用这两种数据结构。 Python 列表 Python 列表是一种有序、可…

SpringBoot+Vue充电桩管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1. 分页获取预约数据代码2.保存预约信息代码3.修改订单状态代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBootVue框架开发的充电桩管理系统。首先&…

postgresql(Windows)初始化数据库教程

省流&#xff1a;本文章内容讲的是如何初始化postgresql数据库环境&#xff0c;前提是已经安装好postgresql数据库&#xff0c;安装步骤参考postgresql&#xff08;Windows&#xff09;安装教程 # 开始&#xff1a;安装postgresql-12.14-2-windows-x64.exe完成后进行初始化数据…

指针-回调函数

回调函数的含义 回调函数通常作为参数传递给其他函数&#xff0c;它是一个通过函数指针调用的函数。简单来说这个函数的作用就是用来在特殊的条件满足时用来调用其他函数的一个函数。 回调函数的使用 当相同或者相似的函数出现多份的时候&#xff0c;那么由于相同的部分出现…

【后端技术】术有千法,道本归一

目录 1.概述 2.机器的问题 2.1.计算 2.2.存储 2.3.传输 3.人的问题 3.1.代码工程的管理 3.2.过程的把控 4.总结 1.概述 术有千法&#xff0c;道本归一。 之所以这样说&#xff0c;是因为当前出现的纷繁复杂的后端技术&#xff0c;其本质其实都是为了解决同一套问题。…

Node.JS CreateWriteStream(大容量写入文件流优化)

Why I Need Node.JS Stream 如果你的程序收到以下错误&#xff0c;或者需要大容量写入很多内容(几十几百MB甚至GB级别)&#xff0c;则必须使用Stream文件流甚至更高级的技术。 Error: EMFILE, too many open files 业务场景&#xff0c;我们有一个IntradayMissingRecord的补…

Webpack5 基本使用 - 3(完结)

环境区分 可以定义多个配置文件&#xff0c;通过 webpack-merge 合并配置文件。 安装 webpack-merge yarn add webpack-merge公共配置 // webpack.common.js const path require(path) const HtmlWebpackPlugin require(html-webpack-plugin)module.exports {entry: path…

Spring第七天(AOP)

简介 AOP(Aspect Oriented Programing)面向切面编程&#xff0c;一种编程范式&#xff0c;指导开发者如何组织程序结构 作用 在不惊动原始设计的基础上为其进行功能增强 Spring理念&#xff1a;无入侵式/无侵入式 基本概念 连接点(JoinPoint) : 程序执行过程中的任意位置&a…

5分钟做自己的微信红包封面

文章目录 怎么制作自己的红包封面&#xff1f;开通红包封面的要求如下&#xff1a;收费情况制作具体网站&#xff1a;https://chatapi.onechat.fun/register?affYoU6 提交审核logo封面、挂件、气泡证明材料 发放红包封面其他 怎么制作自己的红包封面&#xff1f; 开通红包封面…

离了个大谱,只因外貌被换角?

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 电视剧选角也能如此抓马&#xff0c;真是让人大开眼界。还没开…

开始学习Vue2(脚手架,组件化开发)

一、单页面应用程序 单页面应用程序&#xff08;英文名&#xff1a;Single Page Application&#xff09;简 称 SPA&#xff0c;顾名思义&#xff0c;指的是一个 Web 网站中只有唯一的 一个 HTML 页面&#xff0c;所有的功能与交互都在这唯一的一个页面内完成。 二、vue-cli …

mp4文件可以转成mp3音频吗

现在是个非常流行刷短视频一个年代&#xff0c;刷短视似乎成了人们休闲娱乐的一种方式&#xff0c;在日常刷短视频过程中&#xff0c;肯定会有很多同学被短视频 bgm 神曲洗脑&#xff0c;比如很多被网红翻唱带火的歌曲&#xff0c;例如其中"不负人间”&#xff0c;就是其中…

【GitHub项目推荐--12 年历史的 PDF 工具开源了】【转载】

最近在整理 PDF 的时候&#xff0c;有一些需求普通的 PDF 编辑器没办法满足&#xff0c;比如 PDF 批量合并、编辑等。 于是&#xff0c;我就去 GitHub 上看一看有没有现成的轮子&#xff0c;发现了这个 PDF 神器「PDF 补丁丁」&#xff0c;让人惊讶的是这个 PDF 神器有 12 年的…

安全基础~通用漏洞2

文章目录 知识补充盲注Boolean盲注延时盲注报错注入二次注入 知识补充 盲注常用 if(条件,5,0) #条件成立 返回5 反之 返回0 left(database(),1)&#xff0c;database() #left(a,b)从左侧截取a的前b位 盲注 盲注就是在注入过程中&#xff0c;获取的数据不能回显至前端页面。 …

HYBBS 表白墙网站PHP程序源码 可封装成APP

源码介绍 PHP表白墙网站源码&#xff0c;可以做校园内的&#xff0c;也可以做校区间的&#xff0c;可封装成APP。告别QQ空间的表白墙吧。 安装PHP5.6以上随意 上传程序安装&#xff0c;然后设置账号密码&#xff0c;登陆后台切换模板手机PC都要换开启插件访问前台。 安装完…

1. Matplotlib的Figure基础概念

1. Matplotlib的Figure基础概念 一 **角色和作用**二 **类比&#xff1a;**三 **基本使用示例** Matplotlib是一个用于绘制二维图形的Python库&#xff0c;广泛应用于数据可视化领域。其灵活性和强大的功能使得用户能够轻松创建各种类型的图表&#xff0c;包括折线图、散点图、…

Linux服务器系统修改SSH端口教程

修改端口号是通过修改SSH的配置文件实现的&#xff0c;在服务器终端先激活root用户&#xff0c;然后输入&#xff1a; vim /etc/ssh/sshd_config找到#Port 22这个位置 键盘按i进入编辑模式 删除掉Port 22前面的#&#xff0c;然后键盘按一下回车键&#xff08;如果没有#可不必…

k8s---helm

Helm是什么&#xff1f; 在没有helm之前。部署一个服务&#xff0c;需要deployment、service、ingress、挂在卷等等相关配置都需要人工来配置。 helm的作用就是通过打包的方式&#xff0c;把需要人工编写的配置集成在一起。是一键式的部署服务。类似于yum功能。 由官方提供的…