计算机网络基本概念

文章目录

    • 情景带入
    • 一些基本概念
      • 网络
      • 网络编程:
      • 7层网络模型OSI:
      • TCP/IP Protocol Architecture Layers与OSI的对应关系
      • Socket
      • Client-Server Application
      • 报文段:
      • 传输协议:
      • Mac地址
      • IP地址
      • 端口
      • URL

在这里插入图片描述

情景带入

随着时代的发展,我们已经迈入计算机网络时代,身为一个程序猿,我们需要对计算机网络的一些基本概念进行了解。

一些基本概念

网络

在计算机领域中,网络是信息传输,接收,共享的虚拟平台。

网络编程:

从大的方面说就是对信息的发送到接收。
	通过操作相应API调度计算机硬件资源,并利用传输管道(网线)进行数据交换的操作。
	更为具体的涉及:网络模型,套接字(和某个特定的端口绑定),数据包。

7层网络模型OSI:

基础层:物理层(Physical),数据链路层(Datalink),网络层传输层(Transport).
传输层(Transport):TCP-UDP协议层,Socket.
高级层:会话层(Session),表示层(Presentation),应用层(Application).

TCP/IP Protocol Architecture Layers与OSI的对应关系

	(OSI)会话层(Session),表示层(Presentation),应用层(Application).属于(TCP/IP)应用层,包含Telnet,FTP,SMTP,DNS,RIP,
	SNMP 下面一一对应。
	传输层(Transport)属于传输层,包含TCP,UDP.
	网络层(Transport)属于网络层,包含ARP,IGMP,ICMP,IP
	物理层(Physical),数据链路层(Datalink)属于网络接口层,包含Ethernet,TokenRing,FrameRelay,ATM

Socket

(1).意义:
	简单来说是IP地址与端口的结合协议(EFC 793)
	一种地址与端口的结合描述协议
	TCP/IP协议的相关API的总称;是网络API的集合实现
	涵盖了:Stream Socket/Dategram Socket
(2).作用与组成:
	在网络传输中用于唯一标识两个端点之间的链接。
	端点:包括IP+Port。
	4个要素:客户端地址,客户端端口,服务器地址,服务器端口。
(3).Socket中TCP(有反馈)
	TCP是面向连接的通信协议
	通过三次握手建立连接,通讯时要拆除连接。
		建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
		第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务
		器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端
		和服务器进入ESTABLISHED状态,完成三次握手。
	由于TCP是面向连接的所以只能用于端到端的通讯。
(4).Socket中UDP(无反馈)
	UDP是面向无连接的通讯协议
	UDP数据目的端口号和源端口号信息
	由于通讯不需要连接,所以可实现广播发送,并不局限于端到端。

Client-Server Application

	TCP/IP协议中,其进程间通信的主要模式:CS模型。
	主要目的:协同网络中的计算机资源,服务模式,进程间数据共享
	常见的:FTP,SMTP,HTTP

报文段:

报文段是指TCP/IP协议网络传输过程中,起着路由导航的作用
用以查询各个网络路由网段,IP地址,交换协议等IP数据包
报文段充当整个TCP/IP协议数据包的导航路由功能
报文在传输过程中会不断地封装成分组,包,帧来传输
封装方式就是添加一些控制信息组成的首部,即报文头

传输协议:

协议顾名思义,一种规定,约束
约定大于配置,在网络传输中依然适用;网络的传输流程是健壮的稳定的,得益于基础的协议构成
简单来说:A->B的传输数据,B能识别,反之B->A的传输数据A也能识别,这就是协议

Mac地址

Media Access Control或者Medium Access Control
意为媒体访问地址,或称物理地址,硬件地址
用来定义网络设备上的位置,说白了就是比如电脑,路由器上标明的地址就是其在网络中的地址

IP地址

