0
点赞
收藏
分享

微信扫一扫

网络基础学习

Xin_So 1天前 阅读 2

文章目录

一、互联网协议

1.通信协议

通信协议是计算机网络中用于控制数据交换的一系列规则和标准。它们定义了数据在网络中的传输方式、格式和顺序,以及如何确保数据的完整性和安全性。通信协议通常分为不同的层次,每层负责不同的网络通信任务。以下是一些常见的通信协议层次和它们的功能:

  1. 物理层(Physical Layer):物理层负责在硬件设备之间传输比特流(0和1)。它定义了电气、机械和功能规范,例如电压水平、时序、连接器类型和信号传输方式。典型的物理层协议包括Ethernet、Wi-Fi和DSL。

  2. 数据链路层(Data Link Layer):数据链路层负责在相邻节点之间传输数据帧。它处理错误检测和纠正,以及流量控制。数据链路层的主要协议包括ARP(地址解析协议)、RARP(反向地址解析协议)和PPP(点对点协议)。

  3. 网络层(Network Layer):网络层负责在不同网络之间传输数据包。它处理路由和逻辑地址分配(如IP地址)。主要的网络层协议包括IP(互联网协议)、ICMP(互联网控制消息协议)和IGMP(互联网组管理协议)。

  4. 传输层(Transport Layer):传输层负责在通信系统中的源端和目的端之间传输数据段。它提供可靠或不可靠的数据传输服务,并处理流量控制和拥塞控制。主要的传输层协议包括TCP(传输控制协议)和UDP(用户数据报协议)。

  5. 会话层(Session Layer):会话层负责在网络中的两个节点之间建立、管理和终止会话。它提供了数据交换的同步和组织功能。会话层协议的例子包括SOCKS(代理服务器)和RPC(远程过程调用)。

  6. 表示层(Presentation Layer):表示层负责处理数据的表示、安全和压缩。它确保从一个系统发送的数据能被另一个系统的应用层理解。表示层协议的例子包括SSL/TLS(安全套接字层/传输层安全协议)和ASCII(美国信息交换标准码)。

  7. 应用层(Application Layer):应用层负责为用户提供网络服务。它定义了用于访问网络资源的接口和协议。典型的应用层协议包括HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)和DNS(域名系统)。

通信协议可以根据不同的应用场景和需求进行选择和组合。例如,在互联网通信中,通常使用IP协议进行数据包传输,TCP协议提供可靠的数据传输服务,而HTTP协议用于访问网页。在无线网络中,Wi-Fi协议用于物理层和数据链路层的无线传输,而IP协议用于网络层的数据包传输。

2.IP协议

IP协议,即互联网协议(Internet Protocol),是TCP/IP协议族中的核心协议之一,负责在网络中传输数据包。IP协议定义了数据包的格式和寻址方式,以及如何将数据包从源节点路由到目的节点。IP协议是无连接的,不保证数据包的顺序、完整性或可靠性。这些特性由传输层的TCP协议来提供。

IP协议的主要特点和功能包括:

  1. 寻址:IP协议使用IP地址来标识网络上的每个设备。IPv4地址是32位长,通常以点分十进制格式表示,例如192.168.1.1。IPv6是IP协议的下一代版本,使用128位地址,以支持更多的设备和更复杂的地址分配。

  2. 分片:IP协议允许将较大的数据分成多个小的数据包(称为分片),以便它们能够通过网络中的不同路径传输。每个分片都包含原始数据的一部分和用于重组的控制信息。

  3. 路由:IP协议不保证数据包的传输路径。数据包在网络中传输时,可能会经过多个中间节点(路由器),每个节点根据当前的网络状况和路由策略独立决定如何转发数据包。

  4. 无连接:IP协议是无连接的,这意味着在发送数据之前不需要建立一个稳定的连接。每个数据包独立发送,可能会通过不同的路径到达目的地。

  5. 不可靠性:IP协议本身不保证数据包的可靠传输。它不保证数据包的顺序、完整性或是否到达目的地。TCP协议在传输层提供了可靠的数据传输服务,确保数据的正确性和顺序。

  6. 头部信息:IP数据包包含一个头部,其中包含了源IP地址、目的IP地址、数据包长度、生存时间(TTL)等重要信息。这些信息用于数据包的路由和处理。

IP协议是互联网的基础,它使得不同类型的网络能够互联互通,形成了今天的全球互联网。尽管IP协议本身不保证数据的可靠性,但它与其他协议(如TCP、UDP)的结合使用,为网络通信提供了强大的支持。

