网络协议基础

网络协议基础

网络分层协议

网络协议分层

  • 应用层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

应用层

  1. 我们直接能够接触到的,我们的手机我们的电脑使用的软件就是在引用层

  2. 应用层只需要专注于为用户提供应用功能,不去关心数据是如何传播的就类似于,我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是如何被运输的。而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态

传输层

  1. 有两个协议TCP(Transmission Control Protocol)和UDP

  2. 大部分应用使用的正是 TCP传输层协议,比如 HTTP 应用层协议。

  3. TCP保证了数据能可靠的传输给对方。应用需要传输的数据可能会非常大,如果直接传输就不好控制,因此当传输层的数据包大小超过MSS(TCP 最大报文段长度) ,就要将数据包分块,这样即使中途有一个分块丢失或损坏了,只需要重新发送这一个分块,而不用重新发送整个数据包。在 TCP 协议中,我们把每个分块称为一个
    TCP段(TCP Segment)

  4. UDP只是简单的发送不会保证对方是否接受到

  5. 当设备作为接收方时,传输层则要负责把数据包传给应用,但是一台设备上可能会有很多应用在接收或者传输数据,因此需要用一个编号将应用区分开来,这个编号就是端口。比如80端口通常是Web服务器用的,22端口通常是SSH远程登录服务器用的。而对于浏览器(客户端)中的每个标签栏都是一个独立的进程,操作系统会为这些进程分配临时的端口号。
    由于传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应用。

    说白了就是用于区分不同的信息有不同的去处

网络层

  1. 网络层并不负责将数据从一个设备传输到另一个设备

  2. 只需要服务好应用即可,让其作为应用间数据传输的媒介,帮助实现应用到应用的通信,而实际的传输功能就交给下一层,也就是
    网络层(InternetLayer)

  3. 网络层最常使用的IP协议

    IP 协议会将传输层的报文作为数据部分,再加上IP 包头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。

  4. 为了查询地址方便,需要将IP地址分成两种意义

    • 网络号:标识网络号是属于哪个子网
    • 主机号:标识同一个子网下的不同的主机

    怎么分的呢?这需要配合子网掩码才能算出 IP 地址 的网络号和主机号。那么在寻址的过程中,先匹
    配到相同的网络号,才会去找对应的主机。
    除了寻址能力, IP 协议还有另一个重要的能力就是路由。实际场景中,两台设备并不是用一条网线连接起来的,而是通过很多网关、路由器、交换机等众多网络设备连接起来的,那么就会形成很多条网
    络的路径,因此当数据包到达一个网络节点,就需要通过算法决定下一步走哪条路径。

    IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径。寻址更像在导航,路由更像在操作方向盘

数据链路层

  1. 一旦数据需要跨网络传输,就需要有一个设备同时在两个网络当中,这个设备一般是路由器,路由器
    可以通过路由表计算出下一个要去的 IP 地址。
  2. 每一台设备的网卡都会有一个 MAC 地址,它就是用来唯一标识设备的。路由器计算出了下一个目的地
    IP 地址,再通过 ARP 协议找到该目的地的 MAC 地址,这样就知道这个 IP 地址是哪个设备的了。

物理层

  1. 主要他提供二进制的传输协议服务

IP详解

IP基础知识

  1. IP的作用

    TCP/IP处于第三层网络层

    网络层的作用:实现主机与主机之间的通信,也叫点对点通信

  2. IP和MAC的关系

    MAC负责实现直连的两个设备之间的通信,而IP负责没有直连的两个网络中

    在网络中数据包传输中,源IP地址和目标IP地址在传输过程中是不会变化的,只有源 MAC 地址和目标 MAC 一直在变化

IP地址基础知识

  1. IPV4是由32为01组成的4组01,也就是说每一各组就是8位

  2. IP地址的分类,分成了5类,A,B,C,D,E

    image-20230819175436479

    只有A,B,C类才会分,网络号和主机号

  3. 判断分类

    image-20230819175908124

  4. 私有IP

    image-20230819175936318

IP协议相关技术

跟 IP 协议相关的技术也不少,接下来说说与 IP 协议相关的重要且常见的技术。

  • DNS 域名解析
  • ARP 与 RARP 协议
  • DHCP 动态获取 IP 地址
  • NAT 网络地址转换
  • ICMP 互联网控制报文协议
  1. DNS域名解析

    image-20230819180737171

  2. DHCP 动态获取 IP 地址

    工作流程

    image-20230819180924981

其他知识点

  1. url和uti

    url的固定的语法

    protocol://[[user[:password]@]host[:port]][/path][?query][#fragment]
    [协议名]://用户名:密码@主机名:端口/路径?查询参数#片段ID

    也就是说一个url常见的的组成是:

    • 协议名

    • 域名

    • 端口

      https默认的端口是443

      http默认的端口是80

    • /后面表示的是路径

    • ?后面表示的参数

    例如:

    https://en.wikipedia.org:443/wiki/Hypertext_Transfer_Protocol?id=123#HTTP/1.1_response_messages

  2. uri 统一资源标识符

    下面是uri和url的关系

    image-20230820104232492

  3. http客户端请求信息

    http请求四个部分组成

    • 请求行
    • 请求头部
    • 空行
    • 请求正文
  4. 请求方法

    就是在请求行一个部分的字符

    GET 请求获取Request-URI所标识的资源
    POST 在Request-URI所标识的资源后附加新的数据
    HEAD 请求获取由Request-URI所标识的资源的响应消息报头

    PUT 请求服务器存储一个资源,并用Request-URI作为其标识

    DELETE 请求服务器删除Request-URI所标识的资源
    TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
    OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
    CONNECT 保留将来使用,HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
    PATCH 用于将局部修改应用到资源。(由 RFC 5789 指定的方法)

    • get主要和post 的区别
      • get负责字符传输,传参的时候是url里面传参数
      • post负责流媒体等超文本的传输,使用字节传输
  5. 五大http状态码

    • 100 继续
    • 200 成功
    • 302 跳转,重定向
    • 404 访问资源不存在
    • 403 访问不允许
    • 405 请求方式不允许
    • 5XX 服务器错误

HTTP

基本概念

HTTP 是超文本传输协议,也就是HyperText Transfer Protocol

http常见的字段

host

客户端发送请求的时候,用来指定服务器的域名

host: www.a.com

Content-Length

表明本次回应的长度是多少

Connection

是否是TCP持久通信

Content-Type

高速客户端本次的数据是什么格式

Content-Encoding

说明数据的压缩方法

其他

  1. Content-Encoding

    通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态

  2. post提交数据的几种Content-Type

    • application/x-www-form-urlencoded:最常见的POST提交数据方式,浏览器支持的原生form 表单
    • multipart/form-data:这种方式一般用来上传文件
    • application/json:在响应头中很常见,在请求头中用来告诉服务端消息主体是序列化后的json 字符串

网络协议基础
https://tsy244.github.io/2023/08/19/渗透/网络协议基础/
Author
August Rosenberg
Posted on
August 19, 2023
Licensed under