计算机网络

简介: 计算机网络

计算机网络是指通过通信链路连接在一起的计算机系统的集合,使得它们能够相互之间进行数据交换和资源共享。计算机网络的发展可以追溯到20世纪60年代末和70年代初,随着计算机技术的不断进步和应用的普及,计算机网络逐渐成为人们生活和工作中不可或缺的一部分。

 

发展历程

1. **ARPANET 的诞生**:美国国防部高级研究计划局(ARPA,现在的 DARPA)于1969年启动了 ARPANET 项目,这是世界上第一个分组交换网络,旨在连接远程计算机资源。

2. **TCP/IP 协议的诞生**:1970年代末期,美国国防部将 ARPANET 的标准协议改为 TCP/IP 协议套件,从而推动了互联网的发展和普及。TCP/IP 协议成为了全球互联网的基础协议。

3. **互联网的商用化**:1990年代初,互联网开始向商业领域扩展,商业互联网服务提供商如 AOL、CompuServe 和 Prodigy 等相继涌现,人们开始意识到互联网的商业潜力。

 4. **Web 的兴起**:1990年代中期,万维网(World Wide Web)的诞生和普及极大地促进了互联网的发展。Web 浏览器和服务器的出现使得人们可以方便地访问和分享信息,推动了互联网的快速发展。

 5. **移动互联网的崛起**:21世纪初,随着移动通信技术的快速发展,移动互联网开始崭露头角。无线网络技术如 3G、4G 和 5G 的推出,使得人们可以随时随地访问互联网,移动互联网应用迅速增长。

6. **物联网和5G**:近年来,物联网(Internet of Things,IoT)的兴起和 5G 技术的商用化,进一步推动了互联网的发展。物联网将数十亿台设备连接到互联网上,为人们的生活和工作带来了更多可能性。

 

下面是一些常见的计算机网络相关代码示例:

### 获取本机IP地址:
```python
import socket
 
def get_local_ip():
    ip = socket.gethostbyname(socket.gethostname())
    return ip
 
# 调用函数获取本机IP地址
local_ip = get_local_ip()
print(f"Local IP address: {local_ip}")
```
 
### 发送UDP数据:
```python
import socket
 
# 定义目标地址和端口
host = 'localhost'
port = 8080
 
# 创建UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 
# 发送数据
message = "Hello, UDP server!"
sock.sendto(message.encode(), (host, port))
 
# 关闭套接字
sock.close()
```
 
### 接收UDP数据:
```python
import socket
 
# 定义监听地址和端口
host = 'localhost'
port = 8080
 
# 创建UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 
# 绑定地址和端口
sock.bind((host, port))
print(f"Listening on {host}:{port}")
 
# 接收数据
data, addr = sock.recvfrom(1024)
print(f"Received data from {addr}: {data.decode()}")
 
# 关闭套接字
sock.close()
```
 
### 发送TCP数据:
```python
import socket
 
# 定义服务器地址和端口
server_host = 'localhost'
server_port = 8080
 
# 创建TCP客户端套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# 连接服务器
sock.connect((server_host, server_port))
 
# 发送数据
message = "Hello, TCP server!"
sock.sendall(message.encode())
 
# 关闭套接字
sock.close()
```
 
### 接收TCP数据:
```python
import socket
 
# 定义服务器地址和端口
host = 'localhost'
port = 8080
 
# 创建TCP服务器套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# 绑定地址和端口
sock.bind((host, port))
sock.listen(1)
print(f"Listening on {host}:{port}")
 
# 接受客户端连接
conn, addr = sock.accept()
print(f"Client connected from {addr}")
 
# 接收数据
data = conn.recv(1024)
print(f"Received data from client: {data.decode()}")
 
# 关闭连接
conn.close()
sock.close()
```
相关文章
|
1月前
|
存储 网络协议 网络性能优化
计算机网络
无线:无线信号频率 IEEE802.11
35 6
|
1月前
计算机网络:传输媒体
计算机网络:传输媒体
22 1
|
1月前
|
存储 安全 网络协议
计算机网络知识
【1月更文挑战第11天】计算机网络知识。
51 0
|
9月前
|
存储 安全 算法
计算机网络中的安全
计算机网络中的安全
90 0
|
10月前
计算机网络的组成
计算机网络的组成
|
存储 分布式计算 负载均衡
|
缓存 网络协议 安全
|
存储 缓存 网络协议
|
网络协议 Java 数据挖掘
计算机网络初识
本篇作为计算机网络部分知识的起始篇,先带大家来了解关于计算机网络的一些基本内容。
212 0
计算机网络初识
计算机网络:组帧
计算机网络:组帧
286 0
计算机网络:组帧