首页 > 编程语言 >网络编程先验知识1

网络编程先验知识1

时间:2024-08-09 21:55:14浏览次数:12  
标签:Layer 知识 主机 编程 网络 255.255 先验 IP地址 路由器

介绍

互联网

1. 什么是互联网?

互联网(Internet)是一个全球性的计算机网络系统,通过一系列标准化的协议(如TCP/IP)将世界各地的计算机和网络设备连接在一起。它允许用户通过网络进行信息交换、资源共享、通信和各种在线服务。互联网的关键特征包括:

  • 全球互联:连接全球范围内的各种网络,包括局域网(LAN)、广域网(WAN)等。
  • 开放标准:使用统一的协议(如TCP/IP)确保不同设备和网络之间的互操作性。
  • 分布式架构:没有中央控制机构,网络中的每个节点都可以通过路由和交换技术自主传输数据。
  • 多样化服务:提供电子邮件、网页浏览、文件传输、在线游戏、社交媒体等多种服务。

2. 网络与网络之间是通过什么连接在一起的?

网络与网络之间主要通过以下几种方式连接在一起:

  • 路由器(Routers):负责在不同网络之间传输数据包,根据目标IP地址选择最佳路径进行转发。路由器是互联网的骨干设备,通过路由表和路由协议实现网络之间的互连。
  • 交换机(Switches):主要用于局域网内部的设备连接,也可以用于不同网络之间的连接,但通常需要通过路由器进行更广泛的网络互连。
  • 网关(Gateways):充当不同网络协议之间的桥梁,进行协议转换和数据转发。常用于连接不同类型的网络,如将内部网络与互联网连接。
  • 光纤、电缆、卫星链路等传输介质:物理层面的连接方式,传输介质提供数据在不同地理位置的网络之间进行物理传输的通道。
  • 网络服务提供商(ISPs):提供网络接入和互连服务,通过其基础设施和服务将用户网络连接到更大的互联网。

3. 路由器是不是主机,为什么?

路由器不是主机。以下是原因及其区别:

  • 路由器(Router)

    • 功能:路由器的主要功能是连接不同的网络,转发数据包,并根据目标地址选择最佳路径。它使用路由表和路由协议来管理网络间的通信。
    • 特点:具有多个网络接口(如多个以太网端口),用于连接不同的网络。主要用于网络间的数据传输和管理。
    • 示例:家庭网络中的Wi-Fi路由器,企业网络中的核心路由器,ISP使用的骨干路由器。
  • 主机(Host)

    • 功能:主机是网络中的终端设备,运行应用程序,提供和使用网络服务。主机可以是服务器、个人电脑、智能手机等。
    • 特点:通常有一个或多个网络接口,用于连接到一个网络。主要用于数据的生成、处理和存储。
    • 示例:个人电脑、服务器、智能手机等。

总结

  • 功能区别:路由器主要用于连接网络和转发数据包,而主机主要用于运行应用程序和提供服务。
  • 网络角色:路由器在网络层工作,负责网络间的通信;主机在应用层工作,负责数据的生成和使用。

因此,尽管路由器和主机都是网络中的关键设备,它们的功能和角色有显著区别,路由器不被视为主机。

OSI七层体系结构

OSI(Open Systems Interconnection)七层模型是一个标准化的网络框架,用于定义网络通信的各个阶段。每一层都为上一层提供服务,并从下一层接收服务。七层模型从底层到顶层依次为:

  1. 物理层(Physical Layer)

    • 作用:负责实际的硬件传输,包括电缆、网卡、集线器等。它定义了物理设备的电气和物理规范,如电压、电流、传输速率、物理连接等。
    • 功能:信号的传输和接收。
  2. 数据链路层(Data Link Layer)

    • 作用:负责节点间的数据传输和错误检测、纠正。它在物理层之上,提供了可靠的数据传输。
    • 功能:帧的组装和拆解、MAC地址寻址、错误检测与校正。
  3. 网络层(Network Layer)

    • 作用:负责数据包的路由选择、转发、逻辑地址(如IP地址)的分配和管理。
    • 功能:路径选择和网络互连、路由选择、逻辑地址管理。
  4. 传输层(Transport Layer)

    • 作用:提供端到端的通信服务,包括数据的分段和重组、流量控制、错误检测与恢复。
    • 功能:端口地址(如TCP/UDP端口)管理、数据分段与重组、流量控制、可靠数据传输。
  5. 会话层(Session Layer)

    • 作用:负责建立、管理和终止会话。会话层控制对话(连接)的建立、管理和终止。
    • 功能:会话建立与管理、同步、对话控制。
  6. 表示层(Presentation Layer)

    • 作用:负责数据的表示、翻译、加密和解密。它确保来自不同系统的数据可以互相理解。
    • 功能:数据格式化、加密与解密、数据压缩。
  7. 应用层(Application Layer)

    • 作用:为应用程序提供服务,直接面向用户。它是用户与网络交互的界面。
    • 功能:文件传输、电子邮件、远程登录等应用服务。

