【计算机网络】网络基础(上)

文章目录

  • 1. 网络发展
    • 认识协议
  • 2.网络协议初识
    • 协议分层
    • OSI七层模型 | TCP/IP
    • 网络传输基本流程
      • 情况1:同一个局域网(子网)
        • 数据在两台通信机器中如何流转
          • 协议报头的理解
          • 局域网通信原理(故事版本)
            • 一般原理
            • 数据碰撞
            • 结论

1. 网络发展

计算工作是不可能一个科学家搞出来的,注定是一群科学家协同工作,
给每一个科学家配上电脑,那么科学家之间的电脑也是协同工作的

人只要用计算机,计算机就必须要协同

古代打仗,每个士兵都有自己的武器(刀、枪、剑等),但士兵之间不是互相孤立的,而是互相协同的刀与枪配合、枪与剑配合


【计算机网络】网络基础(上)_第1张图片

各个计算机之间是独立的
将小松计算后的数据拷贝到软盘中 交给小竹
将小竹计算后的数据拷贝到软盘中 交给小梅
但是人参与的工作,效率会非常低


【计算机网络】网络基础(上)_第2张图片

所以为了提高效率,将所有的机器简单连接起来
这样就可以在自己的电脑上看见所有人的数据


认识协议

协议是一种约定

在之前打电话要花钱,接电话是不需要花钱的
假设你的手机里只有 20 30块话费,因为花费很少所以避免自己打电话
所以你在向家里打电话时
若响一声就挂掉,说明给家里报平安
若响两声才挂掉,说明你没钱了,该打钱了
若响三声才挂掉,说明是其他特殊事情

将约定做好,相隔几百里,通过曾经约定好的事情 快速形成共识 做出约定的动作,被称为协议
协议本质是为了提高协同效率


【计算机网络】网络基础(上)_第3张图片

两台计算机是人的意志的表达,因为引进网络,就注定计算机之间的距离比较久,
所以两台计算机在技术层面上用特定的方式来做好 双方通信时候的协议约定

2.网络协议初识

【计算机网络】网络基础(上)_第4张图片

网络通信时,会有那些需求要解决,要有那些问题会产生,为什么会产生问题?
1. 长距离传送时,信号会衰减,所以数据有可能异常(数据丢失)


要发送的机器是在远端的,网络上的机器有很多
如何能够将机器数据发送后准确找到网络当中其中一台机器
2.定位一台主机的问题


因为网络太长了,所以要经历中间节点
就会导致
3. 怎么进行数据转发以及路径选择的问题


只有定位一台主机,才能开始传输数据,以及路径选择
如:明确自己要考研,才会好好学习
所以在设计时,将不同的功能模块设计成为不同的模块
可以将解决方案 设计为层状结构(每一层解决相同的问题,层与层之间没有直接关联)

协议分层

【计算机网络】网络基础(上)_第5张图片

假设你和你的朋友,分别在两个不同的楼内,你使用你宿舍的台式机给你朋友宿舍的台式机打电话
在打电话这个过程中,你认为你和你的朋友在进行直接通信
实际上是 你把话说给了你的台式机,通过电话协议,将信息传递给另一个台式机,此时你朋友的台式机把收到的数据进行协议解析,把声音播放到你朋友的耳边

所以分为语言层和通信设备层,在逻辑上认为都在和对方层进行通信
层和层之间通过接口的方式来进行互相调用底层的功能
但底层如何实现的,上层并不关心
如:你打电话时,并不关心电话采用的频率是多少


【计算机网络】网络基础(上)_第6张图片

对通信设备层替换
在用手机通信的过程中
虽然底层全部替换掉了,但是上层依旧两个人使用汉语来通信


【计算机网络】网络基础(上)_第7张图片

对语言层替换
在用台式机通信的过程中
两个人把语言从汉语变成了英语,台式机并不会管那么多,台式机依旧是把一个人的数据传给另一个台式机


软件分层后,每一层只关注自己同层的功能,只使用下一层的接口,任何一层出现问题,都不会直接影响另一层
减少后期开发者的成本

OSI七层模型 | TCP/IP

OSI (Open System Interconnection) 开放系统互连
七层网络模型称为开放式系统互联参考模型,
是一个逻辑上的定义和规范

【计算机网络】网络基础(上)_第8张图片

分为七层
自底向上为:物理层 数据链路层 网络层 传输层 会话层 表示层 应用层


实际上工程实现时会压缩为 物理层 数据链路层 网络层 传输层 应用层 (会话层 表示层 应用层 看作为应用层)
而一般在研究网络协议栈时,重点谈软件,物理层是有关于网络通信硬件的,所以物理层不考虑


采用的网络协议栈为 TCP/IP五层(或四层)模型,TCP/IP脱胎于OSI七层模型,将会话层 表示层 应用层 看作为应用层
五层:物理层 数据链路层 网络层 传输层 应用层
四层: 数据链路层 网络层 传输层 应用层


