//网络通讯 --- 不同主机之间的通信(进程间通信)

一、概述

目前使用的计算机网络模型主要分为两个:OSI七层模型TCP/IP模型

相比OSI七层模型 ,TCP/IP模型更简洁,更实用,因此目前所使用的基本都是TCP/IP模型,已成为事实标准

二、OSI七层模型

OSI层名称核心功能与描述关键词协议数据单元常见协议/设备
第7层应用层为应用程序提供网络服务接口。是用户与网络的界面,提供各种特定的应用服务,如文件传输、电子邮件等。网络服务、用户界面报文

HTTPHTTPSFTP,

 SMTPPOP3

DNSTelnet

第6层表示层处理数据的表示形式。确保一个系统应用层发出的信息另一个系统应用层能读懂。负责数据转换、加密解密、压缩解压缩翻译加密压缩报文SSL/TLSGzip, JPEG, MPEG, ASCII
第5层会话层建立、管理和终止应用程序之间的会话。负责对话控制(全双工或半双工)和同步(在数据流中插入检查点以便崩溃后恢复)。对话控制会话管理报文

NetBIOS

RPC (远程过程调用), PPTP

第4层传输层负责端到端的完整通信。提供可靠或不可靠的数据传输,进行差错控制、流量控制、拥塞控制。数据单位称为端到端可靠性流量控制

TCP (可靠), 

UDP (不可靠)

第3层网络层负责将数据包从源主机经过多个网络路由到目的主机。进行逻辑寻址(IP地址)、路由选择和拥塞控制。数据单位称为逻辑寻址路由IP地址

IPICMP路由器

三层交换机

第2层数据链路层负责在同一局域网内相邻设备间的数据传输。进行物理寻址(MAC地址)、差错校验、帧同步。将比特流组织成物理寻址差错控制

:1500字节

(固定大小)

以太网交换机,

网桥PPP

MAC地址

第1层物理层在物理媒介上传输原始的比特流。定义设备的电气、机械、功能和规程特性,如电压、线速、线缆、接口等。比特流物理媒介信号比特

集线器中继器

网线光纤

无线电波

三、TCP/IP模型:网际互联模型(4层)

-----> 实用模型 ===》工业标准

  • 应用层 (对应OSI的 5-7 层) ==》应用程序

  • 传输层 (对应OSI的传输层) ==》端口号         //两种传输方式:tcp(传输控制) udp(用户数据报),延迟小

  • 网络层 (对应OSI的网络层) ==》IP 地址

  • 网络接口层 (对应OSI的 1-2 层) ==》网卡驱动1GB

一帧固定大小:1500字节

数据以帧为单位发送

IP头固定大小:20字节

IP flag:D M

