网络编程 之 初识 网络通信编程 (一)

网络编程:
  理论知识:
    架构: 程序员开发的一种模式.
      最老的架构: C/S 架构. 客户端/ 服务器 模式的架构
      B/S 架构: Browser浏览器/服务器 模式的架构. 此架构解决了 C/S 冗(rong)余的现象
          优势: 统一了 应用的接口

  网络通信编程: ipconfig -all
    1, 同一台电脑上两个py文件通信 --- 利用文件.
    2, 两台电脑上通信 --- 利用一根网线
      网卡: mac地址 物理地址(真实存在的才叫物理): 一般是由网卡的生产厂商给的, 不能随便给, 要遵循一定的规则, 因为, mac地址要求全球唯一, 此地址是 12位的十六进制数
        mac地址的查看命令:ipconfig -all
      ip地址 :
        ipv4协议: 四位点分十进制.
    3, 多台电脑通信 --- 利用交换机
      交换机: 接受到请求帧后, 对所有的除了发送请求的服务器进行广播, 另外被请求的服务器处理过后再次返回给交换机, 然后交换器在单播给 发送请求的服务器.
        服务器1找寻服务器2的mac地址的过程:
          1, 发送请求帧给交换机;
          2, 交换机以 广播方式找寻服务器2
          3, 服务器2接受到请求后返回给交换机;
          4, 交换机以单播方式返回给服务器1
        这个整个过程就是服务器1, 通过服务器2 的ip地址, 借助交换机的功能,找到了服务器2的mac地址. 这个过程叫做: arp协议.(通过目标的ip地址找到目标的mac地址.)

    4, 更多台电脑通信 --- 利用交换机 - 路由器
      路由器: 有一个路由表, 记录了归它管理的所有的网段.

    5, 如果确定一个Ip地址是否在当前局域网内:
      用网段来确定一个ip地址是否在一个局域网中: 网段 = ip地址 & 子网掩码.
    6, 协议: 由多人制定的一种规则.
      通过socket模块可以去操作TCP协议和UDP协议
        TCP协议: 代表安全可靠的通信方式. 在代码中 面向连接.
          默认是 SOCK_STREAM
          三次握手: 必须是客户端先发起请求.
            1, 客户端发送给服务器端 我想连接你, 可以么
            2, server发送给client 可以, 我也想连接你
            3, client回复server, 可以
          四次挥手: 谁先发起请求都可以. 中间有一端 连续发送了两条.
            1,
            2,
            3,
            4,
        UDP协议: 代表追求通信速度: 快. 因为快,所以容易丢包,不太安全.
          回环地址: 127.0.0.1 无聊什么时候都代表本机 ip地址 只限制本机使用.
    7, 端口: 端口是 操作系统为每一个应用程序分配的一个端口号
      ip地址+端口号确定唯一地址.
    8. socket模块
      sk.bind() 端口号: 0-1023 不能用.
      sk.listen() 监听是否有连接.
    9, OSI 五层模型:

      应用层 py文件

      传输层 TCP/UDP 协议
      网络层 ip 协议
      数据链路层 arp协议, 网卡
      物理层 网线, 光纤等等.

 

 


1, arp协议

   arp协议 : 通过目标ip地址获取目标mac地址.
    (mac的地址是全球唯一的,12位16进制)
    (id地址是四位点分十进制 (ipv4))
2, tcp 和 udp 的区别:

  1,tcp协议: 代表安全可靠通信方式 面向连接

  2,udp协议: 不安全,不可靠的通信方式,但是它快
3, tcp三次握手 和 四次挥手

  三次握手:

    1,client发送给server, 我想连接你,可以吗?
    2,server收到后回复client,可以,我也想连接你,可以吗?
    3,client回复server,可以

  四次挥手:    

    1,client发送请求: 我准备断开连接了,我没有数据需要发送了,如果你有数据可以继续发给我

    2,server回复: 确认接收到你的请求,我开始着手准备断开事宜
    3,server回复: 我准备好了,可以随时断开连接
    4,client回复: 断开连接吧
4, 什么是协议: 由多人制定的一种规则
5, tcp编码流程.

 

 

 

 

 

 

 

1: arp协议 : 通过目标ip地址获取目标mac地址.
(mac的地址是全球唯一的,12位16进制)
(id地址是四位点分十进制 (ipv4))

2: tcp协议和udp协议的区别?
1,tcp协议: 代表安全可靠通信方式 面向连接
2,udp协议: 不安全,不可靠的通信方式,但是它快

3.tcp三次握手和四次挥手:
三次握手: 注意必须是client先发起请求
1,client发送给server, 我想连接你,可以吗?
2,server收到后回复client,可以,我也想连接你,可以吗?
3,client回复server,可以
四次挥手: 谁先发起请求都可以
1,client发送请求: 我准备断开连接了,我没有数据需要发送了,
如果你有数据可以继续发给我
2,server回复: 确认接收到你的请求,我开始着手准备断开事宜
3,server回复: 我准备好了,可以随时断开连接
4,client回复: 断开连接吧

4.什么是协议?
由多人制定的一种规则

posted @ 2018-07-18 14:54  浮生凉年  阅读(358)  评论(0编辑  收藏  举报