3.一些重要协议

  1. HTTP协议

    • HTTP(HyperText Transfer Protocol,超文本传输协议)是一种应用层协议,用于在客户端和服务器之间传输超文本数据,通常用于网页浏览器和服务器之间的通信。
    • HTTP 协议是无状态的,每个请求都是独立的,不会保留前一个请求的状态信息。
    • 除了传输文字信息外,HTTP 协议也可以传输各种类型的数据,如图片、音频、视频等。
  2. HTTPS协议

    • HTTPS(HyperText Transfer Protocol Secure,超文本传输安全协议)是在HTTP基础上添加了安全性措施的协议。
    • HTTPS 使用 SSL/TLS 加密协议对数据进行加密,确保数据在传输过程中的安全性,防止数据被窃取或篡改。
    • HTTPS 协议在网站、电子商务等对安全性要求较高的场景中广泛应用。
  3. DNS协议

    • DNS(Domain Name System,域名系统)是一种用于将域名解析为对应 IP 地址的协议,实现了域名与 IP 地址之间的映射。
    • DNS 协议通过域名解析服务器将用户输入的域名转换为对应的 IP 地址,使得用户可以通过简单易记的域名访问互联网资源。
  4. FTP协议

    • FTP(File Transfer Protocol,文件传输协议)是一种用于在客户端和服务器之间传输文件的协议。
    • FTP 协议支持文件的上传、下载、删除、重命名等操作,被广泛用于文件传输和共享。

这些协议在网络通信中扮演着不同的角色,HTTP 和 HTTPS 用于传输超文本数据,DNS 用于域名解析,FTP 用于文件传输。通过这些协议的组合,我们可以实现各种类型的网络通信和数据传输,并确保通信过程的安全性和可靠性。

二、IP地址

1.ip地址的介绍

IP 地址(Internet Protocol Address,互联网协议地址)是用于在网络中唯一标识主机或路由器的数字标识。IP 地址通常采用 IPv4 或 IPv6 格式,其中 IPv4 地址由 32 位二进制数字组成,IPv6 地址由 128 位二进制数字组成。

IPv4 地址分类
IPv4 地址根据其网络部分和主机部分的划分,分为以下几个类别:

  1. A 类地址

    • A 类地址的网络部分占 8 位,主机部分占 24 位。
    • A 类地址范围从 1.0.0.0 到 126.255.255.255,其中 0 和 127 保留不用。
    • A 类地址用于大型网络,可以分配大量主机。
  2. B 类地址

    • B 类地址的网络部分占 16 位,主机部分占 16 位。
    • B 类地址范围从 128.0.0.0 到 191.255.255.255。
    • B 类地址用于中等规模的网络,可以分配适中数量的主机。
  3. C 类地址

    • C 类地址的网络部分占 24 位,主机部分占 8 位。
    • C 类地址范围从 192.0.0.0 到 223.255.255.255。
    • C 类地址用于小型网络,可以分配少量主机。
  4. D 类地址

    • D 类地址用于多点广播,范围从 224.0.0.0 到 239.255.255.255。
  5. E 类地址

    • E 类地址用于实验和研究,范围从 240.0.0.0 到 255.255.255.255。

IPv6 地址
IPv6 地址采用 128 位二进制数字表示,通常由 8 组 16 进制数字组成,每组之间用冒号分隔。IPv6 地址的分类相对简单,不再像 IPv4 那样划分为不同类别,而是根据前缀长度来确定地址的用途和范围。

总的来说,IP 地址是网络中设备的唯一标识,IPv4 地址根据网络部分和主机部分的划分分为 A、B、C、D、E 类地址,而 IPv6 地址则采用更加简洁的表示方式,不再采用类别划分。

2.域名

在访问一台服务器的时候,需要服务的计算机要ip地址,但是ip有点不好记忆,就推出域名技术(ip名字)域名用于数据传输

  1. **www.google.com**
    • 这是谷歌搜索引擎的域名。在这个域名中,“www”是子域名,表示网站服务器的名称,“google”是二级域名,表示网站的名称,“com”是顶级域名,表示商业类域名。

3.DNS

DNS(Domain Name System,域名系统)是互联网中用于将域名解析为对应 IP 地址的分布式命名系统。简单来说,DNS 的作用是将人类可读的域名转换为计算机可识别的 IP 地址,从而实现网络中不同设备之间的通信和数据传输。

以下是 DNS 的一些关键特点和功能:

  1. 域名解析:DNS 是通过域名解析的方式来实现将域名转换为对应的 IP 地址。用户在浏览器中输入域名时,DNS 会将这个域名映射到相应的 IP 地址,从而使得计算机能够准确找到目标资源。

  2. 分布式系统:DNS 是一个分布式系统,由多个域名服务器组成,分布在全球各地。这种分布式结构有助于提高系统的可靠性和性能,同时也减轻了单一服务器的负载压力。

  3. 层级结构:DNS 的域名系统采用了层级结构,从根域名服务器、顶级域名服务器、权威域名服务器到本地域名服务器,每一级域名服务器负责不同的域名解析任务,协同工作完成整个解析过程。

  4. 缓存机制:DNS 服务器会对解析过的域名信息进行缓存,以提高解析效率和减少网络流量。当用户再次查询相同的域名时,DNS 可以直接返回缓存的结果,而不必重新进行解析。

三、端口

在计算机网络中,端口(Port)是一种逻辑概念,用于标识一台计算机上运行的特定应用程序或服务。每个端口都与特定的服务或应用程序相关联,使得不同的程序能够在同一台计算机上同时运行而不会相互干扰。

