1、名词解释
传输层的作用:源主机和目标主机主机之间,提供可靠的数据传输和通信服务
传输层——数据段。
数据分段和重组:
发送方:上层应用程序传输的数据会被进行分段,每个数据段都有序列号,添加一定控制的信息
接收方:在传输层把分段的数据重组,形成完整的数据
连接管理:可以建立,维护以及终止源主机和目的主机之间的连接。两张协议tcp,udp 主流都是tcp
可靠性保证:主要针对tcp,数据分段后的有序传递,数据丢失后的检测以及重传,数据检测和纠错机制。确保传输过程中的数据完整性和可靠性。
*还能进行流量控制、拥塞控制
2、传输层的主要作用:
1.数据分段、重组。
2.连接管理:要知道怎么建立连接、断开连接
3.tcp是端到端通信,端口对端口。tcp中包含源端口和目的端口
传输层的协议:tcp(传输控制协议)、udp(用户数据报协议)
协议:数据通信过程中的规则和约定以及交互方式
tcp协议:面对面连接,端口到端口,建立通信
程序:开发写好的代码,未运行就是程序
进程:执行起来的代码就是进程
服务:由进程提供的特定功能
进程到进程:两个执行起来的程序之间进行端口通信。tcp提供全双工服务,数据可以在同一时间内双向传输
tcp有发送缓存的接收缓存,用来临时存储数据。
缓存:临时数据
tcp:通信双方建立通信之前,必须要先建立连接
udp:用户数据报协议,无连接。不保证传输的可靠性。——直播,流媒体
发送端:不关心发送的数据是否能够达到目标主机,数据是否出错也不再考虑范围之内
接收端:也不会告诉发送端是否收到了信息
可靠性由上层协议进行保证。用户自定义。
主流的协议还是tcp
tcp:安全可靠,传输速度相对较慢
udp:效率高、速度快,但是不安全
Tcp报文字段:
源端口(source port):发送方的端口号
目的端口(destination port):接受方的端口号
3、tcp的三次握手和四次挥手
Flags:标志位,tcp协议用来控制连接的标识符
URG:紧急位,优先级较高的数据需要立刻通过的时候,才会有紧急位,URG=1时
ACK(三个大写):确认位 只有ACK=1时,确认序列号字段才有效,ACK=0则无效
Ack(只有一个大写):接收方期望收到发送方下一个报文端的第一个字节数据的编号
接收方希望你发送方下一次发的数据的第一个字节的编号为确认号,确认传输是否正常。
PSH:急迫位,立刻送达到应用层
RST:重置位,RST=1,通知重新建立tcp连接
SYN:同步/连接位,需要建立连接的第一步,SYN=1
FIN:断开位,FIN=1时,表示要断开连接
SEQ:报文序号
WIN:接收缓冲区的空闲空间
所有的基于tcp协议的通信,第一步都是要建立连接。建立连接一定是三次握手
PC1(客户端) PC2(服务端)
第一步:发送建立连接的请求(SYN=1),表示PC1想和PC2建立连接,Seq=1(序列数)
第二部:PC2,SYN=1愿意建立连接,ACK=1确认同一建立连接(Ack=1+1(序列号+1)——用于确认身份)
第三步:ACK=1 确认建立连接,Seq=2(身份确认,告诉PC2我是PC1)
,Ack=2+1(确认双方的数据传输),至此开始连接
第一步:客户端发送到服务端,建立连接的请求
客户端:SYN=1 (发起建立连接)
服务端:SYN=1,(同意建立)ACK=1(确认建立)
客户端:ACK=1(双方确认,开始连接)
问:为什么不需要第四次确认?
两次确认已经分别确认了双方的序列号。已经知道双方是谁,怒需要再进行第四次确认了
tcp的四次挥手:
PC1 PC2
第一步:PC1:FIN=1(请求断开),ACK=1(请求确认)
第二步:PC2:ACK=1,确认是PC1
(第二步和第三步之间是tcp半关闭状态,)
第三步:PC2:FIN=1,ACK=1,我要和PC1断开,而且确认(意义是:确认没有数据要发送了)
第四步:PC1:ACK=1(确认断开)
四次挥手:当PC1发送断开连接之后,PC2回复ACK确认,这个时候PC1 将不再向PC2发送数据。PC2还要继续接收PC1没有处理完的数据。全部收到,处理完毕之后,PC2才会向PC1发送确认断开,PC1发送ACK,确认断开
4、面试题问:为什么四次挥手?
主要是为了防止另一端发送的数据,接收方没有接收完毕,直接关闭可能会导致数据丢失,所以要有等待数据全部接收完毕的过程。以保证数据完整。
四次挥手之后并不是完全关闭,进入TIME_WAIT状态(没有数据传递了,但是连接还在,是为了节约资源)
- 确保网络中所有的分段已经全部传送完毕,避免影响后续的连接
- ☆如果重新建立连接,就不需要再一次打开新的进程,直接使用之前的连接进程
- MSL:tcp连接进程可以在网络中存活的最长时间,超过这个时间,这个tcp的连接进程将会被丢弃。——120S。而TIME_WAIT的时间一般是MSL的两倍也就是240S,可以自己改,一般配置的是60S。
MSL:Maximum Segment Lifetime
TTL:数据包的生命周期,128Windows,64Linux,过路由器递减次数,为0则丢弃
MSL:数据段的生命周期。120S,TIME_WAIT的时间要比MSL的时间要长
5、交换机:
作用:连接终端设备
交换机工作:数据链路层的代表设备,核心:转发数据帧
数据链路层:
1.物理地址、网络拓扑的建立、维护、拆除
2.把数据封装在数据帧当中,按照顺序传送
3.硬件寻址:根据设备mac地址,进行数据帧转发
4.差错校验和恢复:数据帧如果有错误,可以通过重传的方式进行修复
交换机工作的核心:封装数据帧,按照顺序,以mac地址来进行数据帧转发,以及差错校验,对帧进行校验,保证数据完整是交换机工作的核心
以太网:网卡插了网线的连接方式
以太网地址:设备的mac地址(设备是网卡),是网卡设备的全球唯一标识
Mac地址既可以是单个设备,也可以是一组设备的网卡地址
Mac地址:大小48bit,16进制数
本机mac地址: 00-E0-4C-84-7E-37
计算机单位换算:
1B=8bit
1Kb=1024B
1Mb=1024Kb
1Gb=1024Mb
0单播/1
交换机设备:华为,神州数码,锐捷,Cisco
交换机的工作方式:连接多个终端设备,其他网络设备无法提供很多端口供设备直连,所以需要交换机
交换机的工作方式:
PC8 ping PC7:
- 初始状态:交换机并不知道有哪些设备跟我连接(不知道mac地址,不知道他们在哪)
- 学习状态:交换机会记录PC8的mac地址,然后以泛洪广播的形式寻找目标的mac地址
3.接收方会回应广播,交换机会记住PC7的mac地址以及端口(和交换机连接的端口)
4.PC7和PC8进行的单播通信
5.交换机会记录经过设备的mac地址和端口,保存在mac地址表,刷新时间300S记录消失(在这里ARP记录的是IP地址和mac地址在地址表里,不一样)
6.下一次数据再来请求或响应,如果在mac地址表有记录,直接转发,下次不再泛洪广播
广播和泛洪:广播——在同一网段广播,泛洪——全部广播不管你是谁
这里的传输层交换机记录的缓存ARP记录的缓存不一样:
这里是tcp缓存记录mac地址和端口位置,ARP记录的是IP地址和mac地址
交换机的四大功能:
- 学习功能:数据帧经过交换机,交换机都会记录他们的源mac地址
- 转发功能:根据mac地址表转发,表里没有才会泛洪广播
- 查询功能:泛洪。找不到mac地址会用泛洪广播的形式查找目标的mac地址
- 刷新功能:交换机默认300S刷新,300S过后mac地址表里的所有的数据和记录全部消失
网络层级:
里面物理层是第一层,依次排序
二层转发:数据链路层是第二层,是数据链路层转发,也就是交换机转发(数据帧)
三层转发:网络层转发,也就是路由器转发(数据包)
转发只有数据帧和数据包
没有四层转发,因为传输层不转发数据,只是规定协议端口,建立连接
二层转发:就是数据帧转发,就是交换机转发的原理
回环地址:127.0.0.1
ipv4当中的一个特殊地址,也叫做本地回环测试
作用:
- 自我测试:可以不依赖外部网络。尤其是一些应用程序需要自身通信时,就可以本地回环进行测试
- 调试和开发:开发人员可以使用回环地址模拟网络,简化开发调试的环境要求
6、常用命令
sysname:修改主机名
q:退出——undo t m 退出通知
mac-address:查看mac地址表
交换机基本配置
用户视图:基本操作,查看基本信息(权限受限 只看不能操作)
系统视图:进阶操作,配置 静态路由,动态路由:rip ,ospf,BGP (既能看又能操作)
接口模式:配置ip地址等操作 (配置IP地址 时使用)
用户视图模式<Huawei>切换至系统视图模式[Huawei]
<Huawei>system-view
1、历史命令查询
[Huawei] display history-command
2、配置主机名
<Huawei> system-view
[Huawei] sysname SW1
3、状态信息查询
<Huawei>display version ####查看VRP版本
<Huawei>display users ####查看用户终端信息
4、进入接口模式并查看信息
<Huawei>sys
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]dis this ####查看当前视图下的配置信息
5、配置文件管理命令
[Huawei]display saved-configuration ###查看设备保存的信息
[Huawei]display current-configuration ###查看设备当前配置的信息
<Huawei>reset saved-configuration ###擦除存储设备中的配置文件
<Huawei>compare configuration ###比较当前配置信息与存储设备中的保存文件是否一致
6、关闭华为的信息提示中心
[Huawei]undo info-center enable #这两个都可以任选
<Huawei>undo terminal monitor
7、配置双工及速率命令
<Huawei>sys
[Huawei]int g0/0/1
[SW1-Ethernet0/0/1]undo negotiation auto ###关闭自动协商
[SW1-Ethernet0/0/1]speed 100 ###调至速率100M
[SW1-Ethernet0/0/1]duplex full ###全双工模式
[SW1-Ethernet0/0/1]duplex half ###半双工模式 ###调至全双工模式,解释:full:Full-Duplex(全双工模式)
half:Half-Duplex(半双工模式)
8、永不超时
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
9、保存配置
<Huawei>save
10、#查看交换机的mac地址表
[huawei]display mac-address
11、#清除交换机的mac地址表
[Huawei]undo mac-address