zoukankan      html  css  js  c++  java
  • 网络基础知识

    OSI开发式互联参考模型(7层)

    1、第一层,物理层,传输比特流,就是传输0,1,模数转换,数模转换,电子专业,

    (问题:如果只有这层,可能导致什么问题呢?----》可能有传数据错误,传数据不完整的可能,因此有了数据链路层)

    2、第二层,数据链路层,定义了如何格式化数据,如何让控制物理介质的控制,保证数据传输的可靠性,将比特数据转为帧。交换机就是这层中工作,负责解析帧,传输到正确的地方

    (问题:----》好了,既然保证了数据的正确性,如果找到目标节点,如果找到最佳路径呢?那就有了网络层)

    3、第三层,网络层,将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接受方,那么从什么方面来考虑是确定找对了哪个人呢?---》通过综合考虑,发送优先权,网络拥塞程度,服务质量,以及可选路由的花费,来决定从节点A到节点B的最佳路径。路由器是在这层中的,此层的数据,我们称之为数据包。在这层里面,我们要关注的是TCP/IP协议中的IP协议。

    (问题:---》随着网络通信的进一步扩大,通信的过程中发送大量的数据,海量文件传输等,这些文件都需要被切割成一个一个的段落来传输,那么其中一个段落丢失了,怎么办?要不要重传?每个段落要按照顺序到达吗?---》那么就出现了传输层)

    4、传输层(最重要的一层),为了解决主机间的传输,数据之间的传输可以不在不同的网络,并且解决了传输之间的质量问题。传输协议,同时进行流量控制。或者更加接受方的接受速率来调整发送速率。除此之外,传输层还按照网络能处理的最大尺寸,将较长的数据包,进行强制分割,

    例如:以太网无法接受1050字节的数据包,发送方的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便到达接受方的传输层,能按照正确的顺序把数据包整合起来,该过程称为排序

    传输层中,我们要关注的协议有TCP协议和UDP协议

      现在,我们已经能保证能给正确的机器发送正确的信息了。

    (问题:但是用户级别的体验是很差的。为什么呢?难度我们每次还要手工去调用TCP协议去打包?然后调用IP协议去找路由,自己去发?当然不行啦,这样要累死我们这些码农呀!!!所以我们要建立一个自动收发包,自动寻址的功能,于是我们就发明了会话层!!!

    5、会话层:建立和管理应用程序之间的通信!!现在我能保证应用程序自动收发包和寻址了,但是我要用Linux给window发包,但是两个系统是不一样的,(就像exe文件是不能在linux上运行的,shell文件不能在window系统上直接运行的),于是需要表示成layer。帮我们解决不同系统的通信语法问题。

    6、表示层:将数据按照网络能够理解的方案进行格式化, 而这种表示层会因不同的网络而不同。

    (问题:------》此时,虽然发送方虽然知道自己发送的是什么东西,转化为字节数组之后有多长,但接受方肯定不知道。所依应用层诞生了!!!)

    7、应用层:它规定了发送方和接受方必须使用一个固定的消息头,消息头必须使用固定的主程,而且消息头里必须记录消息体的长度等一系列信息,以便接受方解析信息,应用层只是更方便地让你使用接受到信息(接受到的信息里面有大量的内容,可以利用起来),至于数据的传递,没有该层,数据在两台电脑上,对方只会接受到由0和1组成的字节数组而已!!!在这层中,我们关注的是TCPIP协议中的http协议,

    TCP/IP

    OSI的“实现”:TCP/IP

  • 相关阅读:
    浮点数大于0
    坐标变换
    实战c++中的vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit())
    计算sigma
    ECharts 在winform中使用(访问JS)
    Linux用户锁定、解锁及锁定查看
    vue或者js中平均分割数组
    python 文件读写with open模式r,r+,w,w+,a,a+的区别
    vue 三元表达式当出现elif
    后端排序时去掉element表格排序的null状态
  • 原文地址:https://www.cnblogs.com/vingLiu/p/10692762.html
Copyright © 2011-2022 走看看