计算机网络基础入门

计算机网络基础入门

目录:

  1. 简介
  2. 网络分层模型
  3. 数据封装与解封装
  4. IP地址与子网掩码
  5. 网络协议
  6. 示例代码

1. 简介

计算机网络是指将地理位置不同的多台计算机及外部设备通过通信线路连接起来,实现信息资源共享和信息传递的系统。计算机网络是现代信息社会的基础,涉及到数据通信、网络协议、网络硬件等多个方面。

2. 网络分层模型

计算机网络通常采用分层模型来简化网络设计和管理。常见的分层模型有OSI七层模型和TCP/IP四层模型。

  • OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
  • TCP/IP四层模型:网络接口层、网络层、传输层、应用层

3. 数据封装与解封装

在网络中传输数据时,每层都会对数据进行封装,添加本层的控制信息,然后传递给下一层。接收方则进行相反的操作,称为解封装。

例如,应用层将数据传递给传输层,传输层添加端口号等控制信息后传递给网络层,网络层添加IP地址等控制信息后传递给数据链路层,数据链路层添加MAC地址等控制信息后传递给物理层,物理层将数据转换为电信号或光信号发送到网络上。

4. IP地址与子网掩码

IP地址是网络中设备的标识,由32位二进制数组成,分为A、B、C、D、E五类。子网掩码用于划分网络地址和主机地址,与IP地址结合使用。

例如,IP地址为192.168.1.1,子网掩码为255.255.255.0,表示该设备位于192.168.1.0网络,主机部分为1。

5. 网络协议

网络协议是计算机网络中设备之间进行通信的规则。常见的网络协议有TCP、UDP、HTTP、FTP等。

  • TCP(传输控制协议):面向连接的可靠传输协议,保证数据按顺序传输。
  • UDP(用户数据报协议):无连接的不可靠传输协议,传输速度快但不保证数据按顺序传输。
  • HTTP(超文本传输协议):用于传输网页数据的协议。
  • FTP(文件传输协议):用于传输文件的协议。

6. 示例代码

以下是一个简单的Python代码示例,使用socket库实现TCP客户端和服务器的通信:

服务器端代码:

import socketserver_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 12345))
server_socket.listen(5)print("服务器已启动,等待客户端连接...")client_socket, client_address = server_socket.accept()
print("客户端已连接,地址:", client_address)while True:data = client_socket.recv(1024)print("收到数据:", data.decode())client_socket.sendall(data)

客户端代码:

import socketclient_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('localhost', 12345))client_socket.sendall(b'Hello, Server!')
data = client_socket.recv(1024)
print("收到回应:", data.decode())client_socket.close()

运行服务器端代码,然后运行客户端代码,可以看到服务器和客户端之间的通信。
文档下载

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

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

相关文章

运维.云技术学习.基于应用服务网格的灰度发布(上:理论基础篇)

运维专题 基于应用服务网格的灰度发布(上:理论基础篇) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAdd…

Opencv学习项目6——pyzbar

在之前我们学习了解码图片中的二维码,这次我们开启摄像头来解码视频中二维码 开启摄像头 # 打开摄像头 cap cv2.VideoCapture(0) cap.set(3, 640) # 设置摄像头画面宽度 cap.set(4, 480) # 设置摄像头画面高度 我使用的是笔记本上的摄像头来进行的,…

openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计

文章目录 openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计304.1 概述304.2 前置条件304.3 使用指导304.4 最佳实践304.5 常见问题处理openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计 304.1 概述 智…

通过systemctl启停tomcat

目录 目的.service配置文件的结构介绍实验步骤1. 安装java2. 二进制安装tomcat3. 编写/usr/systemd/system/tomcat.service文件4. 测试启动关闭 目的 通过二进制安装的tomcat,只能通过tomcat文件目录下的.sh脚本进行启停。 而我们一般使用的服务,是通过…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波,并观察其不同;paddedsize,fft2(x,m,n) 由 sobel 空间滤波算子生成相应的频率…

多链代币开发:打造跨链互操作性的新纪元

随着区块链技术的迅猛发展,数字资产和加密货币市场也在不断扩大。各大区块链平台如以太坊、币安智能链、波卡、Solana等,均展现出其独特的优势和广泛的应用场景。然而,这些链之间的孤立性和互操作性问题,限制了数字资产的流动性和…

