Day39 网络编程(一):计算机网络,网络编程,网络模型,网络编程三要素

Day39 网络编程(一):计算机网络,网络编程,网络模型,网络编程三要素

文章目录

  • Day39 网络编程(一):计算机网络,网络编程,网络模型,网络编程三要素
    • 一、计算机网络
      • 基本概念:
      • 组成部分:
      • 主要技术:
    • 二、网络编程
      • 基本概念:
      • 基本步骤:
      • 常用技术和工具:
      • 安全性和性能优化:
    • 三、网络模型
      • 基本概念:
      • OSI 模型:
      • TCP/IP 模型:
      • 区别和联系:
    • 四、 网络编程三要素
      • 1. IP地址:
      • 2. 端口号:
      • 3. 协议:

一、计算机网络

计算机网络是指将多台计算机通过通信设备互相连接起来,以便彼此之间可以进行数据交换和资源共享的系统。计算机网络的基本概念和组成部分包括以下内容:

基本概念:

  1. 通信协议:计算机网络中的通信规则和约定,确保不同设备之间可以正确地交换数据。
  2. 网络拓扑:计算机网络中设备之间的物理或逻辑连接方式,如总线、星型、环形等。
  3. 网络协议栈:由多个层次组成的网络协议集合,常见的有TCP/IP协议栈和OSI模型。
  4. IP地址:用于标识网络中设备的唯一地址,分为IPv4和IPv6。
  5. 域名系统(DNS):将域名解析为对应的IP地址的系统,方便用户记忆和访问网站。

组成部分:

  1. 通信设备:如路由器、交换机、网卡等,用于实现设备之间的数据传输。
  2. 传输介质:如光纤、铜缆、无线信道等,用于在设备之间传输数据。
  3. 网络协议:如TCP、IP、HTTP、FTP等,用于规定数据传输的格式和规则。
  4. 网络服务:如Web服务、电子邮件、文件传输等,提供不同的网络功能和应用。

主要技术:

  1. 局域网(LAN):覆盖较小范围的网络,如家庭、办公室等。
  2. 广域网(WAN):覆盖较大范围的网络,如跨城市、跨国家等。
  3. 无线网络:通过无线信号进行数据传输的网络,如Wi-Fi、蜂窝网络等。
  4. 互联网:由多个计算机网络互相连接而成的全球性网络,提供丰富的信息和资源。

注意: 网络安全和隐私保护等问题,确保网络的稳定和安全运行

二、网络编程

基本概念:

网络编程是指通过计算机网络实现不同设备之间数据交换和通信的程序开发过程。在网络编程中,开发人员可以利用各种网络协议和技术来实现客户端和服务器之间的通信,实现数据传输、资源共享和远程控制等功能。以下是网络编程的一般步骤和常用技术:

基本步骤:

  1. 创建Socket:在客户端和服务器端分别创建Socket对象,用于建立网络连接。
  2. 建立连接:客户端向服务器端发起连接请求,服务器端接受连接并建立通信。
  3. 数据传输:通过Socket对象进行数据的发送和接收。
  4. 关闭连接:通信结束后,关闭Socket连接。

常用技术和工具:

  1. Socket编程:基于TCP/IP协议的Socket编程是网络编程的基础,可以使用Java、Python等语言进行Socket编程。
  2. HTTP协议:用于Web服务的通信协议,常用于浏览器和Web服务器之间的通信。
  3. RESTful API:基于HTTP协议的API设计风格,用于实现客户端和服务器之间的数据交互。
  4. WebSocket:一种在单个TCP连接上进行全双工通信的协议,用于实时通信和推送服务。
  5. RPC框架:远程过程调用框架,如gRPC、Dubbo等,用于实现跨网络的方法调用。
  6. 异步编程:利用异步编程模型提高网络应用的性能和并发能力,如使用回调函数、Promise等机制。

安全性和性能优化:

  1. 加密和认证:使用SSL/TLS等加密协议保障数据传输的安全性,实现身份认证和数据加密。
  2. 防火墙和安全策略:设置网络防火墙、访问控制列表等安全策略,保护网络免受攻击。
  3. 负载均衡和缓存:利用负载均衡技术和缓存机制优化网络性能,提高系统的吞吐量和响应速度。