互联网协议地址(网际协议地址)
是分配给网络上使用网际协议(Internet Protocol,IP)的设备的数字标签
常见的IP地址分为IPv4与IPv6两大类
IP地址由32位二进制数组成,常以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数
分为A,B,C,D,E五大类,其中E类属于特殊保留地址
	如果主机号全是1,那么这个地址为直接广播地址
	IP地址255.255.255.255为受限广播地址
IPv6:	由两个逻辑部分组成,一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64
	IPv4转换成IPv6一定可行,IPv6转换成IPv4不一定可行

端口

0到1023号端口以及1024到49151都是特殊端口
49152到65535号端口属于"动态端口"范围,没有端口可以被正式地注册占用
端口号一共有65536个

URL

URL 是统一资源定位符(Uniform Resource Locator)的简称,它表示 Internet 上某一资源的地址。通过 URL 用户可以访问各种网络资源,
比如常见的 WWW 以及 FTP 站点。浏览器可以通过解析给定的 URL 在网络上查找相应的文件或其他资源。
一个完整的URL的组成由于:通信协议(scheme)、主机(host)、端口号(port)、路径(path)、查询(query)、信息片段(fragment)
组成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/646548.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM之【类加载机制】

一、类加载过程 1. 加载(Loading) 工作内容: 通过类的全限定名来获取定义此类的二进制字节流: JVM首先会调用类加载器的findClass方法来找到类文件的路径,通常从文件系统、JAR包、网络、数据库等来源获取类文件。 将…

嵌入式进阶——数码管2

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 驱动封装封装的一些疑问数字走马灯实现扩展知识 驱动封装 根据前面的内容可以将代码进行封装,封装后作为一个独立的整…

Flutter仿照微信实现九宫格头像

