网络基础(day3)建议在电脑端注册登陆观看!!!

2024-04-25 11:12

本文主要是介绍网络基础(day3)建议在电脑端注册登陆观看!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【 理论重点】 

  网络是什么?

(网络是载体,目的是传输互联网中的数据,数据是终端产生<手机、电脑、服务器等>。)

  如何组件网络(良性网络架构)?有网络架构思维,得按层次来组!

  网络运行得遵循一定的规则和标准!

  配置:不只是连接在一起,还要考虑它的层次和它的网络质量,还包括带宽、峰值都要考      虑。 交换机、路由器、防火墙、无线控制器服务器(在服务器里面配网)【硬件设备】

  如何配置?    输入命令配置    GUI(图形用户界面)   CLI(命令行界面)

【网络  internet】

通过网络把计算机连系在一起,共享数据和资源。

三大要素 

1: 终端设备(phone  pad  ......)  PC      server(服务器)   ---->能承载应用程序的设备

2:传输介质(线缆)    通过线缆传输数据信号(有线,骨干)    无线设备--->无线电磁波   

3:网络设备  路由器、交换机......   AP(access point  无线接入点)---->数据封装

一、网络架构

1、园区网络架构(企业网络)【经典园区网络平面架构图】

 企业、学校、公司、医院、厂房他们的网络架构都大差不差!只不过有大有小!

分部A、分部B、分部C和总部是一个网段吗?不可能是同一个网段!

2、网络园区基本拓扑结构

               三层交换机                           二层交换机

                           

 


【网络协议】:在计算机网络中,为了保障数据交换的约束和标准,是网络上所有设备之间通信规则的集合,规定了通信必须要采用的数据格式,遵循协议才可以完成点到点的网络通信,实现某些特定功能。由于网络采用分层体系结构,所以每一层网络都存在诸多协议。

二、网络协议栈

1、OSI参考模型:根据网络功能规定了七个功能模块。 【背会】

由于私有标准的不规范,国际组织iso规定了网络运行的公有标准OSI。遵循同一个标准,无论使用任何厂商的网络设备,都会兼容。

7应用层      ------->为应用程序提供网络服务   (PC   MAC   IOS    Andorid)

6表示层      ------->数据格式化加密、解密、压缩、解压缩、编码、解编码!

5会话层      ------->建立、维护、管理会话连接   (应用程序的连接会话)

4传输层      ------->建立、维护、管理端到端连接 (数据流切片)(TCP / UDP)

3网络层      ------->ip寻址和路由选择  (在因特网中遵循的协议   IP协议  ICMP)

2数据链路层  ------->控制网络层与物理层之间的通信(局域网协议--->以太网协议 (令牌环网) )

1物理层      ------->比特流传输   (分解为比特,转换为脉冲信号,通过物理介质发送出去)

  • 2【数据链路层】最重要的标准就是以太网协议。以太网可以说是占据99.99%。MAC地址是以太网独有的。
  • 3【网络层】最重要的协议是IP协议。(IPV4和IPV6)
  • 4【传输层】主要的协议是TCP 和UDP,传输层的作用就是建立端口、维护和管理端到端的直接的连接。

  程序一旦运行起来就变成进程了,有对应的PID。

【端口号】就是已经运行的网络对应进程的标识!

  在网络传输中,端口号不是无限的,极限值是65535个!【范围是1-65535!】

【1-1023】 特权用户、是固定分配给内核的!不能注册的! 例:80

【1024-30000多】约定俗成的端口  例:3306 数据库

【30000】客户端端口、随机端口。

在传输层之内也是要进行数据封装的,被称为数据段。段是可以进行切片的,会以MSS的方式进行切,最大分片大小为1460【极限】

MTU:最大传输单元   1500   MSS(最大分片大小)

TCP协议:是一种面向连接协议(保证应用程序数据连接的可靠性)

UDP协议:是一种无连接协议 (只管发送的传输,但不保证能传到。)

【win+R 】——>【cmd】——>【netstat  -tan】  

例:

  • 下层为上层提供服务,上层依赖下层。网络问题【由下而上】依次排查!
  • 上层必须依赖于下层!上层脱离下层,数据传输不出去! 
  • 【封装】从上到下   【解封装】从下到上

【封装】:

  • 首先应用层要提供网络服务,如:在QQ的进程里写上“祝你一切都好”,纯数据载荷部分。
  • 表示层里标示用什么编码,用什么压缩方式,用什么加密方式,要表示清楚。
  • 要通知对应的QQ端,要建立会话,会话层