**理解:**实现多台计算机之间实现数据的共享和传递,网络应用程序主要组成为:

网络编程+IO流+多线程

三、网络模型

基本概念:

网络模型是用来描述计算机网络体系结构和通信协议的抽象框架,通常将网络通信的功能划分为多个层次,每个层次负责特定的功能,从而实现网络通信的分层管理和协作。两个最常用的网络模型是 OSI 模型和 TCP/IP 模型。

OSI 模型:

  1. 物理层:负责传输比特流,定义物理介质和传输速率等。
  2. 数据链路层:负责建立和管理直接连接的设备之间的数据传输。
  3. 网络层:负责在不同网络之间传输数据包,实现路由和转发。
  4. 传输层:负责端到端的数据传输,提供可靠的数据传输和错误恢复。
  5. 会话层:负责建立、管理和终止会话连接。
  6. 表示层:负责数据的格式化、加密和压缩。
  7. 应用层:提供用户接口和应用程序之间的通信服务。

TCP/IP 模型:

  1. 应用层:包含应用层协议,如HTTP、FTP、SMTP等。
  2. 传输层:包含传输层协议,如TCP、UDP,负责端到端的数据传输。
  3. 网络层:包含网络层协议,如IP,负责数据包的路由和转发。
  4. 链路层:包含数据链路层和物理层,负责直接相连设备之间的数据传输。

区别和联系:

  • OSI 模型是一个七层模型,提供了更加详细的网络通信功能划分,而 TCP/IP 模型是一个四层模型,更加贴近实际网络通信的需求。
  • TCP/IP 模型中的网络层和链路层合并了 OSI 模型中的网络层和数据链路层的功能。
  • OSI 模型是一个理论模型,而 TCP/IP 模型是实际应用最广泛的网络模型,符合实际网络通信的需求。

网络模型理解图

在这里插入图片描述

四、 网络编程三要素

1. IP地址:

  • 作用:IP地址是用来唯一标识网络中的设备(如计算机、路由器等)的地址,类似于房屋的门牌号,用于在网络中准确定位设备。
  • 分类:IP地址分为IPv4和IPv6,IPv4是32位地址,通常以点分十进制表示(如192.168.1.1),IPv6是128位地址,以冒号分隔的八组十六进制数表示(如2001:0db8:85a3:0000:0000:8a2e:0370:7334)。
  • 用途:在网络通信中,发送方和接收方通过IP地址来确定数据包的发送和接收位置。
  • IP地址的组成网络号段+主机段

A类IP地址:第一段号码为网络号码,剩下的三段号码为本地计算机的号码

----可以配置256256256台主机

B类IP地址:前二段号码为网络号码,剩下的二段号码为本地计算机的号码

C类IP地址:前三段号码为网络号码,剩下的一段号码为本地计算机的号码

注意一个IP可以对应多个域名,但是一个域名在一个时刻只能对应一个IP

2. 端口号:

  • 理解:正在运行的程序的标识
  • 作用:端口号是用来标识主机上运行的进程或服务的编号,类似于房屋中的门牌号,用于在主机内部定位具体的应用程序。

  • 范围:端口号范围从0到65535,其中0到1023为系统保留端口,用于常见的服务(如HTTP的80端口、FTP的21端口)。

  • 用途:在网络通信中,数据包通过目标主机的IP地址和目标端口号来确定具体的应用程序或服务。

    注意:端口与协议有关:TCP和UDP的端口互不相干,同一个协议的端口不能重复,不同协议的可以重复

3. 协议:

  • 作用:协议是规定数据传输的格式和规则,确保通信双方能够正确地解析和处理数据。
  • 常见协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)等。
  • 选择:根据需求选择合适的协议,如TCP提供可靠的数据传输,而UDP提供更快的数据传输但不保证可靠性。

协议理解图

(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)等。

  • 选择:根据需求选择合适的协议,如TCP提供可靠的数据传输,而UDP提供更快的数据传输但不保证可靠性。

协议理解图
在这里插入图片描述

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

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

相关文章

AI时代,我要如何学习,才能跟上步伐

在21世纪这个被数据驱动的时代,人工智能(AI)已经渗透到我们生活的方方面面。无论是智能手机中的语音助手、在线客服的聊天机器人,还是自动驾驶汽车,AI的应用都在告诉我们一个信息:未来已来。因此&#xff0…

