当前位置: 首页 > news >正文

计算机网络——网络基础1

网络基础一

1.初识网络

​ 网卡也是一种文件,所以对于网络的编程也是一种文件操作;

​ 早期由于不同的计算机之间要根据数据进行协作,但是计算机之间是独立的,所以使用了光驱或者软盘之类的进行协作;对于将计算机连接在一起完成数据的共享是历史发展的必然;后来出现了局域网LAN,之后随着历史的推动使得子网之间继续进行集连;但是长距离传输过程中需要进行主机的定位使用IP地址MAC地址等,还有传输过程中数据的安全问题等各种问题,需要进行解决;不同的子网通过交换机和路由器连接起来;最后形成了广域网将所有的局域网全部连接了起来;

2.认识协议

​ 由于数据经过了长距离的传输,沟通的成本变得很高;实际上在网线中传递的是光电信号;

​ 协议本质就是一种约定,通信双方通过规定约定可以很大程度地降低成本;协议有很多种,计算机通过协议解决不同的通信问题;

通信时有如下问题,需要每一层都要设计协议进行解决:

​ 1.如何处理发来的数据;应用层协议http/https/ftp/smtp等各种协议解决;

​ 2.长距离传输的数据丢失问题;传输层使用TCP/UDP协议进行解决;

​ 3.如何定位主机的问题;网络层的IP协议进行解决;

​ 4.保证数据准确地到达下一个设备;数据链路层的协议进行解决;

​ 网络通信的过程中会产生其他字段 ,这些字段叫做协议的报头;这些协议本质上就是一种结构体,保存着各种属性字段,将结构体对象的属性和数据拼接起来就构成了一个报文;只要通信双方都有这样的结构体对象,即可实现通信;现在的主机都是用的是TCP/IP四层体系结构,标准是一样的,所以都内置了协议,所以可以进行通信;

​ 可以通过物理性质的区别来定制0/1信号,这样计算机就能够识别二进制序列;

​ 必须有业内权威人士来定制一整套网络标准,所有的入网设备都遵守标准这样才能实现通信,否则标准不一样,导致协议不一样等各种问题,就无法在网络各层进行解析报文,达到通信的目的;

3.协议分层

​ 继承和多态的实现本质上就是在做软件分层,还有线程库中线程的执行函数实现和线程的执行进行软件分层;分层可以是上下的关系也可以是左右的关系;分层后最大的特点就是每一层的修改不会影响到其他层,实现高内聚低耦合

​ 网络分层是因为整体规模大,长距离传输问题多所以要对网络进行分层,具体的创建每一层的协议来解决每一层的问题;

​ 逻辑上是层内直接交互的,实际上层与层之间进行交互,贯串式地执行;正是因为从逻辑方面看待问题所以有了不同的网络层并且定制了不同的协议,使得层内通信双方可以进行通信;协议分层使得层与层之间低耦合,层内是高内聚的,当某一层要进行修改的时候并不会影响其他层,提高了可维护性和可扩展性;

4.OSI七层模型

​ 网路是需要一套标准的,OSI组织是当时的权威组织建立了七层网络模型,从低向上分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;

​ 每一层要考虑调用下层问题还要考虑给上层提供调用问题;还需要解决层内通信的问题;实践中发现有些层是不可以在操作系统中实现的,所以就剩下了物理层、数据链路层、网络层、传输层、应用层;而物理层更关心的是电器特性,所以在软件方面真正关心的是四层协议;

http://www.lryc.cn/news/325934.html

相关文章:

  • ERDUnet: An Efficient Residual Double-codingUnet for Medical Image Segmentation
  • vue响应式基础
  • 每天上万简历,录取不到1%!阿里腾讯的 offer 都给了哪些人?
  • 外包干了20天,技术退步明显.......
  • 4核8G云服务器,阿里云要多少钱?
  • 数学分析复习:振荡型级数的收敛判别
  • 阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中
  • 并发VS并行
  • C语言经典例题(8) --- 进制A+B、网购、及格分数、最高分数、计算一元二次方程
  • 两区域二次调频风火机组,麻雀启发式算法改进simulink与matlab联合
  • 自动驾驶国际标准ISO文件
  • 【数据结构】双向奔赴的爱恋 --- 双向链表
  • 【Redis】高频面试题
  • 数据分析基础
  • ffmpeg把一个平面视频,做成左右平面视频
  • Docker搭建LNMP环境实战(02):Win10下安装VMware
  • 苍穹外卖笔记
  • [医学分割大模型系列] (3) SAM-Med3D 分割大模型详解
  • 【React】React中将 Props 传递给组件
  • JOL工具查看java对象布局
  • Rust 实战练习 - 3. 文件系统,权限,读写,路径组合,time
  • 既有理论深度又有技术细节——深度学习计算机视觉
  • Flink Temporal Join 系列 (2):用 Temporal Table DDL 实现基于处理时间的关联
  • eclipse中使用PlantUML plugin查看对象关系
  • HCIP的学习(4)
  • MySQL写shell的问题
  • 每天学习一会java(第一天)----条件运算符
  • hyperf 二十八 修改器 一
  • ubuntu20.04安裝輸入法
  • 2024年【熔化焊接与热切割】考试报名及熔化焊接与热切割找解析