【这三个是应用层的】

  • 到了传输层要告诉对端主机,我是用哪个应用程序发出来的,我要发给哪个应用程序,端口号,HTTP:80(浏览网页服务默认的端口号都是80
  • 网络层,进入路由器,路由器不管你是从哪个应用程序发出来的,负责转包,要找到对应的IIP地址(原IP和目标IP)。
  • 数据链路层交换机:能看懂MAC地址,识别以太网,封装原MAC和目标MAC。本局域网的话,原、目标MAC都知道;非本局域网的封装目标MAC为路由器网关的MAC地址。
  • 打碎交给操作系统,再交给网卡,打碎,变成比特流物理层,基于网线就发过去了。

【解封装】:从下到上的解封装,将上面的流程逆向走一遍!如下图所示!

数据报文也叫数据包!!!

无论是什么样的数据报文、数据段、数据帧在网上传输是有规定的范围大小的,最大是1500字节。.1500是加了报头的,纯数据部分可能最多只有1460,要是做了扩展报文,可能不到1400。

MTU:最大传输单元   1500   对于数据帧来说,数据报头和纯数据部分不能超过1500.。

MSS(最大分片大小):在传输层,去掉包头部分,剩下的内容主体部分最大为1460.。超过1460就要分片。

2、TCP/IP协议栈(TCP/IP四层模型,当前使用的,主流!功能强大、简单!

传输层(主机-主机层):对接上层,有个特定的文件表示网络传输的状态叫套接字(socket)。

网络层 :以太网协议可以认为是硬件加上软件的一个合体的协议。规定了物理层标准,用什么样的网线,传输介质标准。

  • Linux中的哲学思想, 一切皆文件!

  • 网络传过来的流量,要以文件的形式存储在我们的文件系统里面。这个文件就叫套接字文件! IP:port

  • OSI七层模型的上四层叫资源子网,下三层叫通信子网,通信子网和资源子网之间是需要套接的,有特定的文件叫套接字。

  • 网络连进来形成端对端的连接,就会形成一个紫色的套接字文件!端对端释放了,套接字就不存在了。

 三、网络层协议(IP协议)

网络层是OSI模型中的第三层。网络层提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。

【IPV4】 传统意义上做数据封装,最少要20字节!                    

 版本:IPV4或者IPV6(但这里是IPV4)

生存时间(TTL):跳数(数据包在网络中转发,经过的路由器的数量    255跳之内)

协议:和IP层x相关的一些协议,上层协议!

IPV4的缺陷:1:地址太少    2:不算太安全    3:传输质量比IPV6稍弱

                            


 四、传输层(TCP和UDP)协议和报头 【重点】

作用:

①:应用程序产生的数据流进行4层切片

②:每一个数据切片前面添加传输层报头(包含原应用程序的端口号)。

    端口号  1-65535   

可以使用的端口号:

1-1023         (知名的应用端口号   一一对应,不更改。例如http)

1024-65535 (非知名应用端口号  随机对应)

TCP协议:是一种面向连接协议(保证应用程序数据连接的可靠性)连接完成之后才能创建协议。

UDP协议:是一种无连接协议 (尽力而为的传输,但不保证)没有状态,会丢包。

【TCP可靠连接原理】:

①流控功能

②防止传输乱序

③确定传输是否丢包,具有重传能力

④完整性检查


 【TCP报头】                                 

确认号(ack)要和标志位的ACK同步使用的!

【TCP的六大基本标志位】:每一个标志位表示一个控制功能。【重点必背】

1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。


【UDP报头】


 五、TCP三次握手和四次断开  【重点】

【TCP和UDP优缺点】

TCP

优点:可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

缺点:传输效率偏慢,效率一般,消耗带宽高,占用系统资源高。

安全性相对弱,例如DOS攻击(拒绝服务攻击)  ddos  网咯流入流量突然很大,导致正常服务无法运行,服务器崩溃。

拒绝三次握手(消耗CPU、内存、带宽)

TCP是点到点协议,比较死板。只能单播。

UDP

优点:效率高、快、比TCP相对安全,无需三次握手四次断开,被攻击的漏洞少。

缺点:不稳定、不可靠,网络质量不好的时候,很容易丢包。


六、一个完整的数据封装

Ethernet2 | ipv4 | TCP | HTTP | FCS

Ethernet2 |ipv4 |UDP| rtp| Voip | FCS        (Voip语音控制协议)

TCP对应的应用层的一些协议【背】
(21):FTP文件传输协议
22:安全的远程登录协议   SSH
23:telnet协议(不完全的远程登陆协议)
25:简单邮件传输协议(SMTP)
53:域名解析协议  (DNS)
80:超文本传输协议 (HTTP)
443:安全的超文本传输协议 (HTTPS)

110:POP3(收邮件的)

143:imap(收邮件的)

这篇关于网络基础(day3)建议在电脑端注册登陆观看!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934523

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解