SQL的基础语句

1、select语句 select colums from table_name 2、条件语句 #查询出查询出用户id为1和3的用户记录 IN 操作符允许我们在 WHERE 子句中规定多个值。 select * from student where id in (1,3) #查询出所有姓王的同学 模糊查询 like 通配符(% 任意多个字符 _单个字符) #下例…

Acer宏碁掠夺者战斧300笔记本电脑PH315-52工厂模式原装Win10系统安装包 恢复出厂开箱状态 带恢复重置

宏碁掠夺者PH315-52原厂Windows10工厂包镜像下载,预装oem系统 链接:https://pan.baidu.com/s/1grmJzz6nW1GOaImY_ymXGw?pwdi286 提取码:i286 原厂W10系统自带所有驱动、PredatorSense风扇键盘控制中心、Office办公软件、出厂主题壁纸、系统…

【STM32+HAL+Proteus】系列学习教程---串口USART(DMA 方式)定长,不定长收发。

实现目标 1、利用UART实现上位机PC与下位机开发板之间的数据通信 2、学会STM32CubeMX软件关于UART的DMA模式配置 3、具体目标:1、实现串口定长收发数据通信;2、串口不定长收发数据通信。 一、DMA简介 1、什么是DMA? DMA(Direct Memory …

李沐-16 PyTorch 神经网络基础【动手学深度学习v2】

注:1. 沐神对应章节视频出处 2.代码使用Jupyter Notebook运行更方便 3.文章笔记出处 一、层和块 层:层(1)接受一组输入, (2)生成相应的输出, (3)由一组可调整…

Node.js -- path模块

path.resolve(常用) // 导入fs const fs require(fs); // 写入文件 fs.writeFileSync(_dirname /index.html,love); console.log(_dirname /index.html);// D:\nodeJS\13-path\代码/index.html 我们之前使用的__dirname 路径 输出的结果前面是正斜杠/ ,后面部分是…

Git基本使用(很详细)

目录 第一章、Git是什么 1.1 了解Git 1.2 Git安装 第二章、Git常用命令 2.1 常用命令 2.2 基本操作 2.2.1 打开git后端 2.2.2 设置用户签名 2.2.3 初始化本地库 2.2.4 查看本地状态 2.2.5 添加到暂存区 2.2.6 提交到本地库 2.2.7 查看历史记录 2.2.8 版本穿梭 …

Hadoop3:大数据生态体系

一、技术层面 通过下面这张图,我们可以大概确定,在大数据行业里,自己的学习路线。 个人认为,Hadoop集群一旦搭建完工,基本就是个把人运维的事情 主要岗位应该是集中在数据计算层,尤其是实时计算&#xff…

go语言并发实战——日志收集系统(六) 编写日志收集系统客户端

上节回顾 在上一篇文章中我们介绍了编写客户端的四个步骤,分别是: 读取配置文件,寻找日志路径初始化服务根据日志路径l来收集日志将收集到的日志发送Kafka中 关于上述的内容博主画了一个思维导图(有点丑,大家勉强看看&#xff0…

AJAX——同步代码和异步代码

1.同步代码 同步代码:浏览器是按照我们书写代码的顺序一行一行地执行程序的。浏览器会等待代码的解析和工作,在上一行完成后才会执行下一行。这样做是很有必要的,因为每一行新的代码都是建立在前面代码的基础之上的。 这也使得它成为一个同步…

SLICEM是如何将查找表配置为分布式RAM/移位寄存器的

1.首先说SliceM和SliceL如何配置为ROM的 一个SLICE包含4个六输入查找表,因此每个查找表就能存储64bit的数据,要实现128bit的ROM,只需要通过两个LUT就可实现,具体如下表: 2.如何配置成为分布式RAM SLICEM中的LUT如下图&#xff…

一文讲透彻Redis 持久化

文章目录 ⛄1.RDB持久化🪂🪂1.1.执行时机🪂🪂1.2.RDB原理🪂🪂1.3.小结 ⛄2.AOF持久化🪂🪂2.1.AOF原理🪂🪂2.2.AOF配置🪂🪂2.3.AOF文件…