网络编程(二)

五层协议:
qq.太白向强哥发送消息.'强老板好啊'
软件:
应用层:ftp www 软件按照自定义的协议
{msg:'强老板好啊'}
操作系统:
传输层:tcp协议 udp协议:端口协议
8000 | {msg:'强老板好啊'}
网络层:ip协议找到局域网的位置
ip | 8000 | {msg:'强老板好啊'}
数据链路层:对数据进行分组
mac地址 目标mac地址 数据类型 | ip | 8000 | {msg:'强老板好啊'}
物理层:发送高低电平
相关名词解释:
网卡:与外网连接的装置
mac地址:网卡出厂时烧制上的12位16进制的数字 前六位是厂商编号,后六位是流水号,每个mac地址都是独一无二的
交换机:连接计算机中转,
mac地址对照表,mac地址自主学习能力
ARP协议:通过ip获取对方的mac地址
单播:单独发送给对方
广播:群发
ip:网络地址,四点十进制组成
子网掩码:网络地址,四点十进制组成
ip和子网掩码能确定网关的地址
内网:路由器管理内网
DHCP协议:自动分配ip地址,子网掩码,网关ip地址
同一局域网内的所有计算机的ip地址一定不同,不同局域网内的计算机ip可以相同
内网计算机的ip都是路由器虚拟出来的
外网:发送数据
外网不是通过广播的形式发送数据,而是通过路由协议直接找到目标地址
路由器与交换节的区别:
路由器确定一个网段,网关,子网,局域网
交换节只是拓展网口的
类似于京东的外网是直接可以访问的

访问京东网址:
1.在浏览器输入域名,访问DNS服务器,获取IP地址
2.本机的操作系统会判断访问的ip地址是不是与你的ip地址属于同一个局域网
3.
如果是一个局域网:
以单播的形式将请求发送交换机,然后交换机再广播给其他交换节,其他交换节广播给计算机
如果不是一个局域网:
你的请求 源mac地址 目标mac地址 数据类型 ip地址 接口 数据:向京东发送请求
会以单播的形式发送给交换机,交换机再发送给路由器
4.路由器将会做:
利用NAT技术:将计算机的ip置换给路由器A网段的ip
静态路由:将数据从路由A传出去传给路由D
路由协议:利用算法计算出你达到目标路由的最短路径
5.数据发送到目标路由后,通过端口映射技术将数据发送到京东服务器对应的接口上


tcp的三次握手,四次挥手:
三次握手:
客户端向服务端发送建立通道请求 syn = 1 seq = x
服务端向客户端会应同意,并也请求建立通道ack = 1 +x,syn = 2,seq = y
服务端回应客户端同意:ack = 2+y
四次挥手:
客户端向服务端申请断开通道:fin = 1 syn = x
服务端回应同意:ack = 1+x
服务端向客户端申请断开通道:fin = 2 syn = y
客户端回应服务端同意:ack = 2+y


socket(套接字):
python中的socket是一个模块,与网络通信相关的模块
服务器端的代码:
import socket
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#生成一个套接字
phone.bind('172.0.0.1',8848)#绑定ip 和管道
phone.listen(5)#监听 服务器可以接收n个客户机但是一次性纸回应5个
conn,addr = phone.accept()#等待电话 接收管道和ip
client_msg = conn.recv(1024)#接收数据 限制每次最多1024字节
conn.send(client_msg.upper())#回应客户机数据
conn.close()#关闭管道
phone.close()#关闭套接字

  客户机代码:

import socket
phone = socket.socket()
phone.connect(('192.168.16.213',8848))
phone.send('hello'.encode('utf-8'))
from_server_date = phone.recv(1024)
print(from_server_date)
phone.close()

  服务器:

  1.服务器先创建一个套接字
  2.然后用bind绑定一个ip地址和端口
  3.用listen函数是这个端口的和ip出于监听状态,等待客户机的连接
  4.接收客户机的管道和ip
  5.通过管道设置数据的大小和接收数据
  6.回应客户机
  7.关闭管道
  8.关闭服务器
  客户机:
  1.通过socket建立一个套接字
  2.连接到服务器connent(ip,管道)
  3.发送数据 send(数据.encode('utf-8'))
  4.接收服务器回应的数据recv()
  5.关闭客户机






posted @ 2019-02-19 21:10  小脂肪  阅读(159)  评论(0编辑  收藏  举报