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

    互联网协议

      互联网协议是什么

          连接两台计算机之间的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实现 计蒜客 拯救行动
    Java实现 计蒜客 拯救行动
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 173 二叉搜索树迭代器
    Java实现 LeetCode 173 二叉搜索树迭代器
    Visual Studio的SDK配置
    怎样使用CMenu类
    mfc menu用法一
  • 原文地址:https://www.cnblogs.com/zouruncheng/p/6544605.html
Copyright © 2011-2022 走看看