突破架构瓶颈:克服软件系统中的漂移和侵蚀

一种常见但不完美的比喻是将软件系统中的架构漂移和侵蚀与物理建筑的架构相比。虽然这个比喻很直观,但它存在一个根本性的误解,这也常常引发软件开发中的架构问题。 试想一下,一个设计良好的摩天大楼或房屋建成后,我们期望它基本保…

Linux下的信号使用总结

主要参考《【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.4》信号篇 发送给进程的诸多信号中,大多数都是来自于内核。 信号本质上是 int 类型的数字编号,这就好比硬件中断所对应的中断号。内核针对每个信号,都给其定义了一个唯一的整数编号…

docker 容器设置中文环境

1.容器中安装和设置 1.1.进入容器查看已有语言包 locale -a 默认情况下: 1.2 安装中文语言环境 如果没有zh_CN.utf8就安装。 方式1: #直接安装中文语言包 apt-get install -y language-pack-zh-hans 方式2: #安装中文语言环境 apt-g…

线性和二次判别分析

线性判别分析 线性判别分析(Linear Discriminant Analysis,LDA)亦称 Fisher 判别分析。其基本思想是:将训练样本投影到低维超平面上,使得同类的样例尽可能近,不同类的样例尽可能远。在对新样本进行分类时&…

达梦数据库的系统视图v$lock

达梦数据库的系统视图v$lock 在达梦数据库(DM)中,V$LOCK 系统视图用于查看当前数据库中的锁定状态。该视图提供了关于所有锁定详细信息,例如锁的内存地址、所属事务 ID,锁类型和锁模式等。这对于数据库管理员进行锁定…

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter 今年5月份GreenPlum官方将GitHub仓库代码全部删除,各个分支的issues和bugs讨论等信息全部清除,仅将master分支代码进行归档。对于国内应用GPDB的用户来说,这是一个挑战性事件&#x…

开发网页版加密访问文档

开发一个支持加密访问文档的网页版应用程序涉及多个步骤,包括用户认证、文档加密和解密、文件上传和下载,以及确保整个过程中的数据安全性。下面是一个详细的步骤指南: 步骤1:设置项目环境 首先,设置一个新的项目环境…

函数调用,递归技巧之取反

递归指的是在解决问题的过程中,将问题分解为同类的子问题而解决问题的方法。在程序中通常体现为函数调用自身的方式。 比如是双方回合制对战的游戏进行结算,可以使用一个变量bool类型来完成一回合双方互相战斗并且攻击方同时会作为受攻击方的结算。在递归…

Vue跨标签页数据通信

跨标签页数据通信 在同一浏览器项目地址处于不同的标签页中,建立两个页面间的数据通信,即:B页面新增/修改数据;A页面表格自动更新数据 跨标签页通信常见方案: BroadCast Channel (广播频道) Service Worker LocalStorage Window.onstorage监听 Shared…

English note 1

It was right that I decided not to buy new course before. A few days ago, the after-sales staff of this software announced that all the courses of this software would be taken down. 之前决定不继续买新的课程是对的。几天前,这个软件的售后人员就宣布…

Zookeeper 三、Zookeeper基本使用

1.Zookeeper系统模型 1)Zookeeper数据模型之ZNode 在Zookeeper中,数据信息被保存在一个个数据节点上,这些节点被称为ZNode。ZNode是Zookeeper中最小数据单位,在ZNode下面又可以再挂ZNode,这样一层层下去就形成了一个…

Reactor模型:网络线程模型演进

一,阻塞IO线程池模型(BIO) 这是传统的网络编程方案所采用的线程模型。 即有一个主循环,socket.accept阻塞等待,当建立连接后,创建新的线程/从线程池中取一个,把该socket连接交由新线程全权处理。…

【机器参数】安装适合的nvidia驱动

背景:我现在nvidia-smi没有显示,我的目标是让nvidia-smi正常显示 参考: nchttps://www.cnblogs.com/carle-09/p/11504544.html 可能是驱动版本不对,所以我重新去nvidia官网下载了驱动。 Official Drivers | NVIDIA 得到了NVID…

discuz迪恩cul!教育课程培训网站模板

Discuz x3.2模板 迪恩cul!教育课程培训 GBK,程序包中内附详细的安装教程,下载后按照教程安装即可 discuz迪恩cul!教育课程培训网站模板