[计算机网络]基本概念

目录

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.hqwc.cn/news/418940.html

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

相关文章

零日漏洞:威胁与应对

一、引言 随着信息技术的迅猛发展,网络安全问题日益凸显。其中,零日漏洞已成为当今网络安全领域最受关注的问题之一。本文将深入探讨零日漏洞的威胁、产生原因以及应对策略,以期提高人们对这一问题的认识和防范意识。 二、零日漏洞的威胁 …

用C语言实现简单的三子棋游戏

目录 1 -> 模块简介 2 -> test.c 3 -> game.c 4 -> game.h 1 -> 模块简介 test.c:测试游戏逻辑 game.c: 函数的实现 game.h:函数的声明 2 -> test.c #define _CRT_SECURE_NO_WARNINGS 1#include "game.h";void menu() {printf("****…

一文读懂「RAG,Retrieval-Augmented Generation」检索增强生成

Retrieval-Augmented Generation(RAG)作为机器学习和自然语言处理领域的一大创新,不仅代表了技术的进步,更在实际应用中展示了其惊人的潜力。 RAG结合了检索(Retrieval)和生成(Generation&#…

Miniconda介绍以及安装

Miniconda 是 conda 的免费最小安装程序。它是 Anaconda 的小型引导版本,仅包括 conda、Python、它们 两者都依赖于少量其他有用的软件包(如 pip、zlib 和其他一些软件包)。如果您需要更多软件包,请使用 命令从 Anaconda 的公共存…

pytest - Getting Start

前言 项目开发中有很多的功能,通常开发人员需要对自己编写的代码进行自测,除了借助postman等工具进行测试外,还需要编写单元测试对开发的代码进行测试,通过单元测试来判断代码是否能够实现需求,本文介绍的pytest模块是…

以后要做GIS开发的话是学GIS专业还是学计算机专业好一些?

GIS开发其实严格来说分为前后端以及底层开发。不同的方向,代表了不同的开发语言。 所以大家首先要了解自己具体要做的岗位类型是什么,其次才是选择专业侧重点。 但是严格来说,选择某个专业,到就业方向这个过程,并不是…

华为FusionStorage Block、OceanStor 100D、OceanStor pacific的区别

华为FusionStorage Block、OceanStor 100D、OceanStor pacific的区别? 华为块存储到底是叫什么呢? 有接触过华为块存储产品的小伙伴肯定都有疑惑,在FusionStorage 、FusionStorage Block、OceanStor 100D、OceanStor pacific等等的名词中&a…

maven导入无法拉取所需依赖

maven导入无法拉取所需依赖 1.原因2.解决搞定收工&#xff01; 1.原因 公司使用的是gradle&#xff0c;配置的私有云&#xff0c;maven里面配置私有云完全使用不了&#xff0c;无论配置国内还是国外的&#xff0c;导入的项目报错拉不到jar包。 <mirror><id>mirro…

Self-RAG:通过自我反思学习检索、生成和批判

论文地址&#xff1a;https://arxiv.org/abs/2310.11511 项目主页&#xff1a;https://selfrag.github.io/ Self-RAG学习检索、生成和批评&#xff0c;以提高 LM 的输出质量和真实性&#xff0c;在六项任务上优于 ChatGPT 和检索增强的 LLama2 Chat。 问题&#xff1a;万能L…

基于Servlet建立表白墙网站

目录 一、设计思想 二、设计表白墙页面&#xff08;前端--VSCode&#xff09; 1、效果图 2、html部分&#xff08;网页上有哪些内容&#xff09; 3、css部分&#xff08;页面内容的具体样式&#xff09; 4、js部分&#xff08;页面行为&#xff09; 三、借助Servlet实现客…

04 思维导图的方式回顾ospf

思维导图的方式回顾OSPF 1 ospf 领行学习思维导图 1.1 ospf 的工作过程 建立领据表同步数据库计算路由表1.2 ospf 的状态 1.3 ospf的报文 1.4 ospf的L

【超详细!各版本通用Matlab入门教程】0基础学会可用于毕业论文制图、数学,线代概率论运算等

MATLAB 下载、安装方法&#xff1a; 【若未安装环境&#xff0c;可以点击下方链接教程先学习安装&#xff0c;再进行MATLAB入门学习】 点击下方文字&#xff1a;即可跳转MATLAB下载&安装教程 下载&安装MATLAB 1.常识 1.1注释方法 % 中文内容【注释内容】 %% 段落注…