TCP:传输控制协议
- 稳定
- 相对于UDP慢一些
- web服务器都使用TCP
UDP:用户数据包协议
- 不稳定
- 相比较TCP快一些
TCP服务端
from socket import *
# 根据SOCK_STRESM还是SOCK_DGRAM确定是UFP还是TCP
serverSocket = socket(AF_INET, SOCK_STREAM)
# 绑定监听地址与端口
serverSocket.bind(('', 8999))
# 使用socket创建的套接字默认的属性是主动的,使用listen将其变为被动的,这样就可以接收别人的链接了
# 最大连接数
serverSocket.listen(5)
# clientSocket 表示这个新的客户端 clientInfo表示这个新的客户端的ip以及port
clientSocket, clientInfo = serverSocket.accept()
recvData = clientSocket.recv(1024)
print("%s:%s" % (str(clientInfo), recvData))
clientSocket.send("heihei".encode('utf-8'))
clientSocket.close()
serverSocket.close()
TCP客户端
from socket import *
clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect(('192.168.1.11', 8999))
# TCP客户端已经连接好了服务器 在以后的发送不用添加IP和Port 而UDP需要
clientSocket.send("haha".encode('utf-8'))
recvDate = clientSocket.recv(1024)
print("recvData:%s" % recvDate)
clientSocket.close()
端口
IP决定数据发送到哪台电脑上
端口决定数据发送到哪个进程上
IP地址
在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就
是属于私网IP,不在公网中使用的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
IP地址127.0.0.1~127.255.255.255用于回路测试,
如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的Web服务器。
IP地址分类.png
网络掩码
A类地址的掩码:255.0.0.0
B类地址的掩码:255.255.0.0
C类地址的掩码:255.255.255.0
IP地址与网络掩码按位与操作生产网络号 确定ip地址属于哪类地址哪个网段
MAC地址(网卡的序列号)
网卡的序列号 主机的IP地址 进程的端口号确保数据的稳定传输
ping命令使用的是ICMP协议
ARP协议获取mac地址
集线器和交换机的区别
集线器是以广播的形式发送数据包
交换机可以有学习的过程,不是以广播的形式发送数据包
路由器
连接不同的网络,使不同网段的ip可以互相通信
Mac地址,在两个设备之间通信时在变化
Ip地址 在整个通信的过程中都不会发生任何变化
Ip:标记逻辑上的地址
Mac:标记实际转发数据时的设备地址
Netmask:和ip地址一起确定网络号
默认网关:发送的ip不在同一个网段内,那么会把这个数据转发给默认网关
DNS服务器:用来解析域名
DHCP协议自动分配IP地址
三次握手
三次握手过程.png四次挥手
四次挥手过程.pngTTL:表示经过的路由器个数,经过一个路由器TTL减少1
网友评论