• 网络基础


    互联网协议

      互联网协议是什么

          连接两台计算机之间的internet实际上就是一系列的标准,这些标准就叫互联网协议。互联网协议定义了计算机如何接入internet,以及接入internet的计算机的标准。

      为什么要有互联网协议
           因为计算机不可能掌握每台计算机所使用的标准,计算机之间要进行通信就要进行统一规范,即是遵循互联网协议(Internet Protocol Suite)。

     

    OSI五层模型

    物理层
      计算机之间连成组网,基于电气特性发送电信号。
    数据链路层(以太网协议)
      定义电信号的分组方式,一组电信号构成一个数据包,叫帧。每一组数据帧分成head和data两部分。
    网络层(IP协议)
      网络由一个个彼此隔离的小的局域网组成,为了区分计算机属于哪一个局域网。引入了一套新的地址来区分不同的子网,这套地址就是网络地址。
          ip地址:规定网络地址的协议叫ip协议,它定义的地址称之为IP地址,广泛使用的ipv4地址由32位2进制表示。IP地址分布两部分,网络部分和主机部分。
          子网掩码:子网掩码表示子网络特征的一个参数,形式上等于IP地址,它也是一个32位的二进制数,它的网络部分全部为1,主机部分全部为0。  
          单纯的两个IP地址并不能判断他妈是否属于一个子网,需要借助子网掩码。知道任意两个IP地址和它们的子网掩码,我们就可以判断他们是否属于同一子网。
      例:已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网。(IP地址和子网掩码进行&&运算)
          答:在同一子网(过程略)          
       
    传输层(TCP/UDP协议)
      建立端口到端口之间的通信。,端口范围是0-65535,0-1023为系统占用端口。
      tcp协议:它是一种可靠传输,TCP数据包没有长度限制,
      udp协议:不可靠传输,报头部分只有8个字节,总长度不超过65535字节,正好放进一个ip数据包。
    应用层(HTTP/FTP协议)
      规定用户的数据格式。TCP协议为各种各样的程序传递数据,Email、WWW、FTP等。那么必须有相应的应用程序格式来规定他们的标准。这些应用程序协议构成应用层。
      socket:简称套接字!socket抽象层把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用,用来实现进程在网络中通信。

    用户上网流程

    1)本机获取(获取本机的IP地址、子网掩码、网关IP地址和DNS的IP地址)

    2)打开浏览器,输入想要访问的网址。

    3)DNS协议:

      DNS域名解析器,先访问本地或国内是否有缓存当前页面IP地址!如果有返回IP地址,如果没有则访问根域名服务器d.root-servers.net查询对应的IP地址,DNS根服务器会返回相应的域服务器。(其中.com/.net/.org/.biz/.info由国外公司负责管理,.cn/.uk/.jp等地理域名由国家或地区负责管理)

    4)http协议

       应用层根据http协议,会将发送的信息嵌入TCP数据包。

    5)TCP/UDP协议

      TCP数据包需要设置端口号。

    6)IP协议

      TCP数据包再次被嵌入IP数据包,IP数据包设置好双方的IP地址。

    7)以太网协议

      IP数据包嵌入以太网数据包。以太网数据包需要设置通信双方的MAC地址。

    8)服务器响应  

      经过物理层的转发,服务器收到数据包得到请求,经过合包、拆包等,读出对应的HTTP请求。接着做出HTTP响应,在通过TCP协议返回。完成一次网络通信。

  • 相关阅读:
    [转]Java中实现自定义的注解处理器
    [转]IntelliJ IDEA 自定义方法注解模板
    [转]Intellij Idea自动添加注释的方法
    C++中substr的用法
    C++中find()函数和rfind()函数的用法
    无符号类型
    标准库string与C风格字符串
    vector对象
    string 类(二)
    string类
  • 原文地址:https://www.cnblogs.com/zouruncheng/p/6544605.html
Copyright © 2020-2023  润新知