LEEDOM

Mar 01, 2022

网络知识学习笔记-基础知识

OSI七层网络模型

七层模型中的各层作用:

  • 应用层(Application Layer):为应用程序而设计的接口,该层协议主要与应用做交互,常用的应用层协议如HTTP、FTP、SMTP、POP3等;
  • 表现层(Presentation Layer):将数据转换为能与接受者系统格式兼容并适合传输的格式;
  • 会话层(Session Layer): 负责在数据传输中设置和维护两个计算机在计算机网络中的通信连接;
  • 传输层(Transport Layer):在上层协议包装的数据前添加传输控制信息,用于在计算机网络中的数据传输,如TCP、UDP
  • 网络层(Network Layer): 决定数据的路径选择和转寄,如互联网协议IP
  • 数据链路层(Data Link Layer):负责网络寻址、错误侦查和改错;分为两个子层:逻辑链路控制(Logical Link Control,LLC)和介质链路控制(Media Access Control,MAC);
  • 物理层(Physical Layer):负责电脑和实际的通信媒介交互;

以上的定义来至维基百科,当做了解就好了。

TCP/IP四层模型

四层模型及其作用:

  • 应用层(Application Layer):该层的定义和OSI是一致的;
  • 传输层(Transport Layer):传输层的定义也和OSI一致;
  • 网络层(Internet Layer): 网络层的定义也和OSI一致;
  • 网络接口层(Network Access Layer):该层提供了主机到主机通信的能力;

从定义上看,四层模型相比七层更简单,但是必要的分层及负责的功能基本都有包含。

接下来从Wireshark的抓包中看看实际的网络请求中该分层具体的数据

tcp_ip_model_frame

从截图中可以看,从上往下依次为网络接口层、网络层、传输层和应用层

  • 网络接口层这里显示的是以太网2的协议,如图所示

    ethernet2

    • Destination:是目标地址,后面的其MAC地址;
    • Source:源地址,后面的值是其MAC地址;
    • Type:指定上层的具体协议,这里指定的是上层使用IPv4协议;
  • 网络层根据网络接口层指定的协议,使用的是IPv4,看看具体的数据:

    ipv4_data

​ 该协议数据里主要包含了源Ip地址和目标Ip地址;其余还包含了一些网络的基本信息,需要注意的是,这里的Protocol也指定了上层使用的协议,此处为TCP协议

  • 传输层是使用的TCP协议进行网络传输控制,具体数据如下:

    tcp_data

    • Source Port、Destination Port : 源端口号和目标端口号;
    • Sequence Number: 序列号,这个是建立连接时是随机的,之后的交互会根据序列号来对包进行排序,以判断包的传输;
    • TCP Segment Len: 传输的大小;这个值加上当前的序列号就是下次传输的序列号;
    • Acknowledgment Number: 确认号;
    • Flags:标志位,在建立连接的时候是SYN,断开连接时是FIN,还有确认时是ACK;
    • Window:窗口的大小;
    • Window size scaling factor: 窗口的缩小值;这个是因为最开始在设计时,没有考虑到网络的发展如此之快,所以最开始设置的窗口大小上限65535已经无法满足当前网络的需求,因此通过设置缩放因子,来增大窗口的值;
  • 应用层是使用的HTTP协议,数据如下

    http_data

​ 这是访问百度的响应报文;从上至下依次是HTTP版本、状态码和状态值,响应Header,响应Body;

其他

ARP

地址解析协议(Address Resolution Protocol),是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在IPv4中极其重要。

DNS

域名系统(Domain Name System),它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

NAT

网络地址转换(Network Address Translation),通过路由器或者防火墙转换源IP地址的技术,使得多个主机可以通过一个公有IP访问互联网。

RTT

Round Trip Time,一个数据包往返的时间。

RTO

Retransmission TimeOut。

CDN

内容分发网络(Content Delivery Network)是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

OLDER > < NEWER