端口是通过数字来表示的,范围从0到65535。其中,0到1023的端口号被称为“知名端口”(Well-Known Ports),用于一些常见的服务,如HTTP(端口号80)、FTP(端口号21)、SMTP(端口号25)等。这些端口号通常被操作系统保留,用于标识特定的网络服务。

除了知名端口外,还有一些端口号被用于动态或私有端口,用于特定应用程序或服务的通信。例如,网站通常使用HTTP服务的默认端口80,但也可以使用其他端口号,如8080。

在网络通信中,数据包通过目标主机的IP地址和端口号来确定目的地。发送方将数据包发送到目标主机的特定端口,目标主机根据端口号将数据包传递给相应的应用程序或服务。

总之,端口是计算机网络中用于标识特定应用程序或服务的逻辑标识,通过端口号来实现不同应用程序之间的通信和数据传输。

四、架构

在计算机科学和软件工程领域,架构(Architecture)通常指的是系统或软件的整体结构、组织方式以及各个组件之间的关系。软件架构描述了系统的各个部分如何组合在一起,以及它们如何相互作用,从而实现系统的功能和性能要求。

C/S和B/S是两种常见的软件架构模式,分别代表Client/Server(客户端/服务器)和Browser/Server(浏览器/服务器)。

  1. C/S架构(Client/Server):C/S架构是一种传统的软件架构模式,其中系统被分为客户端和服务器两个部分。客户端负责向用户提供界面和交互功能,而服务器负责处理业务逻辑、数据存储和处理。客户端通过网络连接到服务器,与服务器进行通信并获取所需的数据或服务。这种架构模式通常用于需要高度定制化、对用户体验要求高、需要离线操作的应用程序。

  2. B/S架构(Browser/Server):B/S架构是一种现代的软件架构模式,其中用户通过浏览器作为客户端与服务器进行交互。用户通过浏览器访问Web应用程序,所有的业务逻辑和数据处理都在服务器端完成,客户端主要负责展示和交互。这种架构模式使得应用程序可以跨平台、跨设备访问,并且减少了客户端的维护工作。Web应用程序通常采用B/S架构。

五、网页数据请求

在Web开发中,数据请求通常使用GET请求和POST请求这两种最常见的HTTP方法。

  1. GET请求

    • GET请求用于从服务器获取数据,通常用于请求特定资源或页面。当使用GET请求时,请求的数据会附在URL的末尾,以查询字符串的形式发送给服务器。因此,GET请求的数据会暴露在URL中,可能被浏览器、代理服务器等记录下来,不适合传输敏感数据。
    • GET请求可以被缓存,可以被书签保存,也可以被浏览器历史记录保存下来。
    • 适合用于请求数据或页面,对于不会改变服务器状态的请求比较适用。
  2. POST请求

    • POST请求用于向服务器提交数据,通常用于提交表单数据或上传文件等操作。POST请求的数据不会暴露在URL中,而是作为请求的正文发送给服务器,更适合传输大量数据或敏感数据。
    • POST请求不会被缓存,不会被保存在书签或历史记录中。
    • 适合用于提交表单数据、上传文件、进行登录等需要传输大量数据或敏感数据的操作。

六、响应码

HTTP响应码是HTTP协议定义的一组状态码,用于表示服务器对客户端请求的处理结果。每个响应码都有特定的含义,以便客户端能够了解请求的处理情况。以下是一些常见的HTTP响应码及其含义:

  1. 1xx - 信息性状态码
    • 该响应为临时响应,标识临时响应并需要请求放继续操作的响应码
    • 100 Continue:服务器已经收到了请求的一部分,客户端应该继续发送剩余的请求。
    • 101 请求数据要求服务器切换协议,服务器确认切换
  2. 2xx - 成功状态码
    • 表示请求成功
    • 200 OK:请求成功。一般用于GET、POST等请求成功时返回的响应。
    • 201 Created:请求已经被成功处理,并且创建了新资源。
    • 204 No Content:请求成功,但响应不包含任何内容。
  3. 3xx - 重定向状态码
    • 响应码表示完成请求,需要等待下一步操作
    • 301 Moved Permanently:请求的资源已经被永久移动到新位置。
    • 302 Found:请求的资源暂时被移动到新位置。
    • 304 Not Modified:资源未被修改,可以使用缓存的版本。
  4. 4xx - 客户端错误状态码
    • 400 Bad Request:请求无效,服务器无法理解。
    • 401 Unauthorized:未授权,需要提供身份验证信息。
    • 403 Forbidden:禁止访问,服务器拒绝请求。
    • 404 Not Found:请求的资源不存在。
    • 408 服务器等待请求超时
  5. 5xx - 服务器错误状态码
    • 500 Internal Server Error:服务器遇到错误,无法完成请求。
    • 502 Bad Gateway:充当网关或代理的服务器从上游服务器接收到无效响应。
    • 503 Service Unavailable:服务器暂时无法处理请求,通常是因为过载或维护。

HTTP响应码是HTTP通信过程中非常重要的部分,能够帮助开发人员和用户了解请求的处理情况,从而进行相应的处理。根据不同的响应码,客户端可以采取不同的行动,例如重试请求、显示错误信息等。

举报

相关推荐

0 条评论