网络结构模式,协议,端口,网络模型,arp

news2024/11/16 7:33:01

网络结构模式(软件结构)

C/S结构

服务器 - 客户机,即 Client - Server(C/S)结构

C/S 结构通常采取两层结构:

  • 服务器负责数据的管理
  • 客户机负责完成与用户的交互任务

在C/S结构中,应用程序分为两部分:

  • 服务器部分是多个用户共享的信息与功能,执行后台服务

    如控制共享数据库的操作

  • 客户机部分为用户所专有,负责执行前台功能

    在出错提示、在线帮助等方面有强大的功能,并且可以在子程序间自由切换

优点:

充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器,所以 C/S 结构客户端响应速度快

B/S结构

B/S 结构(Browser/Server,浏览器/服务器模式)

  • WEB浏览器是客户端最主要的应用软件

这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用

  • 客户机上只要安装一个浏览器,服务器安装数据库

  • 浏览器通过 Web Server 同数据库进行数据交互

缺点:

  • 协议一般是固定的:http/https(无法发送大数据)
  • 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低

MAC地址

网卡

是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件,又称为网络适配器或网
络接口卡NIC

  • 网卡拥有 MAC 地址,使得用户可以通过电缆或无线相互连接

每一个网卡都有一个被称为 MAC 地址的独一无二的 48 位串行号

网卡的主要功能:

1.数据的封装与解封装

2.链路管理

3.数据编码与译码

MAC 地址用于在网络中唯一标识一个网卡

一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址

MAC 地址的长度为 48 位(6个字节)
通常表示为 12 个 16 进制数,如:00-16-EA-AE-3C-40 就是一个MAC 地址
  • ifconfig查看

IP地址

ip协议

在因特网中,IP 协议是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则

只要遵守 IP 协议就可以与因特网互连互通

  • 以太网和分组交换网,因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同,它们相互之间不能通信
  • IP 协议实际上是一套由软件程序组成的协议软件
    • 它把各种不同“帧”统一转换成“IP 数据报”格式
    • 这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通

IP地址

  • IP 地址(Internet Protocol Address)是指互联网协议地址
  • IP 地址是 IP协议提供的一种统一的地址格式
  • 为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异

IP 地址是一个 32 位的二进制数,通常被分割为 4 个“ 8 位二进制数”

(01100100.00000100.00000101.00000110)

IP 地址通常用“点分十进制”表示

把每个8位(1个字节)翻译成十进制,用.分割

IP 地址编址方式

  • 为了便于寻址以及层次化构造网络

    每个 IP 地址包括两个标识码(ID),即网络ID和主机ID

  • 同一个物理网络上的所有主机都使用同一个网络 ID

    网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应

分类ip地址

IP地址={<网络号>,<主机号>}

  • 网络号:主机或路由器所连的网络
  • 主机号:表示这个主机或路由器
  • 网络号在整个互联网范围内唯一
  • 主机号在网络号的网络范围内要唯一
  • 从而:ip地址在整个互联网唯一

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bPTbuO0M-1670162890138)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203161213934.png)]

近年来,路由选择更广泛选择:无分类的ip地址

特殊的地址

  • 每一个字节都为 0 的地址( “0.0.0.0” )对应于当前主机
  • IP 地址中的每一个字节都为 1 的 IP 地址( “255.255.255.255” )是当前子网的广播地址
  • 127.0.0.1 到 127.255.255.255 用于回路测试,如:127.0.0.1可以代表本机IP地址

子网掩码

划分子网

主机号借用若干位作为子网号

—ip地址=网络号+(子网号+主机号)

子网掩码(subnet mask)

来指明一个 IP 地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码

子网掩码只有一个作用:

​ 就是将某个 IP 地址划分成网络地址主机地址两部分。

子网掩码不能单独存在,它必须结合 IP 地址一起使用

  • 子网掩码由 1 和 0 组成,且每一位 1 和 0 连续
  • 网络号:IP地址和子网掩码进行&操作
  • 主机号:IP地址和取反后的子网掩码进行&操作

端口

TCP/IP协议中的端口,是逻辑意义上的端口,指计算机内部或交换机路由器内的端口

  • 可以理解为找到应用进程编号(地址)
  • 一个 IP地址的端口可以有 65536(即:2^16)个之多

一个端口标识了一个读写缓冲区的地址

  • 注意,这里的端口是软件端口,是各种协议进程运输实体进行层间交互的一种地址

