• 计算机网络(01)


    计算机网络

    1、网络节点

    节点和边缘。计算机网络中节点有主机节点和数据中转节点。

    数据中转节点如交换机和路由器。

    边:通信链路

    接入链路:和主机节点连接的链路

    主干链路:路由器间的链路

    这样互联网就可以看成三个子系统:边缘系统,核心系统,接入系统


    2、网络协议

    对等层的实体在通信过程中应该遵守的规范的集合。

    PDU:协议数据单元。PDU在每个层次上都有不同的特质。。。


    3、网络核心

    电路交换:特点是需要 线路建立,资源独享

    分组交换:以分组为单位(package)存储-转发方式。包在经过每一个链路的时候,使用带宽的 全部

    需要把整个分组完全存下来,再转发。换取资源共享性,此时没有数据传的时候不会占用网络资源。

    排队和延迟:如果到达速率>链路的输出速率

    分组将会排队,等待传输。如果路由器的缓存用完了,分组将会被抛弃

    • 数据报:无需建立连接,是无状态路由器。来分组就转走,此时路由器不维护主机和主机之间的通信状态。
    • 虚电路:靠信令建立连接

    4、接入网络

    无线接入和有线接入。

    接入网络的带宽,,是共享还是独有。。

    modem(调制解调器)

    在音频的载波上加载上网的数据,进行访问互联网。

    dsl:利用电话线上网

    adsl:利用电话线上网


    MAC与IP地址

    MAC地址

    每一块网卡带有的ROM(只读存储器)中,都预先烧录了一个唯一的MAC地址。

    MAC地址=制造厂商编号+产品编号

    所以世界上每一个MAC地址都是独一无二的

    数据在传递过程中的ip地址基本不变、但mac地址会随着结点转发而发生变化

    MAC地址长度为48比特【6字节】,按照惯例有下面2种写法

    1、用“-”分隔

    1C-4D-70-FA-52-12

    2、用“:”分隔

    1C:4D:70:FA:5212

    MAC地址用于在网络种唯一标识一个网卡,一台设备若有多个网卡,则每个网卡都需要并会有一个唯一的MAC地址


    IP地址

    在互联网中,一个IP地址用于唯一标识一个网络接口(Network Interface)

    IP地址实际上并不是分配给计算机的,而是分配给网卡的,因此计算机上存在多块网卡时,每一块网卡都会有自己的IP地址

    通过ip地址可以轻松对计算机进行分组管理,通常把ip中表示分组部分的称为“网络地址”,表示组内各台计算机的部分称为“主机地址”

     IP地址 = 网络地址 + 主机地址(又称:主机号和网络号组成)

    ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255


    子网掩码

    子网掩码的作用:标识出32比特的IP地址中,从哪一位到哪一位是网络地址,从哪一位到哪一位是主机地址。

    子网掩码中左边连续的1的个数代表网络号的长度(使用时必须是连续的),右边连续的0的个数代表主机号的长度。

    也可以通过子网掩码和ip地址按位“逻辑与”,得到主机的网络号,如果俩台计算机网络号相同,则表示俩台计算机属于同一网络

    C类IP地址默认的子网掩码是255.255.255.0


    网关(Gateway)

    网关(Gateway)

    • 网络号相同的主机称之为本地网络,本地网络中的主机可以直接相互通信
    • 网络号不相同的主机称之为远程网络主机,远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。

    网络号相同的主机处于同一个网段,网关(Gateway)就是到其他网段的出口。

    在计算机的“Internet‘协议(TCP/IP)设置中,如果没有指定默认网关,则通信仅局限于本地网络

    默认网关

    通常会把路由器的ip地址设置为默认网关。也就是说路由器是从LAN通往互联网世界的入口。


    ARP地址解析协议

    ARP 地址解析协议:用于实现IP地址到MAC地址的转换

    ARP工作方式:

    会用广播方式对LAN内所有的计算机提问,“有谁的IP地址是XXX.XXX.XX.XX”吗,有的话请把你的MAC地址告诉我。

    ARP缓存表

    当向各个计算机都问完一轮之后,ARP会把得到的MAC地址和IP地址关系缓存起来(内存)

    arp -a  //查看arp缓存表内容

    域名系统(DNS)

    域名层次结构

    域名由两个或两个以上的词构成,中间由点号分隔开,最右边的那个词称为顶级域名

    1. com:最常见的顶级域名[大多数公司,商业结构],如www.baidu.com
    2. org:表示“组织”,通常用于非营利性组织

    域名唯一性保证:每个机构或子机构去只要确保下一级的名字不重复就可以。


    域名解析

    域名解析作用:将域名转为ip地址

    dns解析过程分三步:

    1.  1、缓存查找IP
    2.  2、本机的hosts文件查找IP
    3.  3、DNS服务器查找IP

    先说DNS服务器查找IP,将希望得到解析的主机向DNS服务器发送询问报文,DNS服务器运行解析器软件查找相应的ip地址,找到后回答一个相应的应答报文。

    若被询问的DNS服务器无法解析时,会向它上一级DNS服务器询问,依次类推,

    1. 直到解析完成
    2. 或者询问完所有的DNS服务器失败为止

    当我们使用域名访问某一个网站时,实际上就是将请求包(以Http请求为例)通过网络传输给某台服务器,比如访问域名“www.baidu.com”时:

    DNS 负责把域名翻译成对应的 IP,客户端再根据 IP 地址访问服务器

    有一个特殊的本机域名 localhost ,它对应的 IP 地址总是本机地址 127.0.0.1 


    DNS服务器

    DNS系统是由分布在世界各地的DNS服务器组成的,DNS服务器用于域名解析。

    域名解析是由DNS系统来负责的,DNS服务接收外部请求,从请求里提取域名。再拿着这个域名去做下面这俩件事:

    1. 将一个域名解析为一个IP地址
    2. 将一个域名解析为另外一个域名(CNAME别名)

    别名记录。这种记录允许您将多个名字映射到另外一个域名。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。这两个别名的全称就 http://www.mydomain.com/和“mail.mydomain.com”。实际上他们都指向 “host.mydomain.com”。通常称别名指向。

    最终返回一个ip地址给发送者。发送者拿到IP地址之后,才去完成真正的请求调用。

    但是,仔细想一下。为什么你给它一个域名,他就能知道对应的ip呢?

    是提前就在DNS服务器上注册过了吗


    hosts文件

    windows系统中hosts文件地址:

    C:\Windows\System32\drivers\etc\hosts

    Linux或者Mac系统中,hosts文件在/etc/hosts 文件中。

    作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”

    用户在浏览器中输入url,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页。

    如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析,如果发现是被屏蔽的IP或域名,就会禁止打开此网页!

    SwitchHosts官网

    SwitchHosts 可以帮助快速切换不同的 hosts 设置、编辑 hosts 文件


    DNS缓存

    DNS缓存指DNS返回了正确的IP之后,

    系统就会将这个结果临时储存起来。并且它会为缓存设定一个失效时间 (例如N小时),在这N小时之内,当你再次访问这个网站时,系统就会直接从你电脑本地的DNS缓存中把结果交还给你,而不必再去询问DNS服务器,变相“加速”了网址的解析。

    清理DNS缓存

    有些时候,某些网站因域名DNS服务器地址变更,而我们的电脑还停留在历史访问的DNS缓存上,这样就会出现访问网站解析出错,需要手动去更新清除电脑DNS缓存

    使用cmd命令进入命令行窗口

    在打开的窗口中输入 ipconfig/flushdns 按回车键


    DHCP服务器

    动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。

    DHCP作用: 为客户机分发IP地址、子网掩码、网关、DNS服务器、租期等参数。

    dhcp服务器上记录着可以被分配到局域网内计算机的IP地址范围和子网掩码的值。

    可以手动设置ip地址和子网掩码,但是大多数情况下还是选择“自动获得ip地址”,这个选项会使计算机在启动时去DHCP服务器获取ip地址和子网掩码,并自动配置它们 

    DHCP客户机使用的ip地址的使用是有期限的,一般DHCP客户机使用分配的IP地址到了租期的50%时,会主动向DHCP发送续约请求,DHCP服务器接收到续约请求后,会检查此ip有没有被别的客户机抢占,如果没有就继续续约,如果此IP地址被其他客户机使用,就续约不成功,此时客户机将会重新发起DHCP discovery请求,请求获取新的IP。

    对于本地DNS服务器地址,Windows系统使用命令ipconfig /all就可以查看


    四层网络模型

    这层功能是什么,向上层提供服务

    链路层

    点到点(提供相邻俩点)

    负责数据帧的发送和接收

    网络层

    端到端(多个点到点),网络层基本功能是路由和转发

    1. 通过路由算法使得数据报独立到达目的地
    2. 网络层来看,通信的俩端是俩个主机,实际上是俩个主机的应用进程相互通信。

    传统方式:

    IP 协议:IP 协议位于网络层,IP 协议只负责发数据包,不保证顺序和正确性(尽力而为

    路由协议:跟其他路由器交换路由信息,按照路由选择算法算出路由表,路由表由ip协议使用。

    路由器收到ip分组的时候,根据标识的目标ip地址查路由表,找到相应的表项从合适的端口转出去

    sdn方式:

    数据平面:交换机

    控制


    传输层

    套接字socket=ip地址+端口号,在网络上唯一标识了传输层的一个通信端口。

    1. 传输层在计算机之间提供端到端的通信,端点就是主机中的应用进程。端口标识了应用层中不同的进程。
    2. 传输层分为2种传输协议tcp和udp,分别用来满足传输不同性质应用层的需要

    TCP 协议:TCP 协议位于传输层,负责在源主机和目标主机之间建立可靠的连接并确保数据的有序传输。


    应用层

    按照应用层协议交换应用层报文

    1. 文件传送协议:ftp
    2. 远程登录协议:telnet
    3. 邮件传输协议:smtp
    4. 超文本传输协议:http

    发送数据时,数据从高层一层一层地封装到低层,然后才到通信链路上传输


    TCP/IP协议

    • 协议是水平的,是控制对等实体之间通信的规则的
    • 服务是下层对上层通过层间接口提供的

    TCP/IP 协议泛指互联网协议,其中最重要的两个协议是 TCP 协议和 IP 协议。只有使用 TCP/IP 协议的计算机才能够联入互联网,使用其他网络协议是无法联入互联网的

    TCP/IP协议【理解1】

    • IP 协议只负责发数据包,不保证顺序和正确性
    • TCP 协议负责控制数据包传输,它在传输数据之前需要先建立连接,建立连接后才能传输数据,传输完后还需要断开连接。

    TCP/IP协议【理解2】

    • IP 协议位于网络层,负责将数据包从源主机路 由到目标主机;
    • TCP 协议位于传输层,负责在源主机和目标主机之间建立可靠的连接并确保数据的有序传输。

    UDP协议

    UDP 协议

    UDP 协议(User Datagram Protocol)是一种数据报文协议,它是无连接协议,不保证可靠传输

    因为 UDP 协议在通信前不需要建立连接,因此它的传输效率比 TCP 高,

    UDP协议如多媒体的麦克风,对实时性要求非常高

    发送端和接收端

    • 将数据、源、目的封装成数据包,不需要建立连接
    • 每个数据报的大小限制在64K内
    • 因无需连接,故是不可靠的
    • 发送数据结束时无需释放资源,速度快


    ping telnet

    ping,一种计算机网络工具,用来测试数据包能否透过 IP 协议到达特定主机。ping 会向目标主机发出一个ICMP 的请求回显数据包,并等待接收回显响应数据包。

    telnet,Internet 远程登录服务的标准协议和主要方式,可以让我们坐在家里的计算机面前,登录到另一台

    远在天涯海角的远程计算机上。

    在 Windows 系统中,telnet 一般是默认安装的,但未激活(可以在控制面板中激活它

    当然,在telnet中给服务器发送数据的时候,就没法看到服务器的响应了。。很鸡肋。

    同事给我的,NetAssist.exe 网络调试工具


    TCP(传输控制)协议

    TCP协议是传输控制协议,它是面向连接的协议,支持可靠传输和双向通信

    面向连接和有连接是不一样

    可靠包括:不重复不出错不乱序。归结:原原本本

    TCP报文段的首部格式

    TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个报文段分为首部和数据俩部分。只有弄清TCP首部各字段的作用才能掌握TCP的工作原理

    TCP报文段首部的20字节是固定的,后面有 4n 字节是根据需要而增加的选项 (n 是整数),因此TCP首部的最小长度是20字节。最大长度是60字节,由数据偏移确定1

    20固定字节:

    1、源端口和目的端口,各占2字节,共占4字节

    2、序号占4字节

    3、确认号占4字节

    4、数据偏移占4位、保留占6位、这里面的各占一位[紧急URG、确认ACK、推送PSH、复位RST、同步SYN、终止FIN]、窗口占2字节

    5、校验和占2字节、紧急指针占2字节


    三次握手、四次挥手

    面向连接的服务是一种可靠的服务,整个连接生存周期包括3个阶段(建立连接、数据传输、释放连接)

    为了保证传输连接的可靠建立与释放,TCP使用了三次握手。

    TCP虚电路


    TCP流量控制(滑动窗口)

    TCP拥塞控制


    TCP报文段

    传输层所传输的数据报称为传输协议数据单元(TPDU)。根据协议不同分为TCP报文段和UDP数据报,UDP数据报也称为用户数据报。

    TCP报文段分为俩部分,前面是报头,后面是数据。

    TCP报文的布局

    每个字段的意义:
     


    客户端和服务端

    • 使用TCP协议前,须先建立TCP连接,形成传输数据通道
    • 传输前,采用“三次握手”方式,是可靠的
    • 在连接中可进行大数据量的传输
    • 传输完毕,需释放已建立的连接,效率低
    • 优点:可靠,安全,但是效率低。【每一次发送数据都要服务端确认】

    FIle协议

    FIle协议也叫本地文件传输协议 ,主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。

    1. file:///文件路径
    2. file://127.0.0.1/C:/       本地C盘
    3. file://localhost/D:/        本地D盘
    4. file:///E:/                       本地E盘

    如在浏览器地址栏输入

    • file协议只能在本地访问,file无法实现跨域

    file协议对应有一个类似http的远程访问,就是ftp协议,即文件传输协议

    FTP服务器有两大部分组成:一个主进程,负责接受新的请求;还有若干从属进程,负责处理单个请求`。
    其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议

    且file协议,通常只能在Windows Explorer和Micosoft IE中使用!


    组网技术

    vlan虚拟局域网

    广播域:一个主机发了个广播,arp、dhcp,这个这个广播包所能到达的范围叫广播域。vlan可以分割广播域

    vlan之间相互隔离,保密性强。vlan之间通信需要使用路由器这样的设备才能进行

    交换机接口类型:access和trunk

    Access用来接入终端,电脑,打印机,服务器

    Trunk用来连接另一台交换机的,一个数据包经过trunk,会携带vlan标签,表明这个数据包是哪个vlan的


    vpn虚拟专用网

    互联网是共享的网络,有安全隐患(数据可能会被盗取、篡改)

    vpn在公用网络上构建虚拟专用网络。vpn用户在此虚拟网络中传输私网流量,可以在不改变网络现状的情况下实现安全、可靠的连接

    vpn是运营商搭建(租用)还是自建?

    场景一:Site-to-site VPN

    适用于公司俩个异地机构的局域网互连。如公司总部和公司分部

    如:MPLS VPNIPSec VPN

    IPSec VPN 足够安全但是不支持组播

    -------------------------------------------------

    场景二:Remote Access VPN

    适用于出差、移动办公、在家办公人员与公司企业网建立通信提供安全、快捷的VPN隧道连接。员工可在任何能接入internet的地方,通过vpn接入企业内网资源

    :L2TP VPNSSL VPN

    vpn保证数据的安全性主要体现在三个方面:

    1、数据保密性

    数据保密确保数据传输时外人无法看到或截获数据

    2、数据完整性

    数据完整性确保数据在传输过程中没有被非法改动,能够原样到达目的地

    3、身份验证

    身份验证能保证数据是从正确的发送方传输过来的


    路由器

    路由器核心功能

    1. 不同网段的连接
    2. NAT网络地址转换

    交换机

    mac地址表:交换机会记录每一台电脑的mac地址。

    每一台电脑发的数据包都会携带目标mac,交换机查看后会知道从哪个接口发出去

    pc1给pc3发送包的时候,pc1是怎么知道pc3的物理地址呢?通过ARP 地址解析协议:广播询问。

    当交换机的某个接口,收到一个数据包。根据数据包的源mac自动更新mac地址表


    防火墙

    Firewall,用于保护网络内部资源,阻止未经授权的访问

  • 相关阅读:
    LVS-DR
    python面向对象之类和对象相关知识
    nmap 扫描内网IP, 系统, 端口
    海思3559AV100 gdb+gdbserver调试·基础篇
    OpenHarmony分布式购物车案例展示~
    Java面试题
    使用sklearn进行机器学习案例(1)
    STC89C51基础及项目第10天:LCD显示字符(非标协议外设)
    先进的无人机GPS/GNSS模块解决方案
    【Linux】apt update和apt upgrade
  • 原文地址:https://blog.csdn.net/m0_56799642/article/details/136196829