• day29:计算机网络概念


    目录

    1.网络开发的两大架构

    2.网络概念

    3.OSI七层模型

    4.ARP协议

    5.TCP三次握手和四次挥手

    1.网络开发的两大架构

    1.没有网络的时候,文件是如何传输的?

    早期没有网络 a.py -> b.py 借助c文件中转

    a文件把数据放在c文件中,b文件从c文件取

    b文件把数据放在c文件中,a文件从c文件取

    构成了早期的一种数据的交互原理 -> socket(套接字)模型

    socket(套接字)是收发数据的一个工具

    2.后来有了网络了,文件是如何传输的?

    后来有了网络

    a文件中的数据,可以通过网络协议,转成10101电信号,进行发送

    a文件借助socket发送数据

    b文件借助socket接受数据

    3.网络开发的两大架构:C/S架构和B/S架构

    C/S 架构 : Client/Server

    C -> Client 客户端

    具体制定是一个软件,像qq,微信,腾讯会议,dnf,wow,跑跑卡丁车,龙与地下城ddo,消消乐,劲舞团,英雄联盟

    S -> Server 服务端

    天河三号 百亿亿次超级计算机

    B/S 架构:Browser/Server

    B -> Brower 浏览器

    通过输入网址,直接访问对方服务器,对方服务器响应请求之后

    把对应的数据通过网络返回到浏览器中进行显示

    S -> Server 服务端

    B/S和C/S 谁代表着未来?

    当然是B/S!!!原因有如下两点:

      (1) 省去复杂漫长的下载和安装环节,节省了手机和电脑的硬盘空间

      (2) 因为手机的便捷性,可以随时随地不受限制的使用各式各样的功能,满足日常需求.

    2.网络概念

    1.查看一台主机的IP地址

    在Windows系统下:ipconfig

    在Linux系统下:ifconfig

    ip地址的最后一位0或者255 两个数字不能用

    一般最后一位0表达的是网段,255代表广播地址

    2.什么是网段?

    网段的作用:

      主要用来划分同一区域里的某些机器是否能够互相通信

      在一个网段里可以不通过因特网,直接对话

    如何判别是否在同一网段?:

      如果IP地址和子网掩码相与得到的值相同就是同一网段

    子网掩码:用来区分网段和主机

    检测两个IP是否可以互相通信:

    3.端口

    1.端口的范围:0-65535

    2.ip + 端口 可以访问这个世界上任何一台电脑里面的任何一个应用

    3.常见的端口号(需要背下来):

    20 端口:FTP 文件传输协议(默认数据口)

    21 端口:FTP 文件传输协议(控制)

    22 端口:SSH 远程登录协议

    25 端口:SMTP 服务器所开放的端口,用于发送邮件

    80 端口:http,用于网页浏览,木马 Executor 开放此端口

    443 端口:基于 TLS/SSL 的网页浏览端口,能提供加密和通过安全端口传输的另一种 HTTP

    3306 端口:MySQL 开放此端口

    4.自定义端口需要注意:自定义端口的时候起一个9000以后的端口号,不要乱用已知的端口号

    3.OSI七层模型

    1.应用层(应用层,表示层,会话层)

      封装数据

      根据不同的协议,封装成对应格式的数据消息

        HTTP [超文本传输协议]

        HTTPS [加密传输的超文本传输协议]

        FTP [文件传输协议]

        SMTP [电子邮件传输协议]

    2.传输层:

      封装端口

      指定传输的协议(TCP协议/UDP协议)

    3.网络层:

      封装ip地址

      版本ipv4 ipv6

    4.数据链路层:

      封装mac地址

      指定链路层协议arp(ip->mac) / rarp (mac->ip)

    5.物理层:

      打成数据包,变成二进制的字节流,通过网络进行传输

    交换机:从下到上拆2层,物理层,链路层

    路由器:从下到上拆3层,物理层,链路层,网络层

    4.ARP协议

    1.ARP协议由来

    arp协议由来:计算机通信基本靠吼,即广播的方式,所有上层的包到最后都要封装上以太网头,然后通过以太网协议发送

    在谈及以太网协议时候,我们了解到通信是基于mac的广播方式实现,计算机在发包时,获取自身的mac是容易的,如何获取目标主机的mac,就需要通过arp协议

    2.ARP协议功能

    广播的方式发送数据包,获取目标主机的mac地址

    3.ARP协议实现过程

    协议工作方式:每台主机ip都是已知

    例如:主机172.16.10.10/24访问172.16.10.11/24

    1.首先通过ip地址和子网掩码区分出自己所处的子网

    场景 数据包地址
    同一子网 目标主机mac,目标主机ip
    不同子网 网关mac,目标主机ip

    2.分析172.16.10.10/24与172.16.10.11/24处于同一网络(如果不是同一网络,那么下表中目标ip为172.16.10.1,通过arp获取的是网关的mac)

      源mac 目标mac 源ip 目标ip 数据部分
    发送端主机 发送端mac FF:FF:FF:FF:FF:FF 172.16.10.10/24 172.16.10.11/24 数据

    3.这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac.

    4.ARP协议实现原理

    电脑a先发送arp的广播包,把mac标记成全FF-FF-FF-FF-FF-FF的广播地址

    交换机接收到arp广播包,从下到上拆2层,到数据链路层得到mac发现mac是全F的广播地址,重新打包,.

    交换机开始广播,所有连接在这台交换的的设备统一都会受到arp广播包,开始拆包

    如果对应的是全F广播地址,直接跳过,继续向上找,如果ip不对,直接舍弃

    路由器允许从下到上拆3层,拆到网络层,得到ip,找到其中的网段

    重新把数据打包,发送给对应这个网段的那个接口(网关)

    对应的接口设备是交换机,从下到上拆2层,全F广播地址,开始发送arp广播包

    数据库服务器接收到arp广播包开始拆包,发现要找的机器就是自己

    于是把自己的ip->mac的对照数据,返回给对应的交换机

    交换机开始单播,让ip->mac的对照数据返回到开始处

    原主机接收到了ip->mac的对照关系之后,更新一下自己的arp的解析表,方便下次使用

    到此结束.

    5.TCP三次握手和四次挥手

    1.三种状态

    SYN 创建连接

    ACK 确认响应

    FIN 断开连接

    2.TCP三次握手和四次挥手图

     3.关于三次握手和四次挥手阐述

    三次握手

      客户端发送一个请求,与服务端建立连接

      服务端接受请求,发出响应,并且回应也要与客户端建立连接

      (服务端同意连接的请求 和 服务端与客户端建立连接的请求在一次响应当中完成了)

      客户端接受服务端的请求之后,把消息在回复响应给服务端.

    数据传输

      客户端每次发送数据时,服务端每次都有响应,发一个回执消息来确认数据

      所以tcp协议,发送数据不丢包.保证数据稳定.

    四次挥手

      客户端向服务端发送一个断开连接的请求

      (代表客户端已经没有数据可以传输了)

      服务端接受请求,发出响应

      等到服务端把所有数据发送或者接受完毕之后

      服务端向客户端发送断开连接的请求

      客户端接受请求,并且发出响应(持续2MSL)

      等待2msl,最大报文生存时间之后

      客户端与服务端彻底断开连接.

  • 相关阅读:
    模型命名规范
    Jquery 将表单序列化为Json对象
    Failed to read auto-increment value from storage engine错误的处理方法
    css样式表中设置table的第一列的宽度是固定值
    thinkphp中I("parm")用法的注意事项
    获取凌晨00:00:00的时间
    php empty()和isset()的区别
    react续集
    react的笔记整理
    vuex
  • 原文地址:https://www.cnblogs.com/libolun/p/13497374.html
Copyright © 2020-2023  润新知