端口类型

  • Well Known Ports(熟知端口)

范围从 0 到 1023,它们紧密绑定于一些特定的服务

  • 80 端口分配给 WWW 服务
  • 21 端口分配给 FTP 服务
  • 23 端口分配给
    Telnet服务
  • 注册端口(Registered Ports)

端口号从 1024 到 49151,它们松散地绑定于一些服务,给没有熟知端口号的应用程序使用

前两个都给服务器使用

范围从 49152 到 65535是:动态或短暂端口号,在客户端进程动态选择,结束回收

网络模型

OSI 七层参考模型

国际标准化组织(ISO)制定的一个用于计算机或通信系统互联的标准体系

  1. 物理层-----定义物理设备标准,主要作用是传输比特流

    • 由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,J也就是数模转换与模数转换
    • 这一层的数据叫做比特
  2. 数据链路层----建立逻辑连接、进行硬件地址寻址差错校验等功能

  • 定义了如何让格式化数据帧为单位进行传输
  • 比特组合成字节进而组合成,用MAC地址访问介质
  1. 网络层----进行逻辑地址(IP)寻址

在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择

  • 网络层正是管理这种连接的层
  1. 传输层----定义了一些传输数据的协议端口

TCP:传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP:用户数据报协议,用于传输可靠性要求不高,数据量小的数据

将从下层接收的数据进行分段和传输,到达目的地址后再进行重组

  • 常常把一层数据叫做
  • 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路

    主要在你的系统之间发起会话或者接受会话请求

  • 表示层:数据的表示、安全、压缩

    主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等

  • 应用层:网络服务与最终用户的一个接口

    这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务

TCP/IP 四层模型

Internet(因特网)使用的主流协议族是 TCP/IP 协议族,它是一个分层、多协议的通信体系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hSLjtO5O-1670162890140)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203173438400.png)]

由于传输层和网络层在网络协议中的地位十分重要,所以在 TCP/IP 协议中它们被作为独立的两个
层次。

  • 传输层:作为 TCP/IP 协议的第二层,运输层在整个 TCP/IP 协议中起到了中流砥柱的作用

    且在运输层中, TCP 和 UDP 也同样起到了中流砥柱的作用。

  • 网络层:在 TCP/IP 协议中网络层可以进行网络连接的建立和终止以及 IP 地址的寻找等功能。

路由器在主机间转发分组

只使用到了网络层,没有用到传输层

TCP/IP的实际使用

某些应用层可以直接使用ip层,甚至直接使用网络接口层

协议

网络协议的简称,网络协议通信计算机双方必须共同遵从的一组约定

它的三要素是:语法、语义、时序

  • 语法:如何拼接数据
  • 语义:每个包的含义
  • 时序:拼接顺序

它最终体现为:在网络上传输的数据包的格式

协议往往分成几个层次进行定义

分层是为了:使某一层协议的改变不影响其他层次的协议

常见协议

  • 应用层常见的协议
    • FTP协议(File Transfer Protocol 文件传输协议)
    • HTTP协议(Hyper TextTransfer Protocol 超文本传输协议)
  • 传输层常见协议
    • TCP协议(Transmission Control Protocol 传输控制协议)
    • UDP协议(UserDatagram Protocol 用户数据报协议
  • 网络层常见协议
    • IP 协议(Internet Protocol 因特网互联协议)
    • ICMP 协议(Internet Control Message Protocol 因特网控制报文协议)
    • IGMP 协议(Internet Group Management Protocol 因特网组管理协议)
  • 网络接口层常见协议
    • ARP协议(Address Resolution Protocol 地址解析协议)
    • RARP协议(Reverse Address Resolution Protocol 反向地址解析协议)

UDP协议

  • 校验和:检测UDP用户数据报在传输中是否有错,有错就丢弃

TCP协议

首部长度(数据偏移):TCP 报文段的数据起始处距离 TCP 报文段首部的起始处有多远

IP地址

  • 总长度:指首部加上数据的总长度

  • 标志(flag):

    • MF = 1 即表示后面“还有分片”的数据报

    • MF = 0 表示这已是若干数据报片中的最后一个

    • 标志字段中间的一位记为 DF,意思是“不能分片”,只有当 DF = 0 时才允许分片

  • 协议:

    指出此数据报携带的数据要提交给上层所使用的协议

    目的:以便使目的主机的 IP 层知道应将数据部分上交给哪个处理过程

    常用的 ICMP(1),IGMP(2),TCP(6),UDP(17),IPv6(41)

以太网帧协议

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rnry0IzR-1670162890141)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203182318000.png)]

