zoukankan      html  css  js  c++  java
  • 互联网协议学习笔记

    互联网协议(Internet ProtocolSuite)

    一、概述

    1.1五层模型

    应用层(Application Layer)
    传输层(Transport Layer)
    网络层(Network Layer)
    链接层(Link Layer):在“实体层”上方,确定了0和1的分组方式
    实体层(Physical Layer):把电脑连接起来的物理手段,主要规定了一些电器特性,作用是负责传送0和1的电信号

    二、实体层

    三、链接层

    3.1 以太网协议

    以太网规定,一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。

    head data            

    "标头"包含数据包的一些说明项,比如发送者、接受者、数据类型等等;"数据"则是数据包的具体内容。

    "标头"的长度,固定为18字节。"数据"的长度,最短为46字节,最长为1500字节。因此,整个"帧"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。 
    3.2 MAC地址
    以太网数据包的“标头”,包含了发送者和接受者的信息。那么,发送者和接受者是如何标识呢?

    以太网规定,连入网络的所有设备,都必须具有"网卡"接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。

    每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,通常用12个十六进制数表示。

    MAC Address

    00-B0-D0-86-BB-F7

    前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就可以定位网卡和数据包的路径了。

    3.3 广播

    上图中,1号计算机向2号计算机发送一个数据包,同一个子网络的3号、4号、5号计算机都会收到这个包。它们读取这个包的"标头",找到接收方的MAC地址,然后与自身的MAC地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种发送方式就叫做"广播"(broadcasting)。

    有了数据包的定义、网卡的MAC地址、广播的发送方式,"链接层"就可以在多台计算机之间传送数据了。

     四、网络层

    4.1 网络层的由来

    引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做"网络地址",简称"网址"。

    4.2 IP协议

    规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。

    目前,广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。

    IP Address

    172.16.254.1

    10101100.00010000.11111110.00000000

    习惯上,我们用分成四段的十进制数表示IP地址,从0.0.0.0一直到255.255.255.255。

    互联网上的每一台计算机,都会分配到一个IP地址。这个地址分成两个部分,前一部分代表网络,后一部分代表主机。 

    4.3 IP数据包

    根据IP协议发送的数据,就叫做IP数据包。

    4.4 ARP协议

    五、传输层

    5.1 传输层的由来

    5.2 UDP协议

    5.3 TCP协议

    六、应用层

    "应用层"的作用,就是规定应用程序的数据格式。

    它的数据就放在TCP数据包的"数据"部分。因此,现在的以太网的数据包就变成下面这样。

    七、小结

    八、上网设置

    8.1静态IP地址

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

    下图是Windows系统的设置窗口。

     

    8.2 动态IP地址

    所谓"动态IP地址",指计算机开机后,会自动分配到一个IP地址,不用人为设定。它使用的协议叫做 DHCP协议 。

    这个协议规定,每一个子网络中,有一台计算机负责管理本网络的所有IP地址,它叫做"DHCP服务器"。新的计算机加入网络,必须向"DHCP服务器"发送一个"DHCP请求"数据包,申请IP地址和相关的网络参数。

    8.3 DHCP协议

    首先,它是一种应用层协议,建立在UDP协议之上,所以整个数据包是这样的:

     
     
     
  • 相关阅读:
    ceph pg pool
    linux 开放访问端口
    授予普通用户root权限
    ajax返回json中文是问号
    elasticseach 安装head
    python学习之路8
    JS正则表达式学习
    python学习之路7 前端学习4 jQuery 学习
    python学习之路7 前端学习3
    python 学习总结6 前端学习2
  • 原文地址:https://www.cnblogs.com/crystalmoore/p/6861617.html
Copyright © 2011-2022 走看看