• 网络编程


    子网掩码:四点分十进制组成:

      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()

        

  • 相关阅读:
    python学习笔记 day44 mysql练习题(三)
    python学习笔记 day44 mysql 练习题(二)
    python学习笔记 day44 mysql练习题(一)
    python学习笔记 day44 数据库三范式
    python学习笔记 day44 表与表之间的关系
    西北大学集训队选拔赛(重现赛)
    #Leetcode# 196. Delete Duplicate Emails
    #Leetcode# 596. Classes More Than 5 Students
    #Leetcode# 176. Second Highest Salary
    #Leetcode# 620. Not Boring Movies
  • 原文地址:https://www.cnblogs.com/weize111/p/10401348.html
Copyright © 2020-2023  润新知