Linux网络知识入门篇

网络基础

入门

局域网和广域网区别

局域网的就是少量的计算机,通过交换机和路由器连接在一起。广域网其实就是一个大的局域网,只不过相连计算机的这跟网线比较长而已。

局域网通信的原理(两种方式)

OSI七层模型

简介

OSI(开放系统互连)七层网络模型成为开发式系统互联参考模型,是一个逻辑上的定义和规范,把网络从逻辑上分为7层,每一层都有关,相对应的物理设备,比如路由器,交换机;

优点

让不同类型的主机之间能实现数据传输

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

但是,它既复杂又不使用,我们按照TCP/IP四层模型来学习

TCP/IP五层模型

物理层 (集线器)

负责光/电信号的传递方式,比如现在以太网通用的网线,早起以太网采用的同轴电缆,光纤,现在的wifi无线网使用电磁波等都属于物理层的概念,物理层的能力决定了最大传输速率,传输距离,抗干扰性等

数据链路层 (交换机—解决数据碰撞问题)

负责设备之间的数据帧的传送和识别,例如网卡设备驱动,帧同步,冲突检测(如果检测到冲突就重发),数据差错校验等工作,有以太网令牌环网,无线LAN等标准,交换机工作在数据链路层。

网络层 (路由器 — 实现网到网之间的转发)

负责地址管理和路由选择,例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据的路线

传输层 (TCP/UDP)

负责两台主机之间的数据传输,如传输控制协议(TCP),能确保数据可靠的从源主机发送到目标主机.

应用层

负责应用程序间的沟通,如简单电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(telnet)等

与网络有关的硬件

路由器

路由器是实现了网络层到物理层,路由器实现的是网与网之间的转发,根据目的IP就可以知道要将数据传输到哪一个局域网。

交换机

交换机实现了数据链路层到物理层,交换机是实现从A主机到B主机,利用不同的驱动程序还可以减少数据的冲突

集线器

它只实现了物理层,当信号比较薄弱的时候可以放大信号。

关于局域网我们必须知道

局域网通信原理

1.在一个局域网中,任何时候只有一个主机可以往网线发数据

2.只能有一个主机在网线上发数据,势必会造成冲突的情况,想要解决数据冲突必须有相应的算法

解决局域网数据冲突的方法

以太网驱动程序 (防碰撞算法,等待)

实现一种防碰撞的算法,尽量的把局域网中的每个主机发送数据的时间错开,假如有冲突发生,就让其中一方进行等待,等另一方发送完再发送,检测冲突可以通过比较发送后的内容是否与自己一直,即可知道当前网线是否已经有主机占用。

令牌环驱动程序 (令牌,等待)

有一个令牌一直在局域网的每个主机上传递,拿到令牌的主机才有权向局域网发消息,如果自己想发消息但是没有权力,就得等到令牌传到自己手中再发送消息,这样就不会存在冲突的问题了。

IP地址

IP地址概念

IP地址就是我们平时所见的 192.168.0.123类似这样的点分十进制,对于IPv4来说,IP地址是32位(4个字节),32位的整数,对于IPv6来说,IP地址是128位(16个字节)

IP地址的作用

IP地址是在IP协议中,用来标识网络中不同主机的地址,提供一个目的为数据指引方向

mac地址

mac地址概念

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

mac地址作用

用来识别链路层中相连的节点

数据的封装和分用

什么是数据的封装

在TCP/IP的五层模型中,数据在从用户手中传至物理层要经过自顶向下的封装,从物理层传到应用层也到自底向上的解包,封装其实就是添加了不同层的一些信息,比如说传输层对数据进行封装添加了信息,表示传输层使用的是TCP协议。报头是当前层添加的,有效载荷是数据层添加的

封装的目的

1.首部信息中包含了一些类似于首部多长,载荷有多长,上层协议是什么等信息。有了自顶向下的封住,在数据到达另一个主机的时候,该主机通过之前的封装就知道数据是否是给自己的,如果是给自己的,那么数据的上层协议是什么,我的上层应该用什么协议去处理它。

  1. 自顶向下封装帮助自下而上解包,分用的时候能知道上层使用的协议是什么。
  1. 通过添加的报头,每一层都可以知道有效载荷的长度和首部长度,以及上层协议使用的什么。