这个分层模型的设计旨在简化网络通信的设计、开发和故障排除,并确保不同类型的网络硬件和软件可以互操作。

TCP/IP协议与五层体系结构

五层模型是对OSI七层模型的简化,用于描述计算机网络的分层结构。五层模型包括以下层次,从底层到顶层依次为:

  1. 物理层(Physical Layer)

    • 功能:负责物理设备的传输和接收。它定义了硬件设备、传输介质、信号的电气特性和物理连接标准。
    • 作用:实现比特流的传输,通过介质传输原始的二进制数据。
  2. 数据链路层(Data Link Layer)

    • 功能:负责在相邻节点间的可靠数据传输,包括帧的组装和拆解、物理地址(MAC地址)寻址、错误检测与纠正。
    • 作用:提供可靠的点到点的帧传输,处理物理层传输中的错误。
  3. 网络层(Network Layer)

    • 功能:负责数据包的路由选择和转发。它管理网络间的逻辑地址(如IP地址),选择最佳路径传输数据。
    • 作用:路径选择、数据包的路由和转发、逻辑地址管理。
  4. 传输层(Transport Layer)

    • 功能:提供端到端的通信服务,确保数据传输的可靠性和完整性。它包括数据的分段和重组、流量控制、错误检测与恢复。
    • 作用:端到端连接的建立与管理、数据分段与重组、流量控制、可靠数据传输。
  5. 应用层(Application Layer)

    • 功能:为用户提供直接的网络服务,如文件传输、电子邮件、远程登录等。它是用户与网络交互的接口。
    • 作用:提供各种网络应用服务,直接面向用户。

五层模型简化了OSI七层模型,将表示层和会话层的功能合并到应用层中,使网络层次结构更加简洁易懂,同时保留了主要的网络功能。

IP地址与端口号

1. 分类IP

分类IP地址是早期IP地址分配方法,将IPv4地址划分为不同类别,每类具有不同的网络和主机位数。

  • A类

    • 范围:1.0.0.0 到 126.255.255.255
    • 网络位:8位
    • 主机位:24位
    • 默认子网掩码:255.0.0.0
    • 特点:适用于拥有大量主机的大型网络。例如,大型公司或机构。
    • 特殊地址:127.0.0.0 到 127.255.255.255保留用于环回测试(通常是127.0.0.1)。
  • B类

    • 范围:128.0.0.0 到 191.255.255.255
    • 网络位:16位
    • 主机位:16位
    • 默认子网掩码:255.255.0.0
    • 特点:适用于中型网络,例如大学或中型公司。
  • C类

    • 范围:192.0.0.0 到 223.255.255.255
    • 网络位:24位
    • 主机位:8位
    • 默认子网掩码:255.255.255.0
    • 特点:适用于小型网络,例如小企业或家庭网络。
  • D类(多播):

    • 范围:224.0.0.0 到 239.255.255.255
    • 特点:用于多播组,不用于主机寻址。应用于视频会议和直播等多点传送服务。
  • E类(保留地址):

    • 范围:240.0.0.0 到 255.255.255.255
    • 特点:保留供未来使用或研究目的,不用于常规网络通信。

2. 无分类编址(CIDR)

**无分类域间路由(Classless Inter-Domain Routing, CIDR)**是一种灵活的IP地址分配和路由聚合方法,取代了传统的A、B、C类网络划分。

  • 表示方法:采用IP地址后跟斜杠和网络前缀长度表示法,例如192.168.1.0/24。
    • 192.168.1.0/24 表示前24位为网络地址,后8位为主机地址。
  • 优点
    • 灵活性:允许任意长度的网络前缀,提供了更灵活的地址分配。
    • 路由聚合:可以通过聚合多个网络前缀减少路由表的大小,优化路由性能。

3. 子网掩码

子网掩码用于区分IP地址中的网络部分和主机部分,通过掩码来确定网络地址。

  • 表示方法:与IP地址一样,用点分十进制表示,例如255.255.255.0。
  • 功能:与IP地址进行按位与运算(AND),以获得网络地址。
    • 例子
      • IP地址:192.168.1.10
      • 子网掩码:255.255.255.0
      • 网络地址计算:192.168.1.10 AND 255.255.255.0 = 192.168.1.0

4. IPv6的表示方式