物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆
(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决
定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.


数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测
到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
(如:有个小朋友,能够说出简单的字段,将信息传给他的爸爸或妈妈
数据链路层的标准是不一样的,因为数据链路层的具体实现是在网卡驱动实现的
最常见的标准是 以太网)


网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规
划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
【计算机网络】网络基础(上)_第9张图片

红框为主机的内网私有IP地址


传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标
主机.

可靠的把A数据送到B
如:你的老师夸你,数学有考100分的能力,但并不说明你一定能考100,大概率考100,也有可能考99
所以就需要可靠的传输数据


应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问
协议(Telnet)等. 我们的网络编程主要就是针对应用层

网络传输基本流程

【计算机网络】网络基础(上)_第10张图片

情况1:同一个局域网(子网)

同一个局域网的两台机器,可以直接通信
如:假设有一天网比较卡,同一个寝室的室友想要打游戏,所以就打CS构建局域网房间,就可以通过进入房间从而一起玩游戏
两个主机通信的本质是 两个主机的操作系统与网络协议栈在通信

数据在两台通信机器中如何流转

【计算机网络】网络基础(上)_第11张图片

同层的每一层都是一种协议,每层都要有自己的协议
协议的表现形式:协议报头体现出来的

协议报头的理解

网购:在网店里面买了一个键盘,付款后进行卖家发货,收货后并不仅仅是键盘,收到的是一个包裹,
包裹上有一张纸,有姓名,地点,发货的邮政编码等
你要的就是键盘,实际上给你的除了键盘还多了一张纸

这张纸对于你并不是必须的,但对于快递员是必须的,多出来的这张纸称为报头
报头是工作在快递员那层的,在你看来你把报头去掉了
键盘本身也是包装起来的,键盘要附上使用说明书,使用说明书就会告诉你键盘是什么种类的,键盘如何使用等
说明书也可以作为报头


在物流体系中,不仅仅在物流商品,快递单+商品,才是物流的主体

当想要发 在吗,相当于商品,这个商品想要在网络中正常被转发,工作在不同层级,每一层都必须有对应的协议(表现形式为报头)

每一层协议都要有各自的协议报头,加上有效载荷
如:收到一个包裹,包裹上面的纸称为报头,包裹里的东西称之为有效载荷


【计算机网络】网络基础(上)_第12张图片

当要发送消息时,并不是将消息直接发送给对方,先添加自己应用层的报头,然后将报头与有效载荷交付给下一层
在下一层时,将上一层的报头和有效载荷 整体看作是 该层的有效载荷 ,再次添加报头

所有的数据一定先被硬件收到,因为冯诺依曼体系规定,对于发送方来讲,叫做输出
输入时,一定是主机的硬件先收到,就决定了自底向上收到的


【计算机网络】网络基础(上)_第13张图片

收到后,将要将自己的报头与自己的有效载荷分离
分离后,将有效载荷交 给上一层
如:收到快递后,将包裹拆掉,将里面的东西拿出来


【计算机网络】网络基础(上)_第14张图片

将报头从上到下贯穿,称为封装
将报头自底向上进行交付,称之为解包加分用
解包:将报头和有效载荷分离
分用:将有效载荷交付给上层


协议要支持两个基本功能:
1.报头必须要能和有效载荷分离
2.报头必须支持,将有效载荷交付给上层,被称为数据报分用(分发给上层去用)

局域网通信原理(故事版本)
一般原理

每一个同学都有自己的名字,老师大声在教室询问,张三为什么布置的作业没有写,教室内的所有的同学都听到了,
听到后先分析数据,数据包的报头是张三,有效载荷是作业为什么没做
先将报头与有效载荷分离,报头是张三,每个人都知道自己不是张三,所以每个人在数据链路层将消息丢弃了

有一名同学在数据链路层对比时,发现他就是张三
当张三回答老师说,老师,作业已经做完了
张三给老师发数据包,在座的其他同学都能听见
报头为 老师, 有效载荷为 作业已经做完了
此时其他同学在数据链路层将消息丢弃了,老师在数据链路层对比时,发现这名同学就是叫他的
将有效载荷 作业已经做完了,向上交付给老师

在这个过程中,张三认为和老师直接通信,老师也认为和张三直接通信,完成一次信息的交互
这种通信原理就被称为 以太网的局域网的通信原理

数据碰撞

在教室内,当上课时,有一个同学一直在说话,扰乱课堂秩序,一般这个时候老师会让这位同学出去
因为这位同学说话时,会干扰老师或者其他同学说话,导致其他人听不清楚
这种情况被称为局域网发生数据碰撞

结论

局域网中,任何时刻,只允许一个人在向局域网发送消息
任何人要通信,需要有唯一的一个标识符,对于机器也是如此,对于计算机,每台计算机都配有网卡
网卡在出厂的时候,就在网卡内部写入网卡的sn号(俗称MAC地址,全球唯一)
(标识符:在教室里,每个人都有唯一的名字)

你可能感兴趣的:(计算机网络,计算机网络,网络,arm开发)