计算机网络的发展及基础网络概念
两台电脑的通信
- 网线
- 网卡
- 唯一标识mac地址,但复杂。使用ip地址唯一标识。
IP地址与IP协议
规定网络地址的协议叫ip协议,它定义的地址称为ip地址。广泛采用的v4版本的即ipv4,它规定网络地址由32位2进制表示。
注意:
- 一个ip地址通常写成四段十进制数
- 范围0.0.0.0-255.255.255.255
windows和Linux查看网卡信息
- Linux中
ifconfig
- windows中
ipconfig
IP地址分类
以太网
- 交换机为了解决多台机器之间的通信问题。
广域网
端口分类
1.知名端口(well known ports)
- 80端口分配给HTTP服务
- 21端口分配给FTP服务
范围是从0到1023
2.动态端口 - 动态端口的范围是从1024-65535
注意: - 在同一时间只会有一个程序占用一个端口,不可能在同一个计算机上同一时间有两个程序占用一个端口。
socket简介
TCP/IP协议
名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
然而,TCP/IP协议并不是国际官方组织制定的标准,而是民间组织(一些大型国际厂商、高等院校)自行商定的标准,因为更简便,推广力度更大,而成为了事实上的标准。
TCP/IP网络模型四层模型从根本上和OSI七层网络模型是一样的,只是合并了几层
socket介绍
socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。白话说,socket就是两个节点为了互相通信,而在各自家里装的一部’电话’。
加入socket后,网络关系如下图所示:
udp发送与接收数据
udp发送数据
实现步骤:
- 1.创建套接字
- 2.使用套接字收/发数据
- 3.关闭套接字
import socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.sendto(b"nihao", ("192.168.20.216", 8080))
udp_socket.close()
udp接收数据
实现步骤:
- 1.创建套接字
- 2.绑定本地信息(IP和端口)
- 3.接受数据
- 4.打印数据
- 5.关闭套接字
import socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
bind_addr = ("", 7788)
udp_socket.bind(bind_addr)
recv_data = udp_socket.recvfrom(1024)
udp_socket.close()
udp聊天器
- 1.创建套接字 套接字是可以同时收发数据的
- 2.发送数据
- 3.接收数据