IPv6地址是128位长,用于解决IPv4地址不足的问题。

  • 标准表示:用冒号分隔的8组16进制数,每组4个16进制数字,例如2001:0db8:85a3:0000:0000:8a2e:0370:7334。
  • 简化表示
    • 省略前导零:每组16进制数字前的零可以省略,例如2001:db8:85a3:0:0:8a2e:370:7334。
    • 双冒号表示一组连续的零:例如2001:db8:85a3::8a2e:370:7334。双冒号只能出现一次。

5. 协议端口号

端口号用于标识网络中不同应用程序的通信终端。主要分为三类:

  • 知名端口(Well-known Ports)

    • 范围:0-1023
    • 用途:用于常见的网络服务和协议。例如:
      • HTTP:80
      • HTTPS:443
      • FTP:21
      • SSH:22
  • 注册端口(Registered Ports)

    • 范围:1024-49151
    • 用途:分配给特定应用程序和服务,但不作为知名端口。例如:
      • Microsoft SQL Server:1433
      • MySQL:3306
  • 动态或私有端口(Dynamic or Private Ports)

    • 范围:49152-65535
    • 用途:用于临时或私有端口,通常由客户端应用程序在通信过程中动态分配。例如:
      • 客户端应用程序在建立TCP连接时可能使用这些端口。

每个端口号结合IP地址形成完整的套接字地址(Socket Address),用于网络通信中的特定应用程序。

标签:Layer,知识,主机,编程,网络,255.255,先验,IP地址,路由器
From: https://blog.csdn.net/m0_62342492/article/details/140969050

相关文章

  • C++入门基础知识(笔记):成员变量和成员函数分开存储,非静态成员变量,是属于类的对象上,空对
    在C++中,类内的成员变量和成员函数分开存储只有非静态成员变量才属于类的对象上。1.空对象占用内存空间为:1个字节,代码演示:#include<iostream>usingnamespacestd;//成员变量和成员函数分开存储classPerson{};//这是一个空对象voidtest01(){ Personp;......
  • 记录一些除OI外的其他知识
    rt,未来可能会记录些本人折腾arch的经验,资源,歌单,游戏等等之前看b说chrome的体验最很好,然而我之前实测linux下firefox表现最好,评论说windows下chrome好,linux下firefox好,恰巧前几天我为了在pc玩扒鸡回了win10,实测chrome体验确实不错(在可以用tz的情况),但是同步数据不太好所以有了在......
  • JavaSE基础知识分享(四)
    写在前面前面讲的是面向对象中的封装思想,下面让我们来看看继承这部分的内容!继承概述多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。通过extends关键字可以实现类与类的继承:class子类名extends父类名......
  • JS中原型相关的十个知识点总结
    JavaScript中的原型(Prototype)是理解对象和继承机制的核心概念。以下是我对JavaScript原型相关知识点的总结和详细讲解:1.原型对象(PrototypeObject)在JavaScript中,每个对象都有一个关联的对象,这个关联的对象称为“原型”。当你尝试访问一个对象的属性时,如果该对象本身......
  • Ollama+MaxKB 部署本地知识库
    Ollama+MaxKB部署本地知识库本文我们介绍另外一种部署本地知识库的方案:Ollama+MaxKB相对来说,容易安装且功能较完善,30分钟内即可上线基于本地大模型的知识库问答系统,并嵌入到第三方业务系统中。缺点是如果你的电脑配置不高,问题回答响应时间较长。下图为MaxKB的产......
  • 大学新生的编程入门指南:选择语言、规划学习与避免陷阱
    在数字化时代的浪潮中,编程技能已经成为了大学生必备的素养之一。无论是计算机科学专业的学生,还是其他领域的求学者,掌握编程知识都能在未来的学习和工作中发挥重要作用。然而,面对琳琅满目的编程语言和海量的学习资源,许多大学新生往往感到困惑和迷茫。本文旨在为大学新生提供一份......
  • 静电场 恒定电流场 知识梳理
    前言最近琢磨了一下Markdown插入LaTeX数学公式,感觉效果确实很不错......
  • 并发编程(第一天)
    进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。......
  • 【C++】模板(相关知识点讲解 + STL底层涉及的模板应用)
    目录模板是什么?模板格式模板本质函数模板格式介绍显式实例化模板参数匹配原则类模板类模板的实例化非类型模板参数模板特化——概念函数模板特化类模板的特化全特化半特化偏特化三种类特化例子(放一起比较)模板分离编译STL中比较经典的模板应用(不包含argus)......
  • HTTP协议基础知识【后端 4】
    HTTP协议基础知识HTTP(HyperTextTransferProtocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端(如浏览器)与服务器之间数据传输的格式和规则。无论是浏览网页、在线购物还是使用各种Web应用,HTTP都扮演着至关重要的角色。本文将深入解析HTTP协议的基......