4.也为数据提供了保护

一个小例子

就比如在某宝上我们买了一个洗面奶,快递公司A首先会对商家提供的商品进行打包,并且上面填上发货人收件人等信息并且加上快递公司的名称,这其实就是封装, 通过这个封装我们可以确保我们的快递会送到我们这边的快递公司A的一个小站点,而不是送到快递公司B。

跨网络传输的原理

把目的mac地址填写成路由器的mac地址(还有一个mac地址是源mac地址),路由器至少连接了两个局域网,路由器的细节只有两层:链路层和网络层(IP)

MAC地址和IP地址的区别

唐僧的例子

MAC地址是用来标识链路层中相连的主机的,在数据传输的过程中,必须得知道下一站要去哪,就好比唐僧取经,别人问他上一站从哪来下一站去哪里,他回答上一站是女儿国,下一站准备去通天河。

IP实现的是不同网络之间的传输,也就是跨网络传输,它只能实现网络到网络的传输,IP为数据的传输指明了方向,就好比唐僧取经,别人问他来自何方目的地是哪里,唐僧说他来自东土大唐前去西天取经。

IP地址和端口号作用

(1)IP地址是表示网络中唯一一台主机

(2)端口号是标识主机中的唯一的一个进程 (TIME_WAIT是一个反例,多进程下的服务器也是一个反例)

(3)IP和端口号组合就是标识网络中唯一的进程

(4)网络通信其实也是两个进程的通信,只不过是跨网络通信

网络数据序列是大端

两个通信的主机可能一个是大端一个是小端,所以为了防止因为大小端问题导致的不能正常通信,我们统一规定网络字节序是大端,所以有些操作我们必须用一个函数 htons–将本机字节序转换为网络字节序,类似这样的函数还有很多。

小结

IP-以太网怎么配合传输数据包?

IP的任务是把原计算机发送的数据包发经路由器转发到最后一站路由器(网到网转发),然后以太网把数据包从路由器传送给目的计算器。方法是使用数据包的报头: 把IP报头的的目的IP地址设为目的计算器的IP地址,路由器根据1这个地址查看路由表而把数据包转发到下一站。一站一战的发送,左后把数据包转发到目的计算机所在的路由器。 把链路层报头的目的MAC地址设置为目的计算机的MAC地,以太网中的每个主机都可以收到任何一个主机发送的数据,通过MAC报头就可以知道所发送的数据是否是发送给自己的。

路由器怎么转发数据包?

路由协议计算出传送路径,存放在路由器的路由表里。路由器上的数据包时,抽出报头里的目的IP地址,路由查看路由表,找到下一站的接口,把数据包从这个接口转发,抵达下一站。IP地址,路由转发

以太网怎么把数据包传输到目的计算器?

以太网内的计算机用网卡链接到以太网,一个网卡可以有多个接口,每个网卡接口都配置一个IP地址,和一个固定的硬件地址,也叫单播MAC地址 ,由于以太网有广播的属性,数据包经过路由器的以太网接口转发,会发送给以太网的所有接口,网卡接口在收到数据包时,把数据的目的MAC地址和自己的MAC地址比较,如果相同,就接受此句,反之就丢弃,这样就只有接收方的技术会接受此包,其他接口会丢弃此包。

怎么封装报头?

计算机发送信息前得先封装报头,把报头和数据合起来,成为一个数据包,发送时以数据包为单位。报头包含网络设备,协议所需要的控制信息等。

网络相关的指令

netstat 查看网络状态

-p 显示建立相关链接的程序名

-a 显示所有选项,默认不显示LISTEN相关

-l 仅列出有在listen(监听)的服务状态

-t 仅显示tcp相关

-u 仅显示udp相关

-n 拒绝显示别名,能显示数字的全部转化为数字

关闭防火墙

systemctl stop firewalld

基于ssh登录进行的网络安全的远程文件拷贝命令

将文件client拷贝到home目录下

scp client [email protected]:/home/

scp /home/lijinhu/websocket.html [email protected]:/home/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章