• tcp === udp


    网络基础相关知识:

    1.架构

    (1)C/S 架构:client客户端和server服务器端       优点:能充分发挥pc机的性能

    (2)B/S架构:browser浏览器和server服务器端  隶属于C/S架构      优点:统一了应用的接口

    2.通信

    (1)同一台电脑上两个py程序通信: 打开一个文件

    (2)两个电脑如何通信: 连一根网线

    (3)多个电脑通信: 借助于交换机  

    多个电脑通信过程:电脑1首先发送一个请求帧(我的ip地址是:....,我的mac地址是...;我要找ip地址是....的主机),将此请求发送给交换机,交换机广播这条消息给其他所有主机,目标主机接收到消息后.对比发现自己就是被找的主机后,回复给交换机信息(我的ip是....,我的mac地址是......;请回复给ip地址是....,mac地址是:...主机)交换机以单播的形式返回给源主机.

    网卡有mac地址(物理地址):mac地址全球唯一的    mac地址是网卡制造商给的    mac地址是十六进制    类似身份证

    ip地址:是一个四位点十进制,它标识了计算机在网络中的位置

    arp协议:通过目标ip地址获取目标mac地址的一个协议(过程)

    端口:操作系统(os)为本机上每一个运行程序者随机分配的一个端口,其他电脑上的程序可以通过端口获取到这个程序.

    ip地址+端口 = 找到某台电脑的端口    ip找到主机   端口找到某一服务

    交换机通信方式:1.广播;2.单播:一对一;3.组播:一对多

    路由器:连接不同网段(ip地址),路由(里面含有一个路由表)

    网关:类似于一个局域网的出口和入口

    网段:一个局域网内的ip地址范围

    子网掩码:子网掩码&ip地址==网段

    例:

    ip地址:   192.168.12.104   ==>   1100 0000. 1010 1000. 0000 1010. 0110 1000
    &
    子网掩码: 255.255.255.0 ==> 1111 1111. 1111 1111. 1111 1111. 0000 0000
    网段: 1100 0000. 1010 1000. 0000 1010. 0000 0000

    196. 168. 12. 0

    标准输出:屏幕(stdout)    标准输入:键盘(stdin)

    osi五层模型:

            协议        物理设备

    应用层:       http/https/ftp

    传输层:            tcp/udp         四层交换机,四层路由器

    网络层:            ip协议           路由器,三层交换机

    数据链路层:     arp协议      以太网交换机(二层交换机),网卡,网桥(mac地址相关)

    物理层:       传输电信号           集线器,网线,光纤,一层交换机

    二层交换机:组织局域网,不具备跨网段传输

    三层交换机:具有跨网段传输

    四层交换机:帮用户采取tcp/udp协议

    网桥:可以实现跨网段的传输数据

    tcp协议:比较安全   udp协议:传输速度快

    socket模块(套接字):

    socket的两种类型:

    (1).AF_UNIX:基于文件类型的套接字(早期socket是源于unix系统而研发的一个功能,主要为同一台电脑上多个编程直接通信),unix系统中心思想是:一切皆文件.

    (2)AF_INET:基于网络的套接字

    tcp协议(SOCK_STREAM):可靠的,面向连接的,面向数据流形式的传输方式

    udp协议(SOCK_DGRAM):不可靠的,不面向连接的,面向数据报的传输方式,但是传输速度块.

    tcp协议:客户端和服务端两端都可以先发送

    tcp协议中服务端accept()和客户端的connect()发生三次握手 在服务端的close()和客户端的close()反生四次挥手

    ACK;回复一个确认接收到信息的标识
      ① 键连接三次握手:三次挥手的第一次请求一定是client先发送
        a.客户端发起请求连接服务器
        b.服务器返回:接受到请求,并要求连接客户端
        c.客户端回复:可以连接
      ② 断链接四次挥手:第一次请求,谁先发送都可以
        a.客户端发起断开连接的请求(我想和你断开连接我没有数据要继续发送了,但是如果你还有数据没有发完,你就继续发就可以了)
        b.服务器回复:我接收到你的请求了
        c.服务器发送:我已经准备好断开连接了
        d.客户端回复:收到信息,断开连接
  • 相关阅读:
    [leetCode]09.用两个栈实现队列
    ubuntu:无法获得锁;无法锁定管理目录
    [leetCode]07.重建二叉树
    [leetCode]剑指 Offer 06. 从尾到头打印链表
    [leetCode]剑指 Offer 05. 替换空格
    [leetCode]1330.翻转子数组得到最大的数组值
    [leetCode]312.戳气球
    UVALive
    CodeChef
    CodeChef
  • 原文地址:https://www.cnblogs.com/lynysy/p/9470885.html
Copyright © 2020-2023  润新知