跳转至

计算机网络概览

网络

Q1: 为何要有网络?
A1: 为了方便数据的传输/通信.. 因而网络早期还有个别名 -- 信息高速公路.
      打破了地域限制,提高了传数据的效率

Q2: 什么是网络?
A2: 网络= 物理连接介质 + 互联网通信协议/规定
      1> 物理连接介质: 网卡、光纤、海底电缆等 把路先铺好啦;
      2> 互联网通信协议根据功能的不同: OSI七层通信协议 -- 应表会传网数物

Q3: 现代网络设备互联的两种模式?有何特点?
A3: C/S (一个服务器可以对应多个客户端)
      P2P(没有客户端服务端之分,只要两个主机都运行了对等连接软件p2p软件,即可平等对等的进行通信)

Q4:计算机网络的性能指标 时延包含哪几个部分?
A4: 时延 = 发送+连接+排队+处理
      RTT 数据报文在端到端的通信中来回一次的时间

学计算机网络就是在学各种协议!!!


OSI七层模型

OSI七层模型 作用 常见协议 数据
应用层 为计算机用户提供接口和服务(一系列应用软件) HTTP/FTP data
会话层 数据处理(编码解码、加密解密等)
表示层 管理(建立、维护、重连)进程之间的通信会话
传输层 管理端到端(进程之间)的通信连接 UTP/TCP 段 segment
网络层 解决在多个网络之间传输(路由)的问题 IP/ICMP 包/报 packet
数据链路层 管理相邻节点之间的通信(同一个局域网) Ethernet/ARP 帧 frame
物理层 解决使用何种信号来传输比特0和1的问题 位 bit

发送数据是一个封装的过程,接收数据则是解封装.
数据封装过程 (从上到下从内到外依次加上每一层的head头部信息): 分段 - 打包 - 成帧 - 传位
数据解包过程 (从下到上从外到内依次丢掉每一层的head头部/首部信息)

局域网内一定是基于mac地址的广播通信:
  1> 封装
  2> 交换机(通常是二层设备,将二进制还原成数据帧,拆包可以看到目的mac,知道转发给谁后再封装成数据帧 传位) 
  3> 目的mac对应的局域网的那台主机,进行解包

与外网通信:
  交换机看到的目的mac就是网关的mac啦
  网关是三层设备(能将封装好的包拆到网络层) 网关根据路由表在外网中进行"hop-by-hop"

socket套接字层

所有基于网络通信写出来的软件本质都是套接字写出来的.

socket就是一个套接字软件程序.. 是对传输层及以下的封装. 它处于应用层与传输层之间.
它给应用层应用程序的开发提供了传输层及以下的一个个接口..
让程序员专注于程序的开发,不用实现网络传输底层的一系列的协议


下面我将从物理层、数据链路层、网络层...依次进行阐述.. 
每一小节会站在本层的角度进行介绍...过程中可能会对紧邻的上一小节进行补充..不断颠覆不断细化的过程!!