OSI七层模型

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

计算机网络基础知识 - 图1

地址链路层

MTU(最大传输单元)

数据链路层传输的最大单元,以太网的一般为1500字节,如果超过这个量,就要分片来传输。

地址解析协议(ARP)

ip地址转换成mac地址
image.png

反向地址解析协议(RARP)

主要是用在无盘工作站中,因为ip地址一般是保存在本机的硬盘中,因此想要获取无盘工作站的IP地址就需要使用RARP协议。
MAC地址转换成IP地址
image.png

ICMP协议

用于传递差错信息、事件、事件、回显、网络信息等控制数据
image.png

网络层

数据在网络中传输的过程(ping)

  • 应用程序ping会判断发送的是主机名还是ip地址,跳动函数gethostbyname()解析主机B,将主机名转换成一个32位的IP地址。这个过程就叫DNS域名解析
  • ping程序向目的IP地址发送一个ICMP的ECHO包
  • 将目标主机的IP地址转换为48位MAC地址,在局域网内发送ARP请求广播,查找主机B的MAC地址
  • 主机B的ARP协议层接收到主机A的ARP请求后,将本机的硬件地址填充到应答包,发送ARP应答到主机A
  • 发送ICMP数据包到主机B
  • 主机B接收到主机A的ICMP包,发送响应包
  • 主机A接收到主机B的ICMP包响应包

    IP数据报格式

    这里的每一单位代表的是四个字节,字段长度代表 用多少位来表示值的大小
    例子:
    比如,一个字段的长度为4位,最大值为15,最小值为5。则为20-60字节大小
    为20时,值为5:字段表示为0101
    为60时,值为15:字段表示为1111

image.png
image.png
image.png
image.png

网际校验和

image.png
image.png
接收端校验和如果不为全1则必定错误,为全1则可能错误。

路由

image.png

传输层(TCP协议)

TCP特点

  • 基于字节流
  • 面向连接
  • 可靠传输
  • 缓冲传输
  • 全双工
  • 流量控制

    TCP报文格式

    image.png

    源端口号和目的端口号

    image.png

    序号

    表示在这个报文段中的第一个数据字节序号

    确认号

    仅当ACK标志位1时有效。确认号表示期望收到的下一个字节的序号

    头部长度

    4位,与之前一样,最多表示60字节。

    保留位

    6位,必须全部为零。
    image.png
    image.png

    TCP链接建立三次握手

    image.png
    半连接状态和ESTABLISHED状态各有一个缓冲队列。
    image.png

    TCP链接终止四次挥手

    image.png

    TCP如何保证可靠性

    image.png

    滑动窗口协议

    主要用于流控,链路层的滑动窗口协议以帧为单位,TCP的滑动窗口协议以字节为单位进行确认。
    image.png
    image.png

    UDP协议特点

  • 无连接

  • 不可靠
  • 一般情况下,UDP更加高效

    UDP报文格式

    image.png