第五周作业
简述osi七层模型和TCP/IP五层模型
OSI七层模型从下往上分为:物理层,数据链路层,网络层,传输层,表示层,会话层,应用层
物理层:即物理传输介质,双绞线,光纤,集线器都属于物理层设备
数据链路层:使用数据帧作为传输载体,数据帧结构由源目MAC地址,上层协议类型,数据,校验位组曾,作为数通工程师,比较关注源目MAC地址和协议类型,二层交换机作为二层设备,可以基于源地址学习,基于目的地址转发,从而实现一个广播域内的设备二层通信
网络层:使用IP作为传输载体,IP数据包结构比较复杂,作为数通工程师比较关注其中的 版本(V4或V6),区分服务(QOS),协议(路由协议),源目地址,数据部分,路由器,三层交换机都是三层设备
传输层:分为TCP和UDP协议,使用端口号作为ID识别应用,
0-1023: BSD保留端口,也叫系统端口,这些端口只有系统特许的进程才能使用;
1024~65535为用户端口,又分为:BSD临时端口(1024-5000)和BSD服务器(非特权)端口(5001-65535)。其中:
1024-5000: BSD临时端口,一般的应用程序使用1024到4999来进行通讯;
5001-65535:BSD服务器(非特权)端口,用来给用户自定义端口。
常用的保留TCP端口号有HTTP 80、FTP 20/21、Telnet 23、SMTP 25、DNS 53等;常用的保留UDP端口号有DNS 53、BootP 67(server)/ 68(client)、TFTP 69、SNMP 161等,一般情况下应用的端口号可手动更改
会话层,表示层,应用层这三层,可以合并成应用层,即为具体应用
TCP/IP五层模型
TCP/IP模型类比OSI七层模型 将上层的 会话层,表示层,应用层合并成为了应用层,设备厂家一般都使用TCP/IP模型作为标准,开发自己的产品
总结描述TCP三次握手四次挥手
三次握手:由客户端主动发起
客户端发送syn包给服务器,等待服务器确认,这是第一次握手
服务器收到客户端的syn后,回复ack(syn+1)给客户端,同时发送自己的syn给客户端,这是第二次握手
客户端收到服务器的ack(syn+1)和syn报文后,发送ack报文给服务器(服务器syn+1)连接建立,开始传数据,这是第三次握手
四次挥手:可以由服务器也可以由客户端主动发起
客户端发出释放连接报文,FIN=1,seq=c 并停止数据传输,客户端进入 FIN-WAIT-1状态
服务器收到客户端报文后不会立刻关闭socket,于是发出确认报文,并带上自己的seq发送给客户端,服务器进入CLOSE-WAIT状态;服务器ack=1,ack=c+1,seq=s
客户端收到服务器的确认报文后,进入FIN-WAIT-2状态,此时还会接收服务器发送的数据
服务器将最后的数据发送完毕后向客户端发送 连接释放报文,服务器进入LAST-ACK状态 FIN=1 ACK=c+1 seq=q
客户端收到服务器的连接释放报文后,发送确认报文 ,进入CLOSE状态 ACK=1 ack=q+1 seq=c+1
服务器收到客户端的确认报文后,立即进入CLOSE状态,结束此次TCP连接
描述TCP和UDP区别
TCP属于可靠连接,在传数据之前,源和目的需要先建立连接,即三次握手,断开连接需四次挥手,类似两个人通话,一问一答
UDP属于不可靠连接,传输数据之前不需要建立连接,需要数据的时候直接抓取,类似两个人通话,其中一人一直输出而不用对方应答,等输出完毕就直接结束这次通话;不能保证可靠性,但效率相比TCP协议而言,会比较高,迅雷等P2P软件使用的就是UDP协议
网卡绑定bond0的实现
网卡绑定即将两个或两个以上的物理网卡捆绑成一个逻辑网卡,以提供冗余或者负载均衡功能
首先建立一个bond组,所有网卡配置都在bond组中完成,bond模式有其中,其中比较常用的有Mode0 mode1 mode6
mode0是负载均衡模式,支持容错,一条链路断了,会自动切换至另一条链路,但需交换机配置端口聚合
mode1是主备模式,支持容错,一条链路处于活动状态,另外一条处于standby状态,活动链路断了后,备份链路自动激活,不支持增加带宽
mode6 也是负载均衡模式,但不需要交换机额外配置
生产环境中,用的比较多的是mode0和mode1,虚拟化环境中,管理网使用mode1,业务网使用mode0
同时bond口也支持vlan dot1q功能,使用vlan子接口也是虚拟化环境中比较常见的用法
逻辑bond口创建后,将物理网卡加入逻辑bond口中,即完成了网卡绑定的实现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现