互联网协议入门

Learn from:阮一峰-互联网协议入门

1. 概念

  • 互联网协议: 规定电脑如何连接和组网
  • 互联网分层:
    应用层-传输层-网络层-链接层-实体层

2. 实体层

  • 实体层: 把电脑连接起来的物理手段,负责传送0和1电信号

3. 链接层

  • 链接层:确定0和1的分组方式。
  • 以太网协议: 一组电信号构成一个数据包——帧。
互联网协议入门_第1张图片
Paste_Image.png
  • MAC地址: 以太网规定,连入网络的所有设备,都必须具有“网卡”接口。
    数据包是从一块网卡传送到另一块网卡的。
    网卡的地址(MAC地址):数据包的发送和接收地址,这个地址是独一无二的
    48位,12个十六进制 eg:
互联网协议入门_第2张图片
Paste_Image.png
  • 广播: 把数据包发给本网络内的所有计算机,计算机自己判断是否为接收方,如果是,就接收这个包,如果不是,就丢弃包。

3. 网络层

  • 网络层:主机到主机的通信。
  • 以太网广播方式效率低,而且局限在发送者所在的子网络。
  • 网络层引进一套新的地址,使我们能够区分不同的计算机是否属于同一个子网络,这套地址叫做“网络地址”( 网址 )。
  • IP协议: 规定网络地址的协议,目前广泛使用的是IPV4(IP协议第四版)
    IP地址: eg:172.16.254.1(32个二进制位)(范围从0.0.0.0到255.255.255.255)
    互联网上的每一台计算机都会分配到一个IP地址,地址前一部分若干位代表网络部分(所在网络),后半部分代表主机
  • 子网掩码: 表示子网络特征的一个参数,32位二进制,网络部分全为1,主机部分为0.
    根据子网掩码前多少位为1可以判断IP地址前多少位为网络部分,从而判读任意两个IP地址是否处在同一个子网络。
    方法: 将两个IP地址与子网掩码分别按位与运算,结果相同为同一子网络。
    sum: IP地址的作用:
    1.为网络上的计算机提供一个唯一的地址——IP地址
    2.确定哪些地址在同一个子网络
  • IP数据包:
互联网协议入门_第3张图片
Paste_Image.png
  • IP数据包的内容放在以太网数据包的数据部分
互联网协议入门_第4张图片
Paste_Image.png
  • 如果IP数据包在一个以太网数据包中放不下,就要将数据内容分开多个包发送。每个包有相同的标头。

  • ARP协议: 如果两台主机在同一个子网络,使用ARP协议可以得到对方的MAC地址。

4. 传输层

  • 传输层: 端口到端口的通信
  • 端口: 是每一个使用网卡的程序的编号,表示这个数据包到底供哪个程序(进程)使用。
    端口的编号:
    0—65535间的整数(16个二进制位)
    0-1023被系统占用,大于1023用户使用(应用程序随机选取)
  • UDP协议:
    UDP协议优点: 比较简单,容易实现
    缺点: 可靠性差,一旦数据包发出,无法知道对方是否收到
    UDP数据包:
互联网协议入门_第5张图片
Paste_Image.png
互联网协议入门_第6张图片
Paste_Image.png
  • TCP协议: 有确认机制的UDP协议,每发出一个数据包都要求确认
    缺点:过程复杂,实现困难,消耗较多资源
    通常TCP数据包长度不超过IP数据包长度,以确保单个TCP数据包不必再分割

5. 应用层

  • 应用层:规定应用程序的数据格式
互联网协议入门_第7张图片
Paste_Image.png

6. 两台电脑间通信:

互联网协议入门_第8张图片
Paste_Image.png
  • 同一个子网络:发对方的MAC地址和对方的IP地址
  • 不同子网络:发网关的MAC地址和对方的IP地址

7. 静态IP地址上网

  • 每次上网都是同一个IP地址
  • 开网时管理员给的四个参数:
    本机IP地址,子网掩码,网关的IP地址,DNS的IP地址

8. 动态IP地址

  • 计算机上网时,自动分配到一个IP地址,不用认为设定
  • DHCP协议规定:DHCP服务器,负责管理本网络的所有IP地址,新电脑加入网络,就向这个服务器发一个“DHCP请求”数据包来申请IP地址和相关网络参数
  • DHCP数据包


    互联网协议入门_第9张图片
    Paste_Image.png
    • 以太网标头:
      发出方的MAC地址:本机网关MAC地址
      接收方(DHCP服务器)MAC地址:未知,填入广播地址FF-FF-FF-FF-FF-FF
  • IP标头:
    发出方IP地址:未知,设为0.0.0.0
    接收方IP地址:未知,设为255.255.255.255

0.0.0.0不是一个真正意义上的IP地址,表示这样一个集合:所有不清楚的主机和目的网络,255.255.255.255:本网络中的所有主机,不被路由器转发

  • UDP标头:
    发出方端口:68端口
    接收方端口:67端口
    以上是DHCP协议规定的

  • 过程:
    发出以太网数据包,以太网广播给同个子网络中的每台计算机,每台计算机收到这个包后,因为MAC地址是FF-FF-FF-FF-FF-FF,每个计算机分析了这个包的IP地址,发方是0.0.0.0,收方是255.255.255.255,所以DHCP服务器接收这个包,其他计算机丢弃了这个包,DHCP服务器继续读包,然后选取一个未出租的IP地址,再发出一个“DHCP响应”数据包,数据包形式与请求包一样,包含双方MAC地址(请求方和DHCP服务器),DHCP服务器的IP地址和接收方IP(255.255.255.255),UDP标头:发方端口67,收方端口68,data数据内容:动态分配给请求方的IP地址和相关网络参数。

9. DNS协议

  • DNS解析:将网址解析成IP地址
  • 向DNS服务器发DNS数据包(53端口)(这个53端口是指接收方DNS服务器的端口吗?)


    互联网协议入门_第10张图片
    Paste_Image.png

    (以上的各个标头的内容是什么?)
    DNS服务器做出响应,给出请求网址的IP地址。

你可能感兴趣的:(互联网协议入门)