• 计算机基础--网络


    互联网协议

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

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

    互联网协议根据功能不同的划分

    每层常见物理设备

    每层常见物理设备

    因为学习python编程只需要了解tcp/ip五层模型,所以我们只需要了解应、传、网、数、物这五层模型的主要协议,就理解了整个互联网通信的原理。

    每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件

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

    数据链路层:根据以太网协议(ethernet)定义了电信号的分组方式(ethernet)

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

    传输层:建立端口到端口的通信(tcp、udp)  PS:端口范围0-65535,0-1023为系统占用端口

    应用层:规定应用程序的数据格式。(http、ftp等)

    TCP三次握手四次挥手

    tcp三次挥手四次握手

    网络通信实现

    想实现网络通信,每台主机需具备四要素

      • 本机的IP地址
      • 子网掩码
      • 网关的IP地址
      • DNS的IP地址

    获取这四要素分两种方式

    1.静态获取

    即手动配置

    2.动态获取

    通过dhcp获取

    以太网头 ip头 udp头 dhcp数据包

    (1)最前面的”以太网标头”,设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址,后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。

    (2)后面的”IP标头”,设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。

    (3)最后的”UDP标头”,设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。

    这个数据包构造完成后,就可以发出了。以太网是广播发送,同一个子网络的每台计算机都收到了这个包。因为接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是发给谁的,所以每台收到这个包的计算机,还必须分析这个包的IP地址,才能确定是不是发给自己的。当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服务器知道”这个包是发给我的”,而其他计算机就可以丢弃这个包。

    接下来,DHCP服务器读出这个包的数据内容,分配好IP地址,发送回去一个”DHCP响应”数据包。这个响应包的结构也是类似的,以太网标头的MAC地址是双方的网卡地址,IP标头的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方),UDP标头的端口是67(发出方)和68(接收方),分配给请求端的IP地址和本网络的具体参数则包含在Data部分。

    新加入的计算机收到这个响应包,于是就知道了自己的IP地址、子网掩码、网关地址、DNS服务器等等参数

  • 相关阅读:
    SQL 通配符
    正则表达式
    与运算(&)、或运算(|)、异或运算(^)、右移运算符(>>>)本质介绍
    博客园博客目录自动生成(页面目录)
    Linux查看并杀死被占用的端口
    Eclipse的环境配置
    L-Rui
    Web页面弹出窗口代码大全
    linux-用户
    linux-网络
  • 原文地址:https://www.cnblogs.com/8192bit/p/7196356.html
Copyright © 2020-2023  润新知