DF(Don't Fragment) (1位)指示路由器不要分片这个数据包。如果路由器需要分片才能转发这个包,它会丢弃该包并向发送方返回一条ICMP“需要分片”消息。

MF(More Fragment) (1位) M=1表示后面还有数据报片。M=0则表示这已是最后一个数据报片。

TCP flag详细介绍见书章节5.5http://计算机网络http://计算机网络

四、tcp/ip协议栈

4.1应用层

协议简称英文全称核心功能简写
DNSDomain Name System
域名解析服务
域名 → IP地址
(互联网的电话簿)
DHCPDynamic Host Configuration Protocol
动态主机配置协议
自动分配IP地址
(网络世界的租房中介)
HTTPHypertext Transfer Protocol
超文本传输协议
传输网页数据
(Web通信的基石)
TFTPTrivial File Transfer Protocol
简单文件传输协议
简单无认证的文件传输
(局域网内的文件快递员)
FTPFile Transfer Protocol
文件传输协议
带认证的可靠文件传输
(功能齐全的文件搬运工)
SNMPSimple Network Management Protocol
简单网络管理协议
监控和管理网络设备
(网络设备的管理员)

详细介绍

DNS (Domain Name System) 域名系统

核心功能:将域名转换为IP地址。
详细介绍:DNS是互联网的“电话簿”或“翻译官”。它负责将人类易于记忆的域名(如 www.example.com)解析为计算机用于路由和寻址的IP地址(如 192.0.2.1)。它是一个分布式的全球数据库系统,通过层级结构(根域名服务器、顶级域服务器、权威域名服务器等)协同工作,确保了互联网的可扩展性和可靠性。没有DNS,我们将不得不记住每个网站的复杂数字IP地址。


DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议

核心功能:自动为网络中的设备分配IP地址。
详细介绍:DHCP用于集中管理和自动分配IP地址及其他网络配置参数。当一台设备(客户端)接入网络时,它会向网络发送广播请求。DHCP服务器接收到请求后,会从其地址池中选择一个可用的IP地址,并连同子网掩码、默认网关、DNS服务器地址等“租借”给该设备。这极大地简化了网络管理,避免了手动配置IP地址可能造成的冲突和错误,实现了设备的即插即用。


HTTP (Hypertext Transfer Protocol) 超文本传输协议

核心功能:实现Web浏览器和服务器之间的网页传输。
详细介绍:HTTP是万维网(WWW)的数据通信基础,是一种无状态的请求-响应协议。客户端(通常是浏览器)向指定服务器的特定端口(默认为80)发起一个HTTP请求。服务器接收到请求后,会返回一个响应,其中包含请求的状态信息(如成功或失败)和所请求的内容(如HTML页面、图片等)。HTTP是无状态的,意味着服务器不会在不同请求之间记住用户,状态信息通常通过Cookie等技术在客户端保存。


TFTP (Trivial File Transfer Protocol) 简单文件传输协议

核心功能:提供简单的、无认证的文件传输服务。
详细介绍:TFTP是FTP的一个极简版本,设计非常轻量。它使用UDP协议(端口69)而非TCP,因此不需要建立连接,开销极小。但它缺乏高级功能,没有用户认证机制、不支持列出目录,且传输过程不可靠(需要自身实现简单的确认重传)。它主要用于局域网(LAN)内部,例如网络设备(如路由器、IP电话)的固件升级、无盘工作站的系统启动(PXE boot)等不需要安全认证的简单文件传输场景。


FTP (File Transfer Protocol) 文件传输协议

核心功能:提供可靠的、带身份验证的文件传输服务。
详细介绍:FTP是一个用于在网络上 between客户端和服务器之间传输文件的完整协议。它使用TCP协议(端口21用于控制连接,端口20用于数据连接)来保证传输的可靠性。FTP提供了一套完整的文件操作命令,包括上传、下载、删除、重命名、创建目录等。它支持用户认证(需要用户名和密码),可以管理不同的访问权限。虽然现在许多用途已被HTTP或SSH文件传输(SFTP)取代,但它仍然被广泛用于专门的软件和文件下载服务器。


SNMP (Simple Network Management Protocol) 简单网络管理协议

核心功能:用于监控和管理网络设备的状态。
详细介绍:SNMP是一种广泛应用于网络设备(如路由器、交换机、服务器、打印机等)管理的协议。它的工作模型包括:

  1. 管理站(Manager):网络管理员使用的监控系统。

  2. 代理(Agent):运行在被管理设备上的软件组件。

  3. 管理信息库(MIB):一个被管理设备参数的 hierarchical 数据库。

管理站通过SNMP协议向代理查询(GET) 或设置(SET) MIB中的对象值(如CPU利用率、端口状态、流量数据等)。代理也可以在发生特定事件(如设备重启、端口故障)时主动向管理站发送陷阱(Trap) 消息告警。这使得网络管理员能够在一个中央位置监控整个网络的健康度和性能

4.2传输层

TCP是TCP/IP协议族中非常核心的传输层协议。它的设计目标是保证数据在不可靠的IP网络之上能够可靠、有序地送达

UDP (User Datagram Protocol) 用户数据报协议

        //核心功能:提供无连接的、尽最大努力交付的简单传输服务

4.3网络层

IP (Internet Protocol) 网际协议

        //核心功能:负责将数据包从源主机跨网络路由到目标主机,实现网络互连。

        //详细介绍:IP是TCP/IP协议族的核心,是网络层的代表协议。它的主要任务是在复杂的网络环境中进行逻辑寻址路由选择

  • 无连接:发送数据前不建立连接,每个数据包(IP数据报)都是独立发送的

  • 不可靠:它尽最大努力交付(best-effort delivery),但不保证数据包一定能到达目的地,也不保证按顺序到达。可靠性由上层协议(如TCP)来保障。

  • 逻辑地址:使用IP地址来唯一标识互联网上的每一台主机。IPv4地址为32位,IPv6地址为128位。

  • 路由功能:路由器根据数据包中的目标IP地址和自身的路由表,决定将数据包从哪个接口转发出去,一步步跳转,最终送达目标主机

ICMP (Internet Control Message Protocol) 互联网控制报文协议

        //核心功能:用于在IP主机、路由器之间传递控制消息,用于网络通断性诊断、错误报告等。

RIP (Routing Information Protocol) 路由信息协议(最佳路径) 和 OSPF (Open Shortest Path First) 开放最短路径优先

        //核心功能:它们都是内部网关协议,用于在一个自治系统内部的路由器之间动态地交换和学习路由信息,从而自动构建路由表。

IGMP (Internet Group Management Protocol) 互联网组管理协议

        //核心功能:允许主机向与其直接相连的路由器报告其想要加入或离开某个多播组。

4.4接口层

ARP (Address Resolution Protocol) 地址解析协议

        //核心功能通过IP地址查询对应的MAC地址。解决的是“已知一个设备的IP地址,如何找到它的物理(MAC)地址?”的问题。

MAC:网卡硬件地址,该地址是唯一的,与网卡一一对应

RARP (Reverse Address Resolution Protocol) 逆向地址解析协议

        //核心功能通过已知的MAC地址请求分配一个IP地址。解决的是“我知道自己的物理地址(MAC地址),但我不知道我的逻辑地址(IP地址)是什么?”的问题。

五、网络基础 ===》A B C D E类

IP地址 == 网络号+ 主机号

IP地址的分类:点分十进制 ipv4 71293

A类:超大规模性网络
范围:1.0.0.0 ~ 126.255.255.255 126.1.1.1        //前1位网络号,后一位主机号
126.1.1.2
255.0.0.0
私有:
10.0.0.0 - 10.255.255.255
127.0.0.1
B类:大中规模型网络
范围:128.0.0.0 ~ 191.255.255.255        //前两位网络号,后两位主机号
128.2.1.2 128.2.7.2
255.255.0.0
私有:        //局域网
172.16.0.0 - 172.31.255.255
C类:中小规模型网络
范围:192.0.0.0 ~ 223.255.255.255        //前三位网络号,后一位主机号
255.255.255.0
私有:
192.168.0.0 - 192.168.255.255
静态路由
192.168.0.0        //代表网络
192.168.0.1        //最低位默认代表网关(常见路由器)
192.168.0.255        //最高位255广播
D类:组播和广播
范围:224.0.0.0 ~ 239.255.255.255
192.168.0.255 == 255.255.255.255
235.1.2.3
192.168.1.0
192.168.0.1网关
192.168.1.255 广播
E类:实验
240.0.0.0 -255.255.255.255

<1>网络命令:

单机上网的配置:
1、有网络接口并插入网线。
2、有ip地址
3、配置网络设置

配置命令:sudo vim /etc/network/interfaces 网络配置文件,配置网卡分配ip地址的方式。
查看网卡设备信息命令: ifconfig
网关 : route add default gw x.x.x.x
 DNS : vi /etc/resolv.conf == >nameserver 8.8.8.8
测试: ping www.baidu.com
查看本机所有的网络链接信息:netstat -anp

<2>网络接口

1、socket 套接字==》BSD socket ==》用于网络通信的一组接口函数。 socket api application interface       

         //socket 简单来说就是一个文件描述符(网络设备),网络设备打开的描述(套接字);编程使用的一套函数接口

2、ip+port 地址+端口===》地址用来识别主机,端口号用来识别进程(应用程序)
        //port分为TCP port /UDP port 范围都是:1-65535
        //约定1000 以内的端口为系统使用。

<3>网络字节序 ===》大端存储

主机字节序==》小端存储(数据的低位在内存的低地址存储)

大端转小端:ntohs();

小段转大端:htons();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95325.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95325.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/95325.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTPS -> HTTP 引起的 307 状态码与HSTS

1.应用场景 主要用于了解HSTS, 以及如何合理设置, 如正式服和测试服, 开发环境; 摘要&#xff1a;当HTTPS网站返回307状态码临时重定向到HTTP时&#xff0c;会带来安全风险&#xff08;如中间人攻击和混合内容问题&#xff09;。 HSTS机制通过强制HTTPS通信可解决此问题&#…

PortSwigger靶场之DOM XSS in document.write sink using source location.search通关秘籍

一、靶场描述这个靶场在搜索查询的跟踪功能中&#xff0c;包含一个基于DOM的跨站脚本&#xff08;DOM-based XSS&#xff09;漏洞。该漏洞的产生是因为网站使用了一个名为 document.write 的 JavaScript 函数&#xff0c;这个函数会把数据直接写入到页面中。而写入的数据来源于…

深度学习篇---Pytorch常用优化器

优化器介绍&#xff1a;在 PyTorch 中&#xff0c;优化器&#xff08;Optimizer&#xff09;的作用是根据模型参数的梯度来更新参数&#xff0c;以最小化损失函数。下面用通俗易懂的方式介绍几种常用的优化器&#xff1a;1. SGD&#xff08;随机梯度下降&#xff09;最基础的优…

0903 C++类的运算符重载、静态成员与继承

Part 1.梳理思维导图一.运算符重载1.运算符重载的作用使原本只能对基本数据类型生效的运算符&#xff0c;在重载后&#xff0c;满足可以对构造类型数据生效。2.关系运算符重载a.关系运算符种类> > < < !b.分析参数表达式…

Cloudflare安全规则实用指南:从路径拦截到IP限制的10个经典范例

前言&#xff1a;在Cloudflare的安全防护体系中&#xff0c;自定义规则是抵御特定威胁的“精准武器”。除了基础的路径拦截&#xff0c;日常运维中还有许多高频场景需要针对性配置。本文将通过10个实用范例&#xff0c;带你掌握Cloudflare规则的灵活用法&#xff0c;覆盖路径防…

数据结构(时空复杂度)

目录 一、算法复杂度 二、时间复杂度 1.不同时间度代码举例 三、空间复杂度 一、算法复杂度 算法复杂度&#xff08;评估算法优劣一个重要指标&#xff09;分为时间复杂度和空间复杂度。 时间复杂度是指执行算法所需要的计算工作量&#xff0c;而空间复杂度是指执行这个…

ESXI8多网卡链路聚合

1. 背景 测试服务器只有千兆网卡&#xff0c;增加上行带宽&#xff0c;使用两块网卡做链路聚合。 2. 环境 VM ESXI 8.0 华为交换机 S5735S 3. 交换机配置 负载均衡方式采用了src-dst-ipTrunk模式采用了手工负载分担&#xff08;测试了静态LACP&#xff0c;未成功&#xff09;4.…

从“人工驱动”到“AI协同”:良策金宝AI如何助力设计院数智化跃迁?

在“双碳”目标驱动下&#xff0c;电力工程项目的数量与复杂度持续攀升。设计院面临“项目多、周期短、人力紧”的三重压力&#xff0c;传统的“人工驱动”模式已难以为继。良策金宝AI&#xff0c;正是这场变革的核心引擎。它以AI驱动数智化服务&#xff0c;为工程设计企业提供…

vue3 vite 自适应方案

两种方案&#xff1a; 1 使用 postcss-pxtorem插件 npm install postcss-pxtorem autoprefixer --save-dev # 或 yarn add postcss-pxtorem autoprefixer -D 2、postcss-px-to-viewport npm install postcss-px-to-viewport --save-dev 或 yarn add postcss-px-to-viewport -D …

华为研发投资与管理实践(IPD)读书笔记

在全球科技产业竞争日趋激烈的背景下&#xff0c;企业研发管理早已告别 “依赖个体经验、靠运气突破” 的粗放时代&#xff0c;如何将研发创新从 “偶然成功” 转化为 “可复制、可持续的必然成果”&#xff0c;成为所有追求长期竞争力的企业必须破解的命题。华为&#xff0c;作…

【LeetCode_283】移动零

刷爆LeetCode系列LeetCode第283题&#xff1a;github地址前言题目描述题目与思路分析代码实现算法代码优化LeetCode第283题&#xff1a; github地址 有梦想的电信狗 前言 本文用C实现 LeetCode 第283题 题目描述 题目链接&#xff1a;https://leetcode.cn/problems/move-z…

一文弄懂C/C++不定参数底层原理

目录 一、C语言的可变参数&#xff1a;基于栈帧的手动读取 &#xff08;1&#xff09;C函数调用的栈帧结构 &#xff08;2&#xff09;C 可变参数的 4 个核心宏&#xff1a;如何 “手动读栈” &#xff08;3&#xff09;实战代码&#xff1a;用 C 可变参数实现求和函数 &a…

【Android】【设计模式】抽象工厂模式改造弹窗组件必知必会

写一个 Android 版本的抽象工厂弹窗 Manager 管理器&#xff0c;使用 DialogFragment 实现&#xff0c;这样能更贴近真实的开发场景。结构设计 抽象产品&#xff1a;BaseDialogFragment&#xff08;继承 DialogFragment&#xff09;具体产品&#xff1a;LoginDialogFragment, …

Win64OpenSSL-3_5_2.exe【安装步骤】

官网下载 注意&#xff1a;科学上网&#xff0c;可以加速下载速度&#xff01; Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 下载后得到&#xff1a;Win64OpenSSL-3_5_2.exe 双击安装 修改安装路径&#xff1a; 默认就选择第一个。 重要提醒​…

华为云云原生架构赋能:大腾智能加速业务创新步伐

巨大的涡轮、细小的螺丝&#xff0c;一台航天飞机发动机的三维模型呈现在屏幕上&#xff0c;远程同事同步协作&#xff0c;一台复杂设备在工程师高效的协同中不断完善。深圳市大腾信息技术有限公司&#xff0c;正是这场工业变革的推动者之一。大腾智能以“云原生工业”的融合为…

基于https+域名的Frp内网穿透教程(Linux+Nginx反向代理)

系列文章目录 基于http公网ip的Frp内网穿透教程(win server) 基于http域名的Frp内网穿透教程(win serverIIS反向代理) 基于http公网ip的Frp内网穿透教程(Linux) 基于https域名的Frp内网穿透教程(LinuxNginx反向代理) 目录 系列文章目录 前言 一、Frp是什么&#xff1f; 1. …

裸机程序(1)

一、裸机裸机是一个在计算机硬件与软件开发领域高频出现的概念&#xff0c;核心定义是 “未安装操作系统&#xff08;OS&#xff09;&#xff0c;仅包含硬件本身&#xff08;或仅运行最底层硬件驱动 / 控制程序&#xff09;的设备”。在电脑中&#xff0c;裸机会映射代码到cpu&…

95%企业AI失败?揭秘LangGraph+OceanBase融合数据层如何破局!​

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。不知道你们有没有遇到过&#xff0c;在我们一些实际落地的AI项目中&#xff0c;虽然前期“Demo 很惊艳&#xff0c;但上线后却无人问津”。你们有没有想…

树莓集团产教融合:数字学院践行职业教育“实体化运营”要求

在职业教育改革不断深化的背景下&#xff0c;“实体化运营” 成为推动职业教育高质量发展的重要方向。树莓集团积极响应这一要求&#xff0c;以产教融合为核心&#xff0c;打造数字学院&#xff0c;切实践行职业教育 “实体化运营”&#xff0c;为培养高素质数字领域专业人才探…

ELK 统一日志分析系统部署与实践指南(上)

#作者&#xff1a;张桐瑞 文章目录1 ELK 技术栈概述1.1ELK 核心组件详解1.2 ELK 工作流程2 ELK部署2.1 环境描述2.1.7 配置es集群下篇&#xff1a;《ELK 统一日志分析系统部署与实践指南&#xff08;下&#xff09;》 链接: [https://blog.csdn.net/qq_40477248/article/detail…