网络基础

本文深入讲解网络基础,包括网络分层模型(OSI七层模型和TCP/IP模型),重点介绍了TCP协议的三次握手和四次挥手过程,以及UDP协议的特点。还探讨了HTTP和FTP协议的应用,讲解了MAC地址和IP地址的重要性,以及交换机和路由器的工作原理。此外,还涵盖了IP地址配置和路由表的相关知识。
摘要由CSDN通过智能技术生成

一、网络分层模型

1. 了解:什么是网络协议?

网络协议 :网络设备(包含:主机)之间<数据传输>的<格式规范>(好比:语言)。
      网络协议的种类有很多。
理解 :
  ★ 人与人说话,需要<人类的语言>,<人类的语言>就是<通讯协议>,<人类的语言>有很多种。
  ★ 机器与机器说话,也需要<机器的语言>,<机器的语言>也就是<通讯协议>,<机器的语言>也有很多种。

2. 了解: ISO的<OSI七层参考模型>、<TCP/IP协议族>分层模型

(1) ISO的<OSI七层参考模型>

了解:ISO
★ ISO 是国际标准化组织(International Organization for Standardization)的简称。
★ ISO 它是一个十分重要的、全球性的、非政府性的、国际化标准组织。
★ ISO 负责制定<国际标准>,协调世界范围的标准化工作。
理解:标准的意义
★ <各行各业>的<标准制定>可以很好解决<不同技术>之间的有效协作。
★ <不同技术>可以有各自的发展,只要遵循<统一的接口标准>,就不会影响<不同技术>之间的有效协作。
★ <标准>保障并促进了<技术的良性发展>。
★ 比如:
   螺丝螺帽标准化:方便了我们对螺丝螺帽的使用,无论是铝制的、铁质的、钢制的,只要符合标准,就可以使用。
   武器部件标准化:提高武器装备的战场维修效率,可以快速方便的更换损坏的部件。

(2) <OSI七层参考模型>、<TCP/IP协议族>分层模型

★ 实验:通过<Wireshark工具>抓包,查看<数据链路层(帧)>、<网络层数据(包)>、<传输层数据(段)>、<应用层数据(例如:HTTP协议)>

二、了解:TCP 协议(三次握手、四次挥手)

1. TCP协议简介

是一个面向<连接>的<传输层>协议。
TCP建立一个连接时,需要<预先3次握手>,TCP终止一个连接时,需要执行<4次握手>,效率没有UDP高。
TCP具备<超时重传策略>,从而提供了<数据传输>的<可靠性>。
2. TCP三次握手:建立连接
★ 图例:A主动打开,B被动打开
 ☞ 第1次:<客户端>发<一个请求>给<服务器> “你好!我准备连接进来”
 ☞ 第2次:<服务器>发个<一个确认>给<客户端> “我知道了,你可以连接进来”
 ☞ 第3次:<客户端>发<一个确认>给<服务器> “OK,我这就连接进来”
<三次握手>的理由:<三次握手>是确保<连接的两端>可以正确同步的<充分必要条件>
★ 假设:只使用<二次握手>
● A发出的<①SYN连接请求>因为<网络原因>而产生<延迟>,因此,A肯定不会及时的收到B回复的<SYN,ACK连接确认>,
基于<TCP超时重传策略>,A会重新发送一个<新的:SYN连接请求>,进而与B建立连接。
● 如若<老的:SYN连接请求>终于到达B,B会认为是要建立一个<新的连接>,因此B会回复一个<②SYN,ACK连接确认>,
由于<老的:SYN连接请求>已经没有实际意义,从而造成了B的资源浪费。
★ 鉴于以上原因:
● A通过发出的<③ACK确认>,来告诉B:<①SYN连接请求>是有效的。
● 如果B迟迟没有收到<③ACK确认>,就可以认为:<①SYN连接请求>是无效的,从而回收资源。

3. TCP四次挥手:终止连接

★ 图例:A主动关闭,B被动关闭
☞ 第1次挥手(A 通知 B):<A 已无数据发送>
● <客户端进程>向<服务端进程>发出<FIN连接释放报文>,并且停止发送<数据>,然后进入FIN-WAIT-1(终止等待1)状态。
☞ 第2次挥手(B 确认 A):B 申明收到 <A的通知>,然后 B 进入<半关闭状态>
● <服务端进程>收到<客户端进程的FIN报文>之后,就发送<ACK确认报文>,表示:知道此事,然后进入CLOSE-WAIT(等待关闭)状态。
◢ 注意:此时处于<半关闭状态>,即:<客户端进程>已经没有<数据>发送,但是<服务端进程>仍然可以在CLOSE-WAIT(等待关闭)状态中,继续发送数据。
● <客户端进程>收到<服务端进程的ACK确认报文>之后,就进入FIN-WAIT-2(终止等待2)状态。
◢ 在此状态中,既可接受<服务端进程>发送过来的<最后数据>,同时,也在等待接受<服务端进程的FIN连接释放报文>。
☞ 第3次挥手(B 通知 A):<B 已无数据发送>
● <服务端进程>在发送完<最后的数据>之后,就向<客户端进程>发出<FIN连接释放报文>,并且停止发送<数据>,然后进入LAST-ACK(最后确认)状态。
☞ 第4次挥手(A 确认 B):A 申明收到 <B的通知>,然后 A 和 B 进入<全关闭状态>
● <客户端进程>收到<服务端进程的FIN连接释放报文>之后,就发送<ACK确认报文>,表示:知道此事,然后进入TIME-WAIT(时间等待)状态。
◢ 注意:此时TCP连接还没有释放,必须等待2∗MSL(最长报文段寿命)时间之后,<客户端进程>才进入CLOSED状态。
◢ 为什么要等待2∗MSL(最长报文段寿命)时间之后,<客户端进程>才进入CLOSED状态?

  1. 确保:<客户端进程ACL确认报文>可以到达<服务端进程>,如未到达,<服务端进程>会超时重发<FIN连接释放报文>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值