一、效果图 2、主要代码 import dart:io; import dart:math;import package:cached_network_image/cached_network_image.dart; import package:flutter/material.dart;class ImageGrid extends StatelessWidget {final List<String> imageUrls; // 假设这是你的图片URL…

山东大学软件学院数据库实验1-9(全部)

目录 前言 实验代码 实验一 1-1 1-2 1-3 1-4 1-5 1-6 实验二 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 实验三 3-1 3-2 3-3 3-4 3-5 3-6 3-7 3-8 3-9 3-10 实验四 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 4-9 4-10 实验五 5-1…

代码随想录算法训练营第三十六天 | 1005.K次取反后最大化的数组和、134.加油站、135.分发糖果

目录 1005.K次取反后最大化的数组和 思路 代码 代码 134.加油站 思路 代码 135.分发糖果 思路 代码 1005.K次取反后最大化的数组和 本题简单一些&#xff0c;估计大家不用想着贪心 &#xff0c;用自己直觉也会有思路。 代码随想录 思路 直觉&#xff0c;直接写&…

<学习笔记>从零开始自学Python-之-实用库篇(一)-pyscript

由Anaconda创建的PyScript是一项实验性的但很有前途的新技术&#xff0c;它使python运转时在支撑WebAssembly的浏览器中作为一种脚本言语运用。 每个现代常用的浏览器现在都支撑WebAssembly&#xff0c;这是许多言语&#xff08;如C、C和Rust&#xff09;能够编译的高速运转时…

K8S/ hpa分享

在 Kubernetes 中&#xff0c;HorizontalPodAutoscaler 自动更新工作负载资源 &#xff08;例如 Deployment 或者 StatefulSet&#xff09;&#xff0c; 目的是自动扩缩工作负载以满足需求。 hpa的使用本身还是很简单的 示例如下&#xff1a; 官网示例 apiVersion: apps/v1 k…

基础—SQL—DDL—建表、查表、修改表以及总结

一、DDL—表—创建表与数据类型的设定 &#xff08;1&#xff09;要求 根据需求创建表(设计合理的数据类型、长度) 设计一张员工信息表&#xff0c;要求如下: 1、编号&#xff08;纯数字) 2、员工工号(字符串类型&#xff0c;长度不超过10位) 3、员工姓名&#xff08;字符串类…

设计模式10——装饰模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种行为型模式。…

笔记88:LeetCode_134_加油站

前言&#xff1a; 前言1&#xff1a;这个题的题目条件给的不太严谨&#xff0c;题目描述中说“如果存在解&#xff0c;则保证它是唯一的”&#xff0c;通过我的实践&#xff0c;我发现这句话的意思其实是本题的所有样例只有两种情况&#xff0c;无解/有唯一解&#xff1b;而不可…

【Spring】认识 Spring AOP

认识 Spring AOP 1.什么是 AOP2.AOP 中的概念3.用 AOP 方式管理日志3.1 编写 AOP 日志注解类3.2 编写控制器用于测试 1.什么是 AOP AOP&#xff08;Aspect Oriented Program&#xff0c;面向切面编程&#xff09;把业务功能分为核心、非核心两部分。 核心业务功能&#xff1a…

tcpdump源码分析

进入tcpdump.c&#xff08;函数入口&#xff09;之前&#xff0c;先看一些头文件netdissect.h里定义了一个数据结构struct netdissect_options来描述tcdpump支持的所有参数动作&#xff0c;每一个参数有对应的flag, 在tcpdump 的main 里面&#xff0c; 会根据用户的传入的参数来…

构建高效的在线培训机构CRM应用架构实践

在当今数字化时代&#xff0c;在线培训已成为教育行业的重要趋势之一。为了提供更好的学习体验和管理服务&#xff0c;在线培训机构需要构建高效的CRM&#xff08;Customer Relationship Management&#xff09;应用架构。本文将探讨在线培训机构CRM应用架构的设计与实践。 一、…

力扣周赛398题解

特殊数组Ⅰ 如果数组的每一对相邻元素都是两个奇偶性不同的数字&#xff0c;则该数组被认为是一个 特殊数组 。 Aging 有一个整数数组 nums。如果 nums 是一个 特殊数组 &#xff0c;返回 true&#xff0c;否则返回 false。 示例 1&#xff1a; 输入&#xff1a;nums [1] …

数据结构和算法|排序算法系列(二)|冒泡排序

首先需要你对排序算法的评价维度和一个理想排序算法应该是什么样的有一个基本的认知&#xff1a; 《Hello算法之排序算法》 主要内容来自&#xff1a;Hello算法11.3 冒泡排序 我觉得冒泡排序非常有意思&#xff0c;也非常简单&#xff0c;就是不停地交换相邻的元素即可&#…

代码随想录算法训练营第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点 、 面试题 02.07. 链表相交、142.环形链表II

24. 两两交换链表中的节点 题目链接&#xff1a; 24. 两两交换链表中的节点 文档讲解&#xff1a;代码随想录 状态&#xff1a;没做出来&#xff0c;没有正确更新头节点&#xff0c;因为head和cur共享引用&#xff0c;会随着cur的移动&#xff0c;丢失之前存放的节点 错误代码&…

腾讯发布ELLA:为扩散模型注入LLM能力,提升复杂场景的图像生成,准确率超90%

前言 近年来&#xff0c;基于扩散模型的文本到图像生成技术取得了显著进步&#xff0c;能够生成高质量、逼真的图像。然而&#xff0c;大多数扩散模型仍然使用CLIP作为文本编码器&#xff0c;这限制了它们理解复杂提示的能力&#xff0c;例如包含多个物体、详细属性、复杂关系…

摄像头应用测试

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…

MySQL(一) 库和表的基础操作

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库? 文件保存数据有以下几个缺点&#xff1a; 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质&#xff1a;磁盘内存 为了解…

学 C/C++ 具体能干什么?

学习 C 和 C 后&#xff0c;你可以从事许多不同的工作和项目&#xff0c;这两种语言以其高性能和低级控制而闻名&#xff0c;特别适合以下几个领域&#xff1a; 1. 系统编程 C 和 C 是系统编程的首选语言&#xff0c;适用于操作系统、驱动程序和嵌入式系统开发。 操作系统开发…