子网掩码:四点分十进制组成:
C类:255.255.255.0
B类:255.255.0.0
A类:255.0.0.0
子网掩码与ip地址可以确定网关的地址
网关地址,网段,局域网:
路由器:
家用路由器
企业级路由器
内网:路由就管理内网
DHCP协议:自动分配IP地址
DNS服务器:
有一个字典:
访问京东的具体流程:
1在浏览器输入www.JD.com 访问DNS浏览器,获取其IP地址,192.168.3.0
2,本机的操作系统:判断你访问的IP地址和你的IP地址是否在同一网段
分支1:如果在同一网段:
以单薄的形式将请求,发送给交换机,然后交换机在以广播的形式发送给其他的交换机,所有的计算机以广播的形式发送给其他计算机
分支2:不在同一网段:
你的请求 原mac地址,目标mac地址,数据类型 | 192.167.12.13 | 8001| {'content':'向京东发送访问请求'} 会以单播的形式发送给交换机A --> 你的路由器A
3你的路由器A:做以下事情:
利用NAT计数:将你的计算机的IP置换成路由器A网段的IP 192.168.1.0
静态路由:将数据从路由A传给路由D
路由协议:利用算法计算出你到达目标路由的最短路径
4数据发送到路由器D,通过端口映射技术将数据发送至京东服务器的对应软件的端口上
tcp三次握手,tcp协议与udp协议
传输层:tcp协议,udp协议,端口协议
tcp协议:可靠地,面向链接的协议,流式协议,安全效率低,转账,文件传输
udp协议:效率高,快速,不可靠,微信,qq,聊天软件
tcp协议建立链接需要三次握手,断开链接需要四次挥手
三次握手:
建立两个通道
syn洪水攻击:
一个服务端接收的客户端的请求非常多
tcp协议又称好人协议,有一些黑客,造一些大量的假Ip,发送请求
首先真的IP进不去,然后处理大量的假IP,服务端会定发送请求
断开链接的四次挥手:
套接字socket
python中socket是 一个模块,与网络通信有关
利用python写一个程序,写一个客户端,写一个服务端,让其实现数据传输
写这样的程序就需要socket模块
import socket
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #买电话
#socket.AF_INET网络 socket.SOCK_STREAM:基于TCP协议的socket
phone.bind(('192.168.16.104',8848))#绑定IP地址和端口,绑定电话卡
#192.168.16.104 本地回环地址 端口号:1~1024系统专用,1024~8000,8000~65535
phone.listen(5) #监听
#服务端可以接受N个链接,但是只能同一时刻回应五个请求
conn,addr=phone.accept()#等待电话 阻塞等待
print(conn) #管道
print(addr) #客户端的IP端口
from_client_date=conn.recv(1024)#每次最多接受1024个字节
print(from_client_date.decode('utf-8'))
conn.send(from_client_date.upper())
conn.close()
phone.close()
import socket
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('192.168.16.197',8848))
content=input('>>>>')
phone.send(content.encode('utf-8'))
from_server_date=phone.recv(1024)
print(from_server_date.decode('utf-8'))
phone.close()