网络编程先验知识1

介绍

  • 互联网
      • [1. 什么是互联网?](#1. 什么是互联网?)
      • [2. 网络与网络之间是通过什么连接在一起的?](#2. 网络与网络之间是通过什么连接在一起的?)
      • [3. 路由器是不是主机,为什么?](#3. 路由器是不是主机,为什么?)
  • OSI七层体系结构
  • TCP/IP协议与五层体系结构
  • IP地址与端口号
      • [1. 分类IP](#1. 分类IP)
      • [2. 无分类编址(CIDR)](#2. 无分类编址(CIDR))
      • [3. 子网掩码](#3. 子网掩码)
      • [4. IPv6的表示方式](#4. IPv6的表示方式)
      • [5. 协议端口号](#5. 协议端口号)

互联网

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),用于网络通信中的特定应用程序。

相关推荐
Cry丶8 小时前
ubuntu安装vsftpd
服务器·网络·ubuntu
SHENGWEI胜为12 小时前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
IMPYLH13 小时前
Linux 系统备份与镜像
linux·服务器·网络
淘气包海鸟14 小时前
水声网络框架
网络·ns3·水
国科安芯15 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
中屹指纹浏览器svip16 小时前
网络抖动会标记账号异常?分清两种波动
网络
承渊政道16 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
小此方16 小时前
Linux网络(三十三):告别O(n)噩梦:从select/poll的挣扎到epoll红黑树+回调的降维打击,一文打通IO多路复用
linux·网络·驱动开发
2301_7779983416 小时前
Linux 网络:数据链路层
linux·服务器·网络
国科安芯17 小时前
空间锂离子电池组管理系统CANFD通信网络的辐射可靠性设计
网络·信息与通信·canfd·电池·低轨卫星·抗辐射