首页 > 系统相关 >Linux-网络架构

Linux-网络架构

时间:2024-03-16 18:12:50浏览次数:17  
标签:架构 seq ACK 网络 Linux 服务器 FIN 连接 客户端

1.网线类型

 2.交换机特点

  • 在一个交换机的端口上所连接的所有终端设备,均在一个网段(局域网 LAN)上(称为一个广播域)
  • 产生广播消耗设备CPU资源
  • 终端用户的设备接入,连接交换机. 一般情况下交换机24口,48口,96口.
  • 一个网段会有一个统一的网络标识,网段192.168.15.xxx
  • 企业级交换机会有一些基本的安全功能,这种交换机叫网管功能的交换机.
  • 一般来说交换机工作在OSI模型的第2层,也叫二层交换.(等我们说了OSI7层模型就理解.)
  • 了解:广播域的隔离(创建VLAN 虚拟局域网)
  • 了解:交换机可以隔离冲突域,每一个端口就是一个冲突域

3.路由器特点

  • 路由协议的转发(路由选路,指路)
  • 路由类似于现实生活中从A地去往B地可能需要先步行,在坐车,在做飞机才能到达B地,这样的整个过程在网络中对应数据的传递过程就称
  • 为路由。因此一个数据信息跨越不同的网段传递到目的地址,就可以把传递数据的过程称为路由,也可以看做每条传递数据的路径。
  • 数据转发,会维护一个路由表(相当于一个地图)
  • 路由器会作为网关(数据的出入口,类似于大楼的大门),一般会在网络出口的位置摆放一台路由器
  • 路由器用于连接广域网(公网)

4.通用网站网络架构

5.OSI7层模型

 6.应用层

  • 大部分软件,服务运行在应用层中.
  • 详细含义: 暴露很多接口,提供给其他服务软件使用.主要就是提供应用程序可以接入网络的接口,并根据程序的不同对应不同的接口协议.
  • 接口: 别人定义好的规范.usb接口一样,这里的接口指的是软件的接口,用于软件之间,服务之间相互使用

 7.表示层

 8.会话层

 9.传输层

  • 传输层用于管理或控制连接(端到端连接).
  • 传输层控制了,连接或数据传输是否可靠.指定端口号.
  • 如何指定数据传输是否可靠?根据代码书写的时候指定
    • 可靠的连接. tcp
    • 不可靠的连接. udp
  • 通过端口与对方连接.(访问百度连接百度80或443端口)

 10.网络层

  • 负责将数据从源地址传输到目的地址
  • 主要负责: 主要作用就是路由(指路)和寻址(根据ip地址找人)
    • 提供ip地址(DHCP).
    • 进行路由(问路,指路)(路由表.
  • 设备: 3层路由器,3层交换.

 11.数据链路层

  • 数据链路层:把上层数据进行转换转换为帧(对数据进行处理与加工).
  • 这一层加工数据的时候,增加了MAC地址. 网卡物理地址,网卡生产的时候设置.
  • 数据可以在局域网传输(精确传输). 局域网传输的时候使用的是mac地址.
  • mac地址: 网卡物理地址,世界上独一无二的地址. 

 12.物理层

  • 通过设备的网卡把上面的数据转换为网络介质中可以传输的信号.
  • 把数据转换为0101010内容,通过传输介质传递给对方

13.三次握手

  1. 客户端发出建立连接请求: SYN建立连接请求 . 发出seq的随机数(seq=100).
  2. 服务端收到客户端请求: ACK(确认),SYN(与客户端建立连接) , 发出ack=seq+1(101),seq=随机(666)
  3. 客户端收到服务端请求与确认: 发出ACK确认建立连接 , 发出 ack=seq+1(667) seq=ack(101)
  4. 到此,连接建立,开始传输数据. 

14.四次挥手

  1. 客户端: 发出断开连接请求: (FIN) 断开连接请求,seq=1000 ack=668
  2. 服务端: 收到客户端请求,确认: (ACK) ,确认断开, seq=668 ack=seq+1(1001)
  3. 服务端: 向客户端发出断开连接请求,(FIN)断开连接请求, seq=668 ack=seq+1(1001)
  4. 客户端: 确认收到请求,断开连接, (ACK)确认收到请求, seq=1001 ack=seq+1(669)
  5. 连接断开 

 15.tcp和udp区别

 16.tcp数据包结构

 17.udp数据包结构

18.TCP11种状态

1)三次握手状态

 TCP三次握手状态转换简单说明: 01. 准备 :首先,建立连接之前服务器和客户端的状态都为CLOSED。 02. 准备 :服务器创建socket后开始监听(启动服务),变为LISTEN状态。 03. 客户端:SYN请求 ,客户端请求建立连接,向服务器发送SYN报文,客户端的状态变为 SYN_SENT 。 04. 服务端: 服务器收到客户端的报文后向客户端发送ACK和SYN报文,此时服务器的状态变为 SYN_RCVD (收到了客户 端发送的SYN请求)。 05. 客户端 然后,客户端收到ACK、SYN,就向服务器发送ACK,客户端状态变为ESTABLISHED 06. 服务端 服务器收到客户端的ACK后也变为ESTABLISHED。 此时3次握手完成,连接建立!  2)四次挥手状态