ARP协议

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZuV4tGDa-1670162890142)(/home/guojiawei/Desktop/arp.png)]

网络通信过程

封装

上层协议使用下层协议提供的服务是通过封装实现的

什么是封装

每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程就称为封装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gw1bvJGw-1670162890142)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203210728195.png)]

分用

当帧到达目的主机时,将沿着协议栈自底向上依次传递

什么是分用

各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序,这个过程称为分用(demultiplexing)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9rjTgPD-1670162890143)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203211113162.png)]

封装就是源主机自上而下封装数据,分用就是目的主机自下而上解析数据

数据发送过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x72GSov8-1670162890144)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203211339490.png)]

具体例子

假设:

  • 源主机和目的主机用QQ发消息

  • 源主机和目的主机的端口号都是2425

  • 源主机的ip地址:192.168.1.1

    目的主机的ip地址:192.168.1.3

  • 源主机的mac地址: 01:02:03:04:05:06(每个数字16进制)

    目的主机的mac地址:0a:0b:0c:0d:0e:0f

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WVki5ivJ-1670162890145)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203221008494.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jfYvaek4-1670162890145)(/home/guojiawei/.config/Typora/typora-user-images/image-20221203221056270.png)]

ARP:通过ip寻找mac

arp:会把IP地址和物理地址缓存在主机上

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orvyenkZ-1670162890146)(/home/guojiawei/.config/Typora/typora-user-images/image-20221204165346611.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aCgFzRaG-1670162890147)(/home/guojiawei/.config/Typora/typora-user-images/image-20221204220455667.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hPgWn6H-1670162890148)(/home/guojiawei/.config/Typora/typora-user-images/image-20221204220526578.png)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

koa 和 express 的对比

前言 天冷了&#xff0c;唯有学习来温暖自己。 最近利用业余的时间&#xff0c;跟着 coderwhy 老师学习 node.js&#xff0c;了解以及掌握一些服务端的常见知识&#xff1a; fileSystem&#xff1a;文件读取模块。events&#xff1a;事件流Buffer&#xff1a;node 中处理二进…

高仿英雄联盟游戏网页制作作业 英雄联盟LOL游戏HTML网页设计模板 简单学生网页设计 静态HTML CSS网站制作成品

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

Java—代理

文章目录先举一个例子&#xff1a;开闭原则什么是代理两种调用的方式&#xff1a;代理定义&#xff1a;代理的实现方式静态代理代理的目的&#xff1a;如何让程序知道要增强的功能是谁&#xff1f;静态代理缺点&#xff1a;动态代理什么是动态代理动态代理的实现静态代理和动态…

26. SAP ABAP OData Gateway 框架里 /IWFND, /IWBEP 这些缩写代表了什么含义?

文章目录 GWFNDBEP本文参考链接本教程前一篇文章 - 25. 答疑 - SAP OData 框架处理 Metadata 元数据请求的实现细节,前后端组件部署在同一台物理服务器,我们深入了 SAP ABAP OData 框架来学习其元数据请求的执行明细。 我们在文章里看到了不少以 /IWFND/, /IWBEP 这些命名空…

MAUI Blazor (Windows) App 动态设置窗口标题

原文链接 https://www.cnblogs.com/densen2014/p/16950996.html 接着上一篇"如何为面向 Windows 的 MAUI Blazor 应用程序设置窗口标题&#xff1f;" Tips: 总所周知,MAUI 除了 Windows App 其他平台窗口是没有 Title 这回事的. 在 Blazor 里面可以直接给页面打上…

时间轴-新年倒计时(实操java)

文章目录一、前言二、前端代码实现1、效果图年月日倒计时秒杀1天倒计时秒杀60秒倒计时2、代码实操&#xff08;微信小程序前端&#xff09;①在utils文件夹下新建js文件&#xff1a;getperiod.js工具类②引入js&#xff0c;在页面index.js开头引入③完整代码3、倒计时实现①1天…

学习python第一天(数据类型)

关于Python的数据类型 Python数据类型包括&#xff1a; 数字类型&#xff0c;字符类型&#xff0c;布尔类型&#xff0c;空类型&#xff0c;列表类型&#xff0c;元组类型&#xff0c;字典类型 1、数字类型 包括&#xff1a;整型int 浮点型float(有小数位的都是是浮点型) 注…

