【网络】计算机网络基础

2023-09-17 13:31:53

Linux网络

对网络的理解

在网络传输中存在的问题:

  1. 找到我们所需要传输的主机
  2. 解决远距离数据传输丢失的问题
  3. 怎么进行数据转发,路径选择的问题

有问题,就有解决方案;

我们把相同性质的问题放在一起,做出解决方案

解决方案设计成为层状结构,层内部高内聚,层于层之间低耦合。

层状结构有利于减少后期维护成本,只需要对某一层的错误进行处理

在这里插入图片描述

在Linux中一切皆属于文件,网卡资源也被划分为文件,以文件的方式进行管理。

传输层和网络层都属于操作系统层。

操作系统种类很多,但是网络只能有一种(因为TCP/IP协议必需相同)。

OSI七层模型

  1. 应用层

网络服务与最终用户的一个接口 各种应用程序协议 协议有:HTTP(超文本传输协议) FTP(文本传输协议) TFTP(简单文件传输协议)
SMTP(简单邮件传输协议) SNMP(简单网络管理协议) DNS(域名系统) TELNET(远程终端协议)
HTTPS(超文本传输安全协议) POP3(邮局协议版本3 ) DHCP(动态主机配置协议)

  1. 表示层

数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层) 信息的语法语义以及他们的关联,如加密解密、转换翻译、压缩解压
格式有,JPEG、ASCll、EBCDIC、加密格式等 [2] 如LPP(轻量级表示协议)

  1. 会话层

建立、管理、终止会话。(在五层模型里面已经合并到了应用层) 不同机器上的用户之间建立及管理会话
对应主机进程,指本地主机与远程主机正在进行的会话 安全协议:SSL(安全套接字层协议)、TLS(安全传输层协议)

  1. 传输层

定义传输数据的协议端口号,以及流控和差错校验。
接受上一层数据,在必要的时候把数据进行切割,并将这些数据交给网络层,并保证这些数据段有效到达对端 协议有:TCP
UDP,数据包一旦离开网卡即进入网络传输层

  1. 网络层

进行逻辑地址寻址,实现不同网络之间的路径选择。 控制子网的运行,如逻辑编址、分组传输、路由选择 协议有:ICMP(互联网控制信息协议)
IGMP(组管理协议) IP(IPV4 IPV6)(互联网协议) 安全协议、路由协议(vrrp虚拟路由冗余)

  1. 数据链路层

建立逻辑连接、进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 物理寻址、同时将原始比特流转变为逻辑传输线路
地址解析协议:ARP、PARP(反向地址转换协议)

  1. 物理层

建立、维护、断开物理连接。(由底层网络定义协议) 机械、电子、定时接口通信信道上的原始比特流传输 TCP/IP
层级模型结构,应用层之间的协议通过逐级调用传输层(Transport layer)、网络层(NetworkLayer)和物理数据链路层(Physical Data Link)而可以实现应用层的应用程序通信互联。

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

  1. 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  2. 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  3. 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  4. 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  5. 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)

网络传输基本流程

同一局域网中的传输流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不同局域网中的传输流程

在这里插入图片描述

路由器作用在网络(IP)层

数据包封装和分用

应用层数据通过协议栈发到网络上时,每一次往下时,每层协议都要加上一个数据哦报头(header),称为封装。

当数据包到达目的主机,往上解包时,每过一层协议都会消去对应的报头,称为分用。

MAC地址和IP地址的区别

在数据传输过程中,存在两套地址,分别是MAC和IP

IP地址存在的出发点和结束点(目的主机)的地址。

MAC地址存储的是中转地址:

​ 在原距离传输的过程中,我们需要经过很多的中转站(路由器),我们的MAC地址就是储存的是我们需要去的下一个中转站的地址。

认识IP地址

IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4

  1. IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  2. 对于IPv4来说, IP地址是一个4字节, 32位的整数;
  3. 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255,如192.192.0.0;

IPv6是16位,128字节;

认识MAC地址

MAC地址用来识别数据链路层中相连的节点;

  1. 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  2. 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可
  3. 能会冲突; 也有些网卡支持用户配置mac地址)
更多推荐

操作系统权限提升(二十六)之数据库提权-MySQL UDF提权

MySQLUDF提权MySQL介绍MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性、易用性、稳定性等特点,受到个人使用者、中小型企业甚至一些大型企业的广泛欢迎,MySQL具有以下特点:1、MySQL是一种关联数据库管理系统,具有灵活性。2、MySQL软

