网络基础知识

计算机网络–用来实现计算机间的通信

物理层:


一. 设计初, 两两间都需要通信, 每个计算机都需要互相拉线.(物理层)
网络基础知识_第1张图片
两两都需要拉线, 利用率低, 麻烦.

  1. 转发.
  2. 标识. 网络中表明自己的身份.

二. 继续设计, 找一个中间代理(物理层)
网络基础知识_第2张图片

问题

  1. 1发送, 2345同时接受
  2. 1 2同时发送数据, 集线器只能转发电信号, 将两个信息杂糅起来共同发给其他设备. 导致消息无法解析
  3. 数据广播效率低, 主机需要自己判断数据是不是自己的
  4. 只有一个设备转发, 利用率低
  5. 集线器只适用于小规模网络, 工作在物理层

解决

  • CSMA协议. 发送前先载波侦听, 看是否有人正在发送数据, 没有再发送, 防止冲突

数据链路层


三. 集线器不适合大规模网络, 使用交换机(数据链路层)
网络基础知识_第3张图片

hub集线器没有标识用户数据, 交换机:

  1. 记录地址(mac):端口的表 [mac : 端口]. 解决广播的问题
  2. 全双工. 集线器用的是双绞线(同时只能有一方工作), 这里使用网线, 拥有8根

交换机表如何建立起来?

  • 开始表为空, 有人发送数据, 则将此方mac和对应端口记录进表, 然后去查表转发, 若没有则每个端口都试一下(广播), 若有端口回应则将接收方的mac和端口号记录进表. 如此反复

交换机工作在数据链路层

  • 数据分为数据头和数据部分
  • 数据头: 原地址(mac), 目的地址(mac)

四. 交换机–桥接功能
网络基础知识_第4张图片
能有效扩招网络, 但是当前映射表大小仅仅为几千(注意这里不是路由表)

缺点

  • 如果大面积使用, 若一直未找到某个端口, 则一直向其他交换机扩散. 导致消息洪泛

链路层总结:

  • mac地址+交换机可以再小的网络(学校, 公司)下效率还是很高的
  • 但是若做到全球的网络互连, 还需其他方式解决

网络层


五. 解决跨网络效率低的问题

在两个网络间使用路由器交互, 网络内部使用交换机.

IP地址, 作用:

  • 标识网络
  • 标识设备

举例, 从102 发送到254:
网络基础知识_第5张图片
目标: 0.102=>1.254

  1. 0.102->0.1 | IP原: 0.102 IP目: 1.254 | MAC原: 0.102 MAC目: 0.1 (102和0.1mac地址通过ARP获得)
  2. 0.1->1.52   | IP原: 0.102 IP目: 1.254 | MAC原: 0.1 MAC目: 1.52
  3. 1.52->1.254 | IP原: 0.102 IP目: 1.254 | MAC原: 1.52 MAC目: 1.254

使用路由器来连接两个网络, 网络是抽象的概念, 并无明显规定

路由器像中间人一样, 处理路由表, 处理夸网络的传输, 再网络层数据封装如上图所示.

接下来就是传输层, 应用层…无需多说.

你可能感兴趣的:(网络编程)