当前位置: 首页 > article >正文

【Linux网络(一)】初始网络

目录

一、初始网络

二、网络为什么要进行分层

三、网络传输的基本流程

 四、初始IP地址和MAC地址


一、初始网络

网络其实就是进程间通信的一种,跨网络通信是在不同主机上进行的(比如在西安要访问qq,而qq的服务器进程可能在深圳),而通信的复杂程度是和距离成正比的。跨网络通信需要解决一些问题:

1、如何处理网络中获取的数据?

2、在网络中丢包了怎么办?

3、怎样定位要访问的主机或者要访问的进程?

4现实生活中有很多路由器可以当网络跳板,怎样知晓下一跳往哪走?

因此,为了解决上面的问题,要指定协议         协议的本质就是一层软件层

四层模型以及它们的协议:

  • 应用层(HTTP协议)
  • 传输层(TCP/UDP协议)
  • 网络层(IP协议)
  • 数据链路层(ARP协议)

 物理层偏向硬件

二、网络为什么要进行分层

进行分层的原因:

  • 场景复杂,分层有利于拆分复杂场景
  • 功能解耦,便于后续进行构造维护

网络进行分层之后,不同层负责不同的功能,互相之间不会有干扰,并且每一层都有自己的协议,虽然现在大多数都是使用TCP/IP协议,但是不能保证未来是否会退出更优的协议,所以为了未来的可维护性,分层也是很有必要的。除此之外,一旦网络通信中出现了错误,分层就能很好的定位错误出现在哪一层,进而该善组件。

网络编程使用的是系统调用:

  • 应用层对shell,应用软件
  • 传输层和网络层对应OS
  • 数据链路层对应的是驱动软件
  • 物理层对应硬件

三、网络传输的基本流程

1、每一层都有自己的协议定制的方案

2、每一层都要有自己的协议报头(字段)

3、从上到下交付数据,需要添加报头

4、从下到上交付数据,需要去掉报头

 

由上图可以看出, 客户端和服务器的每一层使用的协议都是一样的,也就是说,在客户端的X层添加了协议报头的数据,在服务器的X层会使用同样的协议来拆解报头,使用这种方法可以让数据在客户端的X层和服务器X层看起来是一样的。   除此之外,数据在经过数据链路层之后,可能会经过多个路由器才能到达对方服务器。

报文= 报头 + 有效载荷 

上层数据向下传送时,每一层都有自己的协议,要想对方的同一层根据协议解析数据,就要加一个报头。类似于快递要贴上订单号给每一个快递员或驿站传递信息,收到快递后要把订单号去掉,收到的数据中,多出来的部分就是协议报头 

网络通信的本质就是:贯穿协议栈的过程      通信的过程就是不断地封装和解包的过程。

补充:

1、几乎任何层的协议,都要提供一种能力,将报头和有效载荷分离的能力 

2、几乎任何层的协议,都要在报头中提供,决定将自己的有效载荷交付给上层的的哪一个协议的能力

以太网通信:
交换机---划分碰撞域  任何主机都可以向局域网中发数据,但是任何时刻只允许一台主机向局域网中发数据,避免碰撞。  局域网是共享资源

 四、初始IP地址和MAC地址

认识IP地址:

IP协议有两个版本IPv4和IPv6  我们只说IPv4也是最常见的

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

认识MAC地址:

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

  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)

IP地址和MAC地址的区别:

IP地址标识的是从当前主机到目标主机的起点与终点.而MAC地址标识的是从当前主机到目标主机的路程中,下一跳要往哪儿跳?我们用唐僧取经的例子来说明,唐僧从东土大唐去西天取经,那么源IP地址就是东土大唐,目的IP地址就是西天.而去西天可能要经过车迟国,黑风岭,火焰山,女儿国等地方,假设下一站是火焰山,那么目的MAC地址就是火焰山


http://www.kler.cn/a/579597.html

相关文章:

  • Linux:多线程(单例模式,其他常见的锁,读者写者问题)
  • ESP8266UDP透传
  • 华为Mate 60 Pro+ 等机型适配支持运营商北斗卫星短信功能
  • C++:vector容器(下篇)
  • Milvus的匹配语法
  • 二维码识别OCR接口:开启高效信息提取的新篇章
  • RK Android14 在计算器内输入特定字符跳转到其他应用
  • 文件上传漏洞测试
  • Java 大视界 -- Java 大数据在智慧交通信号灯智能控制中的应用(116)
  • TCP/IP 5层协议簇:网络层(ICMP协议)
  • 论文阅读-秦汉时期北方边疆组织的空间互动模式与直道的定位(中国)
  • 自学微信小程序的第十二天
  • lodash手写源码-cloneDeep,debounce,throttle
  • 【并发】 synchronized 关键字详解
  • 实现一键不同环境迁移ES模板
  • Mysql配置文件My.cnf(my.ini)配置参数说明
  • 如何判断住宅IP与机房IP的方法
  • 双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开
  • vue基本功
  • ubuntu22.04安装RAGFlow配合DeepSeek搭建本地知识库