01. 客户端 :客户端先向服务器发送FIN报文,请求断开连接,其状态变为FIN_WAIT1。 02. 服务端 :服务器收到FIN后向客户端发送ACK,服务器状态变为CLOSE_WAIT。 03. 客户端 :客户端收到ACK后就进入FIN_WAIT2状态。此时连接已经断开了一半了。如果服务器还有数据要发送给客户端,就会继 续发送。 04. 服务端 :直到发完了,就发送FIN报文,此时服务器进入LAST_ACK状态。 05. 客户端 :客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态,再过了2MSL长的时间后进入 CLOSED状态。 06. 服务端 :服务器收到客户端的ACK就进入CLOSED状态。  3)第11种状态 CLOSING状态表示: 客户端发了FIN,但客户端在FIN_WAIT1状态时没有收到服务器的ACK确认字段,却收到了服务器的FIN字段,这种情况发生在服务器发 送的ACK丢包的时候,因为网络传输有时会有意外。 

 4)

核心必会: CLOSED , ESTABLISHED , LISTEN , TIME_WAIT . CLOSE_WAIT 逐渐掌握: FIN_WAIT1,FIN_WAIT2,CLOSING,SYN_SENT,LAST_ACK  5)

 19.网络协议小结

 20.DNS解析流程

 21.网络管理命令

 22.抓包小结

标签:架构,seq,ACK,网络,Linux,服务器,FIN,连接,客户端
From: https://www.cnblogs.com/anni-qianqian/p/18065360

相关文章

  • ARM-V7架构(二)
    本节主要介绍ARM指令: GNU汇编语法:GNU汇编语法适用于所有的架构,并不是ARM独享的,GNU汇编由一系列的语句组成,每行一条语句,每条语句有三个可选部分,如下:label:instruction@commentlabel即标号,表示地址位置,有些指令前面可能会有标号,这样就可以通过这个标号得到指令的地......
  • 网络编程4 poll和epoll
    网络编程4了解多路复用IOpollintpoll(structpollfd*fds,nfds_tnfds,inttimeout);函数说明:跟select类似,监控多路IO,但poll不能跨平台.参数说明:fds:传入传出参数,实际上是一个结构体数组fds.fd:要监控的文件描述符fds.events:POLLIN---->读事件POLLOUT-......
  • Linux入门命令讲解
    //========================================================命令提示符,显示了1)当前登录的用户名2)用户当前所在的路径//========================================================linux命令的格式        命令  [选项] [参数]举例:         ......
  • 网络编程笔记目录
    网络编程笔记基础概念socket编程https://www.cnblogs.com/AndreaDO/p/18072371三次握手和四次挥手高并发服务器(多进程与多线程)https://www.cnblogs.com/AndreaDO/p/18073716selecthttps://www.cnblogs.com/AndreaDO/p/18074786poll和epollhttps://www.cnblogs.com/And......
  • Zabbix Server监控eNSP网络设备-1
    ZabbixServer搭建环境准备LinuxServer:Ubuntu22.04ZabbixServer:6.0LTSMySQLServer:8.0.361.Ubuntu配置阿里源1.1备份原始源sudomv/etc/apt/sources.list/etc/apt/sources.list.bak1.2新建源文件sudovim/etc/apt/sources.list1.3添加以下源链接debhtt......
  • ARM-V7架构(一)
    cortex-A7基于ARMV7-A架构,复习一下armv7 ARM-V7的模式类型如下:FIQ快速中断和IRQ外部中断的区别:当一个高优先级中断产生时将会进入FIQ,一般用于高速数据传输和通道处理。当一个低优先级中断产生将会进入IRQ,一般用于通常的中断处理 处理器模式可以通过软件控制进行切换,也可......
  • 超分辨率(2)--基于EDSR网络实现图像超分辨率重建
    目录一.项目介绍二.项目流程详解2.1.构建网络模型2.2.数据集处理2.3.训练模块2.4.测试模块三.测试网络一.项目介绍EDSR全称EnhancedDeepResidualNetworks,是SRResnet的升级版,其对网络结构进行了优化(去除了BN层),省下来的空间可以用于提升模型的size来增强表现力。......
  • <网络安全>《68 微课堂<第9课 常见IT系统集成商简介>》
    1什么是集成商集成商是指那些专门提供系统集成服务的公司,他们通过整合不同的技术、产品和服务,为客户提供一个完整、高效的解决方案。常见的集成商主要包括以下几类:IT系统集成商:这类集成商专注于信息技术领域的集成服务,包括硬件、软件、网络、数据中心等方面的集成。他们......
  • 在Linux服务器上部署中医知识图谱
    在Linux服务器上部署中医知识图谱配置Java环境在Oracle官网或OpenJDK官网下载JDK17安装包,选择与操作系统及系统架构(32位或64位)相匹配的版本,此处使用Ubuntu系统进行演示。使用以下命令解压JDK安装包:tar-xvfjdk-17_linux-x64_bin.tar.gz这将在当前目录下创建一个名为jdk-1......
  • Linux环境下Minio的安装部署与启动教程(完整版)
    1、概述MinIO是一个开源、分布式的对象存储系统,专为云原生环境设计。它提供了一个基于标准的AmazonS3兼容接口,使得开发者可以使用熟悉的API在私有云或边缘环境中部署和管理大规模非结构化数据,如图片、视频、日志文件等。MinIO的核心特点包括:高性能:采用Golang编写,设计时充分考......