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

      英语成为世界上所有人通信的统一标准,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite).

    互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。

    互联网协议按照功能不同分为:osi七层 或 tcp/ip五层 或 tcp/ip四层

        

      此处主要学习tcp/ip五层模型

    用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件

    1.物理层

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

      每台计算机必须由网卡才能与其他计算机通信。

    2.数据链路层

      功能:定义了电信号的分组方式

      以太网协议:
            ethernet规定:1.一组电信号组成一个数据包,叫做“帧”
                               2.每一数据帧分成:报头head和数据data两部分
                                  head包含:固定18个字节(发送者/接受者、接受者/发送者/数据类型,各6个字节)
                                  data包含:数据包的具体内容(最短46字节,最长1500字节)
        
         MAC地址:head中包含的源和目标地址便是指mac地址,MAC地址由48位2进制组成,唯一,通常由12位16进制数表示(前6位是厂商编号,后6位是流水线标号)

         广播:有了MAC地址,同一个网络内的两台主机就可以通信了(基于mac地址,在一个局域网内广播通信)

    3.网络层
        功能:引入一套新的地址,用来区分不同的广播域/子网,这套地址即:网络地址
        
        IP协议、IP地址:
            1.规定网络地址的协议叫IP协议,它定义的地址称之为IP地址,广泛采用IPV4,它规定网络地址由32位2进制表示。
            2.范围:0.0.0.0——255.255.255.255
            3.一个Ip地址通常写成4段十进制数,例:172.16.10.1
            
        IP地址分成两部分:
            网络部分:标识子网
            主机部分:标识主机
            单纯的IP地址段只是标识了IP地址的种类,从网络部分或者主机部分都无法辨识一个IP所处的子网
            
        子网掩码:
            表示子网络特征的一个参数,形式上等同于IP地址,也是一个32位的2进制数字,
            它的网络部分全部是1,主机部分全部是0
            
         arp协议,使用IP地址,解析出MAC地址,

    备注:Ip地址确定计算机所在的子网,然后根据arpxie协议,通过计算机的MAC地址确定计算机在此子网中的位置,然后用广播通信。

    4.传输层 
           传输层协议:TcpUdp协议,端口协议

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

      通过ip和mac找到了一台特定的主机,端口标识这台主机上的应用程序,端口即应用程序与网卡关联的编号

      

      tcp协议:可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

      udp协议:不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

      

      备注:断开链接,服务端不能在应答时直接也发送自己的断开请求,是因为可能还没有数据完全发送完。

    5.应用层

      应用层功能:规定应用程序的数据格式。

      应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 

      

  • 相关阅读:
    在C++中,子类重载一个操作符时,如何调用父类被重载的操作符函数
    基于AT89C51单片机的贪吃蛇电子游戏(仿真)
    七种机器内部排序的原理与C语言实现,并计算它们的比较次数与移动次数。
    使用java反射机制编写Student类并保存
    SqlServer2012导入Oracle详细案例
    TableLayoutPanel 的使用
    windows 10 & Office 2016 安装
    用过的手机集合
    windows 7 语言切换 Vistalizator
    ALV报表的颜色设计(行、列、单元格)
  • 原文地址:https://www.cnblogs.com/fengqing89/p/7171045.html
Copyright © 2011-2022 走看看