自己写Spring组件-01手写Bean注册器

简介 在进行web开发的时候&#xff0c;我们经常使用Component、Services、Controller等注解去声明Bean&#xff0c;然后Spring就会帮我们注册。 如果我们想要自己写一个组件&#xff08;方便后期使用&#xff09;&#xff0c;进行无感引入的时候&#xff0c;就需要自己去注册B…

【计算机网络】计算机网络复习总结 ----- 链路层

计算机网络 内容管理数据链路层 Data Link Layer相关概念术语link 链路data link 数据链路帧 frameMTU maximum transfer Unit 最大传送单元PPP point to point Protcol 点对点协议MAC 地址 media access control网桥 bridge交换机 switch成帧 规则成帧定界字符计数法字符填充分…

QT:文件介绍

UI&#xff1a;QT程序中使用的ui界面就保存在该文件中 组件 设置当前组件的属性 点谁显示谁的属性 调整最终页面的布局&#xff0c;使组件控件在水平或对齐 调整因页面放大缩小时&#xff0c;控件与控件之间的水平和垂直间距 各种各样的按钮 图像显示有关的视图 列表框 各…

Gradle学习笔记之Groovy简单使用

简介 groovy可以当成java的脚本化改良版&#xff0c;同样运行于JVM之上&#xff0c;可以很好地和java代码及相关库进行交互&#xff0c;既可以面向对象编程&#xff0c;也可以用作纯粹的脚本语言。Groovy支持动态类型转换、闭包、元编程、函数式编程、默认作用域为public&…

ArcGIS基础:使用线段分割面数据操作

本操作主要是实现线要素对面要素的分割。 先看一下原始数据&#xff0c;如下所示&#xff0c;2个面&#xff0c;1条线&#xff0c;面被线贯穿过去。 首先进行【面转线】操作&#xff0c;以提取面要素的边界线&#xff0c;如下所示 提取结果如下所示&#xff1a; 然后进行【…

java认证与证书

本文内容主要来自《Java加密与解密的艺术》 目前主要有JKS和PEM两种编码格式文件。 JKS&#xff08;Java Key Store&#xff09;&#xff0c;Java原生的密钥库/信任库文件。**PEM&#xff08;Privacy Enbanced Mail&#xff0c;隐私增强邮件&#xff09;**是使用多种加密方法提…

2022-12-04一周学习

这周基本上还是在对前端学习的更多一点&#xff0c;主要是之前没有重视vue3的学习,现在在补上来&#xff0c;学习了vue3的一些知识&#xff0c;前端的权限管理&#xff0c;设置路由守卫&#xff0c;pinia&#xff0c;还学习了redis的一些基本操作&#xff0c;之前只是照搬了别人…

Linux的线程创建

对于任何一个进程来讲&#xff0c;即便我们没有主动去创建线程&#xff0c;进程也是默认有一个主线程的。线程是负责执行二进制指令的&#xff0c;它会根据项目执行计划书&#xff0c;一行一行执行下去。进程要比线程管的宽多了&#xff0c;除了执行指令之外&#xff0c;内存、…

二、演练领域驱动的设计过程

一、业务分析&#xff1a;统一语言与事件风暴 1、统一语言&#xff1a; 客户明白自己的领域知识也就是业务&#xff0c;以及自己需要解决的问题&#xff0c;也叫做痛点&#xff0c;但是不知道技术。技术人员知道技术&#xff0c;但是不了解客户的业务。所以两者交流起来往往会…

[附源码]计算机毕业设计物品捎带系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

finereport公式帮助

1 if(inarray($$$,ds1.select(销售员))<$TOPN,$$$,"其他")&#xff0c;将第 N 个销售员之后的所有销售员合并为其他&#xff0c; 2 "["((roundup($$$/$num)-1)*$num1)"~"(roundup($$$/$num)*$num)"]" 3 SQL语句用if语句&#xff0c…

HTML网页设计作业:文化网站设计——基于HTML古典中国风工艺美术网页设计(9页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

SpringBoot @InitBinder注解绑定请求参数

参考资料 springMVC之InitBinder 和 ValidatorspringMVC之InitBinder的用法1springMVC之InitBinder的用法2 目录一. 作用二. 前期准备三. Get请求 URL传值处理3.1 前台-test16.html3.2 Controller层3.3 效果四. Post请求 表单传值 自定义日期属性绑定器4.1 前台-test16.htm…