网络间的通信
网络基础知识
ip地址:
概念:
每台电脑在网络世界中都有一个全球唯一的标识
物理地址
网卡上有全球上唯一的物理地址(mac),长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
查看方式: ipconfig /all 注意:ip地址替代物理地址,更容易记忆
端口号
作用:区分电脑上的进程 描述:电脑上的每一个应用程序想运行必须占一个端口号。并且端口号同时间只能被一个应用程序占用。每一台电脑上一共有 65536 个端口,
端口的范围是 0~65535。一般 0~1023 被一些其他应用已经占用,因此我们一般从 1024 开始指定端口
网络协议
网络协议就是为了能让计算机网络中进行数据交换而建立的规则、标准 互联网上有上百种协议,但是最重要的两个协议是 TCP 协议和 IP 协议,
因此我们将上百种协议统称为 TCP/IP 协议族。TCP/IP协议族,根据协议的功能的不同抽象成了 4 层
应用 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
传输 TCP,UDP
网络 IP,ICMP,OSPF,EIGRP,IGMP
数据链路 SLIP,CSLIP,PPP,MTU 画图解析数据传输过程
TCP:
面向连接(建立连接的过程,断开连接的过程),更安全,不容易丢包,但是效率低,打电话(接通之后)
建立连接(三次握手/四次握手):客户端与服务器的连接。
第一次握手:是客户端向服务端准备好资源。
第二次握手:服务端资源准备好了并且服务端问客户端资源有没有准备好了。
第三次握手:客户端资源也准备好了。接下来才真正的发生数据。
断开连接(四次挥手):客户端与服务器的断开连接
第一次握手:客户端告诉服务我不会给你发送数据了
第二次握手:服务端告诉客服端我收到你的消息了
第三次握手:服务端给客户端发数据我也不会给你发送消息了
第四次握手:客户端给服务端说我知道了
UDP:
面向非连接,效率高,不安全,传输效率快,但是传输过程中,容易丢包 大喇叭广播
套接字通信
接受方
form socket import *
udSocket=socket(AF_INET,SOCK_DGRAM)
#给socket对象绑定一个IP地址和端口号T
updSocket.bind(("10.10.89.238".7777))
while True:
# 接收消息
#recvfrom(1024):代表能接收1024个字节的信息
message=udpSocket.recvfrom(50000)
#查看接收到的信息的格式:返回的是一个元组
(消息内容,(发送方的IP,发送方的端口号))
#print(message)
#利用