mysql的判断语句

ifif用于做条件判断,具体的语法结构如下,在if条件判断的结构中,ELSEIF结构可以有多个,也可以没有。ELSE结构可以有,也可以没有。IF条件1THEN.....ELSEIF条件2THEN--可选.....ELSE--可选.....ENDIF;案例createprocedurep3()begindeclaresc

Linux(Centos)查看硬盘大小

Linux查看硬盘大小使用df命令:df命令可以用来显示文件系统的磁盘使用情况,包括每个挂载点的磁盘空间大小和使用情况。要查看硬盘大小,可以运行以下命令:df-h这将以人类可读的方式显示文件系统的磁盘大小,以GB或MB为单位。下面是df-h命令输出的参数说明:Filesystem:文件系统的名称或挂载点。这是磁盘空间的

Delft3D水动力与泥沙运动模拟实践应用

水体中泥沙运动是关系到防洪,调水等方面的重要问题,也是水利和水环境领域科研热点之一。水利数值模型,在环境影响评价、防洪规划等方面也有着广泛的应用。荷兰Delft研究所开发的Delft3D模型是世界上最先进的水动力之一,能够运用于河网、浅水湖泊、深水水库以及近岸海洋等多种水体的水动力和泥沙问题的研究中;同时,Delft3

MYSQL数据库基础

这里写目录标题MYSQL数据库基础一.数据库原理1.数据的时代2.数据库的发展史1)文件管理系统的缺点2)数据库系统发展阶段3)DBMS数据库管理系统4)数据库管理系统的优点5)数据库管理系统的基本功能6)数据库系统的架构7)各种数据库管理系统8)关系型数据库理论二.MYSQL历史关系型数据库和非关系型数据库三.mys

【Vue】路由与Node.js下载安装及环境配置教程

🎉🎉欢迎来到我的CSDN主页!🎉🎉🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚🌟推荐给大家我的专栏《Vue快速入门》。🎯🎯👉点击这里,就可以查看我的主页啦!👇👇Java方文山的个人主页🎁如果感觉还不错的话请给我点赞吧!🎁🎁💖期待你的加入,一起学习,一起进步!💖💖目录前言

访问学者申请一定要会说英语吗?

访问学者申请一定要会说英语吗?显然,出国做访问学者,外语是出国的关键,这是毋庸置疑,而且必须严格对待的。下面就随知识人网小编一起来深入探讨一下。首先,我们需要明确的是,访问学者申请通常要求申请者具备一定的英语能力。这是因为访问学者在国外学术机构或大学进行研究工作时,需要与导师、同事以及学生进行有效的沟通,而英语通常是国

go工具类的封装——(一)配置文件工具类封装

使用方式在后端开发中,我们经常会使用配置文件,所以我想封装出一个工具类出来,能够提供简洁的接口,让我们很方便地读取配置文件并从配置文件中提取信息。我封装了一个工具类ConfigManager,主要有以下功能:根据配置文件的路径和文件名读取配置信息通过一系列Get函数,可以根据key查询配置项的值自动将配置项写入缓存,提

Python Subprocess介绍:基础和示例

PythonSubprocess介绍:基础和示例探索PythonSubprocess模块的逐步指南,包括示例。目录什么是PythonSubprocess何时使用PythonSubprocessPythonSubprocess示例PythonSubprocess管道结论PythonSubprocess常见问题什么是Pyt

数据结构--哈希表,哈希函数(或者散列表、散列函数)

目录哈希表的定义处理冲突的方法--拉链法散列查找常见的散列函数(构造哈希函数)除留余数法直接定址法数字分析法平方取中法处理冲突的方法--开放定址法(1)线性探测法:(2)平方探测法(3)伪随机序列发处理冲突的方法--再散列法总结哈希表的定义处理冲突的方法--拉链法散列查找圈出来部分,分别是除了第一层查找1次,其他每个元

【算法】二分答案

文章目录相关链接什么时候使用二分答案?题目列表最大化最小化相关题目列表📕2439.最小化数组中的最大值解法1——二分答案解法2——分类讨论O(n)2513.最小化两个数组中的最大值(二分答案+lcm+容斥原理)🐂好题!相似题目(容斥原理+二分查找)878.第N个神奇数字1201.丑数III2517.礼盒的最大甜蜜度

热文推荐