zoukankan      html  css  js  c++  java
  • ~~网络编程(二):层级初识~~

    进击のpython

    *****

    网络编程——层级了解


    前面也提到了,就是计算机们要是想互相玩耍,就必须要接入internet

    • 物理层

      最起码你得连接网线吧(说用无线的稍一稍),连接的网线就是物理层

      还有什么光缆啊,电缆啊,无线电波啊什么杂七杂八的,他能干什么呢?

      你想啊,这个电啊,有两种状态,高和低,那也就对应着计算机的二级制1和0

      那我们就可以根据高低电平的变化来传输数据

      毕竟1和0也是带有数据的嘛!那物理层的作用就出来了!

      物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0


    • 数据链路层

      数据链路层,你可以不用太纠结,你只需要知道他是干什么的就行

      我们刚才啊,在物理层知道了我们将信息通过1,0传输

      但是单纯的1,0是没有意义的,我们必须要有个规定

      规定一下电信号多少位一组,每组是什么意思才行

      那,这个工作就交给了数据链路层

      数据链路层的功能:定义了电信号的分组方式

      而这里,就用到了我们的第一个协议:以太网协议

      以太网协议是用来干什么的呢?

      假设我要给你发快递,除了要把东西打包以外

      是不是还要写寄件人收件人和寄货信息呢?

      那计算机怎么知道你就是你呢??

      于是大家一研究,得了!就用每个电脑独一无二的mac信息当作信息识别吧

      并且在发送信息之前,在信息的开头添加发送人的mac信息,收信人的mac信息,还有数据类型

      这一坨信息,我们就管他叫报头.


      现在信息打包了,我要怎么发出去呢???

      现在的信息传播方式是"广播方式"

      什么叫广播?

      咱俩在一个有很多人的屋子

      然后我就嗷唠(喊)一嗓子!"XXX你的快递!"

      然后你听到了,也嗷唠(喊)一嗓子!"我在这捏!"

      然后我就把东西给你了!这种方式就叫广播!

      你也看到局限性了吧,你要是不在这个屋子

      那我喊完了你也听不到,那信息就没办法传达

      这个屋子就是计算机的局域网!

      所以,以太网的信息传输是在局域网内展开的


    • 网络层

      那看完数据链路层你就有疑问了,那我不在同一个局域网,怎么办?

      也就是说,如果在同一个局域网,我就广播,如果不在同一个局域网,我就有一种别的方法

      呐!网络层的作用出来了

      网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址

      在这里我们要了解第二个协议:IP协议

      其实IP协议和以太网协议差不多(细分的话,自己去百度吧)

      他的作用就是找你在哪个屋子,然后好去吼你

      也是在我要传的信息前面加一个报头!

      这样我要传的信息就变成了 IP报头+以太报头+信息 这种形式了

      这里吧,应该详细的说一下,但是我建议你自己去查查

      锻炼一下自学能力好不啦铁汁


    • 传输层

      现在我通过上面的两层,指定能找到你了吧

      好,那我找到你了,我是不是把信息给你了?

      但是你打不开啊,因为我得传给你的QQ上才行啊

      那我把本该传给QQ的信息传给快播,那也不行啊

      那问题就来了,我如何在你那么多的应用里找到QQ呢?

      在计算机里啊,因为有网卡嘛,然后就把每个应用都分配个端口

      比如我的电脑的QQ的端口是80,那你的电脑的QQ的端口就也是80

      我这面的信息,再加上端口,传到你这,就通过端口来找你电脑上的应用

      这样就达到了应用之间的信息传递,诶嘿!传输层的作用就来了

      传输层功能:建立端口到端口的通信

      在这,我们还要知道两种协议:UDP协议和TCP协议

      这两种协议呢,稍后再说,现在你知道这有两种协议就行


    • 应用层

      应用层就很好理解了,就是你电脑里面的软件,放着的位置就是应用层


    那其实我们这个顺序是接收的顺序

    如果按照发送的来讲的话,就是把这个顺序倒过来

    也就是说,我们一般发信息,是发出了这样的鬼东西

    以太网头+IP头+UDP/TCP头+信息


    *TCP*
    *UDP*
  • 相关阅读:
    day12_字符连接单引号转意字符
    day12_存储过程说明
    day12_PLSQL编程--存储过程---统一发布动态属性管理
    linux关闭celinux服务
    day11__表管理
    day11_分区表------子分区的母模板(11g)
    day11_分区表------子分区的母模板(10g)
    day11_分区表——分区表常用维护
    smartforms 中的currquan单位处理
    当SVN服务器端IP地址发生变化时,客户端重新定位
  • 原文地址:https://www.cnblogs.com/jevious/p/11306804.html
Copyright © 2011-2022 走看看