首页 > 代码库 > 网络基础

网络基础

互联网协议

  互联网协议是什么

      连接两台计算机之间的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协议返回。完成一次网络通信。

网络基础