DC's blog DC's blog
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)

DC

愿我一生欢喜,不为世俗所及.
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)
  • 计算机基础

    • 前奏(介绍)
    • 计算机硬件组成
    • 操作系统
    • 计算机网络概览
      • 网络
      • OSI七层模型
      • socket套接字层
    • 计算机网络之网络接口层
    • 计算机网络之网络层
    • 计算机网络之传输层
    • 计算机网络补充
  • linux基础

  • mysql

  • git

  • 数据结构与算法

  • axure

  • english

  • docker

  • IT_Need
  • 计算机基础
DC
2023-10-23
目录

计算机网络概览

# 网络

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"
1
2
3
4
5
6
7
8

# socket套接字层

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

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


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

操作系统
计算机网络之网络接口层

← 操作系统 计算机网络之网络接口层→

最近更新
01
deepseek本地部署+知识库
02-17
02
实操-微信小程序
02-14
03
教学-cursor深度探讨
02-13
更多文章>
Theme by Vdoing | Copyright © 2023-2025 DC | One Piece
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式