网络基础(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

相关文章

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~