网络:设备与设备之间传递消息。为了能适应各种场景,所以就会有很多的协议。他们都只是通过二进制交流的。
早期发电报:就是两个电报机之间传递消息。密码本,为了安全考虑(加密和解密)
网络的重要性:
1.互联网时代,网络发达,所以网络无处不在
2.各种操作系统都支持相同的网络标准,可以进行,一对多,多对一的传输。
3.linux 运维的职业生涯50%网络故障,是来源于网络
电脑是如何上网的?
1.家用的场景 :
2.办公室场景
查找公网ip的方法
[root@oldboy ~]# curl ifconfig.me
223.90.13.117[root@oldboy ~]#
网卡:(就像手机的电话卡,你没有卡,你是上不了网的。)
有线网卡:就需要连接网线,一般最多的是双绞线。
为啥在家里的局域网里,用双绞线,不用光纤?
1.光纤成本高,不是线贵,而是光纤头贵。
2.相对于光纤,双绞线就便宜很多,也能自己做
但是它有线序的标准,千兆的就是8根线:568B (橙白 橙)(绿白 蓝 ) (蓝白 绿) (棕白 棕)
百兆的就是,双绞线 4根。1236
3:osi 7层模型(就是一个参考)
物理层 : 把通信介质的信号转换成数字信号(二进制) 双绞线电信号 wifi电磁波 光纤
数据链接层 : mac地址 (是写在芯片里的,全球唯一的)(每一台设备都有唯一的mac地址),作用:设备和设备相互通信
交换机的作用:
网络层 :ip地址(定位)
路由表 (向导,指路)
IP(想上网就必须要有IP地址,他是用来确定位置的)
公网 全世界唯一 (iee分配的)国家省市县镇
两台计算机,在世界上任何的位置,都能相互通信
一共有43亿左右:因为电视,空调,手机,电脑,都有IP地址,如果都要占有,肯定不够。
为了缓解 ip 地址不够用,出现了私网 局部唯一
私网:是多个设备,共同拥有一个公网ip上网。
但多个设备也的各自的编号,要不然也的乱。
如果公网是一个房子就只能住一个人的话,私网就是一个房子住多个人,共同拥有。然后每个人还的有自己的房间,所以私网下就有不同的编号,就像门牌号。
如果要跨越公网,就像从中国到美国。就需要一个用到一个叫 路由 的东西 。而它的作用就是告诉我们,去到美国特定的一个公网,我们怎么从中国过去。
所以,路由表:就是指定路线的。如果一个数据包没有给到他一个确定的路线,那么他就会在网络上被丢掉。
传输层:协议和速度协商和 端口
协议:就是约定,需要通讯双方都遵守的约定。
分为两协议
tcp协议:速度慢,可靠性高 (每发一个包,都会有一次确定,如果没有收到,就会重发)
udp协议: 速度快,可靠性差 (是直接一下,全部传过来。不管其中有的包是否有丢失)
你的电脑是千兆的,但是你的交换机是百兆的,能传输数据吗?

就是有速度的协商,让速度保持一致。高速的自动降下来。所以交换机都会有10M/100M/1000M 自适应
端口:多个程序同时通信
网络层的端口:就是交换机的端口
传输层的端口:就是应用程序,监听的端口
端口的使用:
会话层:每一个连接,就是会话。就像终端的窗口
创建之后,就会去选择使用什么协议。
表示层 :表示文件的类型
因为计算机和计算机之间,在发送数据包的时候,都是二进制。那么如果我不知道发的数据包是什么类型的,而用其他程序打开,就会产生乱码
所以,我需要知道是什么文件类型,然后用什么程序打开。才可以。
应用层 :应用程序,计算机最后肯定是应用程序和应用程序之间传递数据。 最终我们需要发送的数据
网络的目的就是为了传输数据。
几乎所有的协议都是根据0si 7层模式来设计
分层的作用:复用(简单讲,就是做了一个协议,然后我们可以用已经写好的模版,不用每一个程序都走七层,也可以使用别人已经写好的,拿过来直接用。就是拷贝别人的,直接用)
对运维来说,重中之重的层:传输层。
一个数据包分成2部分,一个控制层面的数据,一个是应用层面的数据:控制层面只占一小部分,数据层面才占用大部分!
Mac与ip区别?
Mac 就是身份证号 全球唯一 是写死在芯片里边,不变
IP 是手机号 家庭住址 是分配的地址,可以变,也可以改
4:数据封装,解封装,数据传输过程
举例子:发一个快递
1.确定要寄啥东西
2.对需要寄的东西进行打包
3.叫快递来,填写快递单号
目的地址 原地址
目的手机号 原手机号
4.拉货员给你拉到具体的快递站
5.快递员进行分配,然后打电话,让去取快递
6.领取的时候,报自己的身份证号
7.领快递回家之后,解开包装,才能看到收到了啥
一个数据包分成2部分,一个控制层面的数据,一个是应用层面的数据:控制层面只占一小部分,数据层面才占用大部分!
5:tcp/ip协议
物理层
数据链接层 前三层是网络工程师负责的
网络层
传输层 运维管的。网络攻击 :tcp 协议
应用层 开发负责的
对于协议:
tcp 协议:速度慢,可靠性高,每传输一个,都需要确认是否收到。。可用在数据包重要,但又容易丢
upd 协议:速度快,可靠性差,传输的时候,不确定。 用在不怕丢包,又不死很重要的地方。
直播就是udp协议,一旦卡顿,画面没了,但是卡过了之后就又好了。
局域网内,一般是不容易丢包的
dns协议:就是不重要,丢就丢了,不行重新在连
互联网一般用的比较多是应用层协议
ssh ftb http dns ntp (时间同步服务)
端口 : 22 21 80 53 123 /etc/services
传输层: tcp tcp tcp udp udp
(端口:计算计算机进行数据传输或者接收数据的的最外边的口,每一台的计算机的端口都是唯一的。还有就是服务端的端口也是唯一的,但是客户的端的端口是随机的。)
最重要的协议:tcp协议
三次握手,保证网络畅通;四次挥手,保证数据的传输完成
单工:发送方只能发,接收发只能收。只能单向数据传输
(收音机,广播)
半双工:一方可以作为发送方,也可以作为接收方。但是在接收的时候,不能发送,在发送的时候,不能接收
(对讲机,wifi无限)
全双工:可以同时收发。(网络,手机)
客户端和服务端(网络里,不是绝对,而是相对的)
需要看是谁先发起的数据包传输的请求
就像:qq发送消息,qq软件就是客户端,qq后台就是服务端
qq推送新闻,qq后台就是客户端,qq软件就是服务端
@@@@@@@@@@@@@@@@@@@@@@@@@@@
tcp的标识:
SYN:建立链接
ACK:回应标识
FIN 断开链接
PSH 数据包
URG 紧急指针
RST 重置(重传)
tcp的三次握手
如果在握手的过程中,没有握手成功,会等到着。然后在重发
验证:
tcp的四次挥手
验证: