linux网络基础1

网络的重要性

当下时代是互联网时代,网络异常发达,无处不在,比如智能家居、手机、计算机等等都需要网络,他们都有与之配备的不同的操作系统。而不同的操作系统都支持相同的网络标准。
据统计,在linux运维的职业生涯中,50%的故障,都来源于网络。因此,网络在当前的大环境下是非常重要的。

我们是怎样实现上网的

家用:
运营商—>小区的光交箱---->家里的光猫–(无线wifi、网线)–>本地网络设备
企业:
运营商---->企业路由器(固定ip)----> 上网行为管理器(限流、管控)-----> 三层交换机—>二层交换
机—>PC
linux系统查看公网ip的方法:
curl ifconfig.me

基础知识

网卡

网卡分为有线网卡和无线网卡。
每一块网卡都有唯一的mac地址与之对应。

网线

双绞线(局域网使用较多)
568B标准线序:
白橙 橙 白绿 蓝 白蓝 绿 白棕 棕
百兆:
只需要1236这四根线能用就能接通。
千兆:
需要8根线全通才能接通。
光纤(常用于室外)

windows常用命令

ipconfig : 查看网卡信息
ping : 测试网络连通性

osi 7层模型

应用层 :应用程序
表示层 :表示文件的类型,方便用户能够使用正确的方式打开目标文件
会话层 :每一个连接,都会去创建一个会话,怎样创建取决于传输层使用什么协议
传输层 :传输速度,可靠性(tcp:可靠性高,速度慢 udp:可靠性低,速度快)*
网络层 :路由转发[ ip地址、公网ip(全球唯一)私网ip(局域网内唯一)]
数据链路层 :mac地址,解决设备间通信的问题,传输数据帧 (MAC地址)
物理层 :把通信介质的信号转换成计算机能够识别的数字信号

网络的最终目的就是为了传输数据,程序之间通信使用的都是协议,几乎所有的协议都是根据osi模型来设计的,分层的作用主要是为了重复使用。
在运维工作中,最重要的就是传输层。

交换机工作过程

设备A提出访问设备B的请求---->连接设备A的交换机发起广播询问设备B所对应的端口—>设备B所对应的端口接到响应并回应---->设备A与设备B开始通信
交换机识别的是计算机的MAC地址。

应用程序端口

工作在传输层,用于实现多任务操作系统
服务端的端口是唯一的,客户端的端口不是唯一的。
这样做的好处是:
1、可以避免端口冲突
2、可以多开相同的应用程序
3、 安全

数据封装以及解封装过程

在这里插入图片描述
数据封装与解封装虽然看起来复杂,其实在毫秒内就能完成,每个数据包标准大小是1500字节。如果数据超出大小就会把它分解成多个小的数据包进行传输。

tcp/ip协议簇

应用层 :应用层协议:ssh 22 ftp 21 http 80 dns 53 ntp 123
传输层 :重点tcp协议,因为tcp可以被黑客利用进而做网络攻击,因此运维人员需要掌握这个协议。
网络互联层 :路由转发,ip寻址
网络接口层 :是物理层和数据链路层的结合,也有人把物理层和数据链路层分开来,把tcp/ip协议表示为5层。
我们知道传输层有tcp和udp两个协议,他们的特点是
tcp:可靠性高,速度慢
udp:可靠性低,速度快
那么,我们什么情况下使用tcp协议,又什么时候使用udp呢?
tcp:这个协议规定每传输一个数据包都需要确认是否收到,在遇到特别容易丢包的场景,数据又特别重要时候,我们会选择tcp协议。
udp:它不需要确认收到,在不容易丢包数据又不是特别重要的时候,我们会去选择udp协议。
dns:域名解析协议

计算机通信方式

单工通信:只能接受或者只能发送数据。 如:广播电台
半双工通信:可以发送或接受数据,某一时刻只能做一件事。如:对讲机,wifi
全双工通信:可以同时发送并且接受数据。如:有线网络

tcp协议数据传输过程

网络数据传输时,谁先发起请求,谁就是客户端。
URG:紧急指针是否有效。为1,表示某一位需要被优先处理
ACK :确认号是否有效,一般置为1。
PSH :提示接收端应用程序立即从TCP缓冲区把数据读走。
RST :对方要求重新建立连接,复位。
SYN: 请求建立连接,并在其***的字段进行***的初始值设定。建立连接,设置为1
FIN:希望断开连接

三次握手

三次握手工作过程如下图:
在这里插入图片描述

四次挥手

在这里插入图片描述 为什么建立连接是三次握手,而断开连接确实四次挥手呢? 这是因为的第二次和第三次挥手的时候中间需要有一个发送数据的过程,因此第二次与第三次挥手不能像建立连接时那样成为归为一步,因此断开连接时需要四次。