zoukankan      html  css  js  c++  java
  • 网络基础知识

    网络基础知识

    一、网络基础

      1.1操作系统

      操作系统是管理和控制计算机硬件与资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其它软件都必须在操作系统的支持下才能运行。计算机(硬件)--> os --> 应用软件。

      1.2 osi 协议 (四层、五层、七层)

      互联网协议就是计算机中的沟通语言,就像英语在世界上的作用一样。

      1.2.1物理层

        建立物理连接,完成组网。功能:主要是基于电器特性发送高低电压,高电压对应1。

      1.2.2数据链路层

        功能:把电信号进行分组。

        以太网协议:一组电信号构成一个数据包,叫做帧;每一数据帧分成:报头 head 和数据 data 两部分。

        报头部分包括(18个字节):发送者地址(6个字节)、接收者地址(6个字节)、数据类型(6个字节)。

        数据部分包括:数据包的具体内容。(最短46字节,最长1500字节)

        mac 地址:以太网的协议规定了接入以太网的设备都必须具有网卡,发送端和接收端的地址就是指网卡的地址,mac 地址。

      1.2.3网络层

        网络层定义了一个 IP 协议。  

        IP 协议:

        • 规定网络地址的协议叫 IP 协议,它定义的地址称之为 IP 地址,它规定网络地址由 32 位 2 进制表示。
        • 范围 0.0.0.0 - 255.255.255.255。
        • 一个 IP 地址通常写成四段十进制数。例如:192.168.0.1

        子网掩码:    

          子网掩码定义:网络部分全部用 1 代表,主机部分全部用数字 0 代表。

        网段地址:是由 ip 地址的二进制形式 与 子网掩码的二进制形式 做一个 按位与 运算得到的 再转化为 十进制的代码。

        ARP 协议:

        • 所有上层的包到最后都要封装上以太网头,然后通过以太网协议发 送。以太网通过广播的形式去通信。
        • 获取自身的 MAC 地址是容易的,但要是想获取对方的 MAC 地址就要靠 ARP 协议了。
        • 功能:广播的方式发送数据包,获取主机的 MAC 地址。

      1.2.4传输层

        概述:当我们通过 ip 和 mac 找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。

        功能:建立端口到端口的通信。

        端口范围:0 - 65535 ,0 - 1023 为系统占用端口 。

        TCP协议:

        • TCP 报文格式

                   

        • TCP 三次握手 建立连接
        • TCP 四次握手 断开连接

                

      1.2.5应用层

        HTTP 协议:HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。

        概述:运行应用程序

              

      1.3网络通信的实现

        要想实现网络通信,要具备四要素:

        • 本机 IP 地址
        • 子网掩码
        • 网关的 IP 地址
        • DNS 的 IP 地址

        以上四要素可以通过两种方式配置:

        • 手动配置
        • DHCP 自动配置

      1.3.1 DHCP 协议

      1)最前面的”以太网标头”,设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址,后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。

      2)后面的”IP标头”,设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。

      3)最后的”UDP标头”,设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。

      这个数据包构造完成后,就可以发出了。以太网是广播发送,同一个子网络的每台计算机都收到了这个包。因为接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是发给谁的,所以每台收到这个包的计算机,还必须分析这个包的IP地址,才能确定是不是发给自己的。当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服务器知道”这个包是发给我的”,而其他计算机就可以丢弃这个包。

      接下来,DHCP服务器读出这个包的数据内容,分配好IP地址,发送回去一个”DHCP响应”数据包。这个响应包的结构也是类似的,以太网标头的MAC地址是双方的网卡地址,IP标头的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方),UDP标头的端口是67(发出方)和68(接收方),分配给请求端的IP地址和本网络的具体参数则包含在Data部分。

      新加入的计算机收到这个响应包,于是就知道了自己的IP地址、子网掩码、网关地址、DNS服务器等等参数。

      1.4 DNS 协议

      1.4.1 域名 

        uri 地址:https://www.cnblogs.com/jinzejun

        url 地址:https://www.cnblogs.com

        协议部分:https://

        域名部分:www.cnblogs.com

        资源部分:/jinzejun

                

     DNS:翻译者 (域名---> ip )

     DNS是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。

     

     

    二、子网划分 

      2.1 IP 地址

        分类:A、B、C、D、E类。

      2.2 特殊 IP 地址

        网络地址、广播地址、有限广播地址、回送地址、私有地址。      

      2.3 子网划分概述

        子网划分是通过借用ip地址的若干位主机位来充当子网地址的从而将原来的网络分为若干个彼此隔离的子网实现的

      2.4 子网划分步骤

        • 确定要划分的子网数以及每个子网的主机数
        • 求出子网数目对应的二进制的位数N及主机数目对应的二进制数的位数M
        • 对该ip地址的原子网掩码,将其主机地址部分的前N位置1(其余全部置0)或后M位置0(其余全置1)即得出该ip地址划分子网后的子网掩码

      

           

     

     

     

     

  • 相关阅读:
    Redis学习笔记
    RedisTemplate操作命令
    RedisTemplate操作命令
    RedisTemplate操作命令
    RedisTemplate操作命令
    将chrome储存的密码转为MarkDown表格
    使用redisson做redis分布式锁
    RocketMQ 整合SpringBoot发送事务消息
    关于java读写锁的测试
    java8 stream记录
  • 原文地址:https://www.cnblogs.com/jinzejun/p/9174775.html
Copyright © 2011-2022 走看看