Linux知识点 -- 网络基础(一)

Linux知识点 -- 网络基础(一)

文章目录


一、网络发展

  • 独立模式:计算机之间相互独立
  • 网络互联:多台计算机连接在一起,完成数据共享
  • 局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起:
  • 广域网WAN:将远隔千里的计算机都连接在一起

    注:局域网和广域网只有规模上的差别;

二、协议

1.OSI七层模型

OSI (Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,

是一个逻辑上的定义和规范;

把网络从逻辑上分为了7层,每一层都有相关、相对应的物理设备,比如路由器,交换机;

OSI七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;

但是,它既复杂又不实用;所以我们按照TCP/IP四层模型来讲解。

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

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

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

对于一台主机,,它的操作系统内核实现了从传输层到网络层的内容;
对于一台路由器,它实现了从网络层到物理层;
对于一台交换机,它实现了从数据链路层到物理层;
对于集线器,它只实现了物理层;

划分为层状结构的原因:

  • 场景复杂;
  • 功能解耦,便于维护;

TCP/IP协议各个层对应计算机的结构:

三、网络传输基本流程

1.局域网中的两台主机通信流程


局域网中两台主机是可以直接通信的;
从逻辑上讲,两台主机的应用层在直接通信;
从物理上讲,两台主机的应用层是不能直接通信的;
每层都有自己的协议定制方案;
每层协议都要有自己的协议报头;
从上到下交付数据的时候,要添加报头;
从下到上递交数据的时候,要去掉报头;


封装的本质:添加报头;
解包的本质:去掉包头,展开分析;

局域网通信就是一台主机在局域网中发送信息,给特定的另一台主机,其他主机在识别到自己不是目标主机后,就将报文丢弃了,只有目标主句收到后会进行通信;

局域网中标识主机的唯一性:MAC地址;

2.跨网段的两台主机间通信

两台主机(A和B)不在同一个局域网中,他们之间需要通过路由器进行通信;
跨网段的两台主机通信,链路层之间不能直接通过以太网传输;
路由器也是一台主机,AB两台主机分别于该路由器处于同一个局域网中;
两台主机不在一个局域网,无法直接通信,但可以通过路由器进行通信;
A主机拿不到B主机的MAC地址,但可以通过路由器拿到;

IP地址就相当于通信的起点和终点,在通信期间是一直不变的(源IP,目的IP);
MAC地址相当于通信路程中的一段段小目的地,在通信期间是不断变化的(源MAC,下一站MAC);

  • 通信过程:
    A主机的IP地址通过以太网驱动程序加上了以太网驱动程序的报文,传到路由器中;
    路由器去掉了以太网驱动程序的报文,从路由器传到B主机的过程中,经过令牌环驱动程序又加上了报文;
    从B主机链路层到网络层的过程中又去掉了这个报文;

在使用TCP/IP协议的网络中,IP及其向上的协议,看到的报文都是一样的;

四、网络中的地址管理

1.IP地址

IP协议有两个版本,IPv4和IPv6;

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

2.MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位,及6个字节;一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19);
  • 在网卡出厂时就确定了,不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突;也有些网卡支持用户配置mac地址)。
  • 由于路由器也是主机,因此每经过一台路由器,MAC地址就会变动一次;
相关推荐
。puppy8 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色17 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev34 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源1 小时前
Kafka-linux环境部署
linux·kafka
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
长弓三石2 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
follycat2 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全