Linux网络

对网络的理解

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

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

有问题,就有解决方案;

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

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

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

【网络】计算机网络基础-LMLPHP

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

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

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

OSI七层模型

  1. 应用层
  1. 表示层
  1. 会话层
  1. 传输层
  1. 网络层
  1. 数据链路层
  1. 物理层

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

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

网络传输基本流程

同一局域网中的传输流程

【网络】计算机网络基础-LMLPHP

不同局域网中的传输流程

【网络】计算机网络基础-LMLPHP

路由器作用在网络(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地址)
09-17 19:40