一.   
c/s 架构: 客户端(client)/服务端(server)架构  
    服务端: 提供服务的 
    客户端: 享受服务的
    B/S 架构:浏览器(browser)/服务端(server)
软件cs架构:浏览器,qq,微信,陌陌等等
硬件cs架构: 打印机
制图工具:  visio, powerdesigner(现在公司主要在用),eu
二. 网络通信的整个流程***
  1.集线器: 将所有的电脑联通起来,
  2.交换机: 升级版的集线器
  3.网卡: 接收,处理电信号 
  4. Mac地址= 物理地址: 1C-1B-0D-74-43-9A   前三位是厂商编号,后三位生产流水号,全球唯一的也就是你网络设备的身份证号
  5.ip地址: iPv4     4个点分十进制   地址:192.168.12.11  划分广播域
ip地主段:192.138.12.0 - 192.168.12.255  同一ip地址段,称为同一子网,一广播的形式通信
6.子网掩码: 计算是否属于同一网段,同一子网255.255.255.0
目标ip地址是:192.168.12.16
 11000000.10101000.00001100.00010000
 255.255.255.0
 11111111.11111111.11111111.00000000
 11000000.10101000.00001100.00000000
                                 192.168.12.0
7.DHCP协议:自动获取ip地址
8.Arp协议:通过ip地址获取mac地址
9.域名: www.jd.com   也就是网址
10.DNS 服务端:{' www.jd.com':173.16.49.0}
11.路由器:转发消息,管理内网
      路由协议:计算路由转发的最优路径
12.端口:表示电脑上的某个应用程序
       ip地址+端口 = 能够唯一锁定一台电脑和这个电脑上的某个应用程序
13.网关:把关用的,所有对外的请求都要经过网关
   NAT技术:网络地址转换,内网ip地址转换为公网或者说外网的ip地址
三.socket简单的操作*****
  socket:用于网络通信的模块,独立的语言,各个语言都有这个.
服务端:
# 导入socket模块
import socket
# 创建socket对象,相当于创建了一个手机
server =socket.socket()
#给程序设置一个ip地址和端口号,相当于买个手机卡
ip_port = ('127.0.0.1', 9999)
# 绑定ip地址和端口,相当于插卡
server.bind(ip_port)
# 监听ip地址和端口,简称开机
server.listen()
# 等待建立连接,conn 是连接通道, addr是客户端的地址
conn, addr = server.accept()
# 服务端通过conn连接通道来收发消息,通过recv方法,recv里面的参数是字节(B),2048的意思2048B=1KB
from_client_msg = conn.recv(2048) print('客户端说:', from_client_msg.decode('utf-8'))
# 回复消息:通过send方法,参数必须是字节类型的
conn.send('喜欢'.encode('utf-8'))
#关闭通道
conn.close()
#关闭socket 对象,关机
server.close()

客户端

# 导入socket 模块
import socket
# 创建一个socket对象
client = socket.socket()
# 找到服务端ip地址和端口
server_ip_port = ('127.0.0.1', 9999)
# 连接服务端的应用程序,通过connect方法,参数是福区段的ip地址和端口,打电话
client.connect(server_ip_port)
# 发消息,用send方法,但是点用着是client的socket对象
client.send('在干嘛呢'.encode('utf-8')) from_server_msg = client.recv(2048) print('服务端说:', from_server_msg.decode('utf-8')) client.close()

day 26 网络知识 01的更多相关文章

  1. centos Linux系统日常管理2 tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课

    centos  Linux系统日常管理2  tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课 ...

  2. 网络知识学习2---(IP地址、子网掩码)(学习还不深入,待完善)

    紧接着:网络知识学习1 1.IP地址    IP包头的结构如图 A.B.C网络类别的IP地址范围(图表) A.B.C不同的分配网络数和主机的方式(A是前8个IP地址代表网络,后24个代表主机:B是16 ...

  3. [转] - Linux网络编程 -- 网络知识介绍

    (一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户 ...

  4. Linux网络服务01——Linux网络基础设置

    Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...

  5. 网络知识 - 简易的自定义Web服务器

    简易的自定义Web服务器 基于浏览器向服务端发起请求 两台主机各自的进程之间相互通信,需要协议.IP地址和端口号,IP表示了主机的网络地址,而端口号则表示了主机上的某个进程的地址,IP加Port统称为 ...

  6. 软件测试人员必备网络知识(一):什么是cookie?

     初入职场的新人,是不是经常会被一些基础的网络知识难住,又不敢问老大,只好默默的百度?纳,我花一个星期的加班时间,把这些经常要用到的网络知识点给整理出来了!这是一个系列的,如果对你们有用,后续还会继续 ...

  7. Linux运维基础入门(四):Linux中的网络知识04

    一,虚拟机的安装 略 二,Linux系统下的网络配置(Linux虚拟机的网络设定为桥接模式) 桥接模式:虚拟机同主机一样,在网络中相当于一个真实存在的装有Linux系统的电脑.(我们先用这个模式) N ...

  8. Linux实战教学笔记19:Linux相关网络知识梳理

    第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...

  9. 网络知识===wireshark抓包数据分析(一)

    wireshark分析: 上图是我进行一个HTTP协议的下载,文件内容大概是1.7M左右. 抓包数据: https://files.cnblogs.com/files/botoo/wireshark% ...

随机推荐

  1. javascript 事件相关使用总结01

    javascript 事件相关使用总结01 这里总结一下js事件相关的经验. addEventLinstener()介绍 注册事件最基础的函数是这个 target.addEventListener(t ...

  2. LeetCode-Subsets ZZ

    LeetCode:Subsets Given a set of distinct integers, S, return all possible subsets. Note: Elements in ...

  3. double转换long的疑问

    在lua(5.1.4)下面测试的时候使用0x100000000的时候出现了问题,打印结果很明显,如下所示: Lua Copyright (C) - Lua.org, PUC-Rio > prin ...

  4. 微软操作系统 Windows Server 2012 R2 官方原版镜像

    微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版 ...

  5. sql执行计划变更和删除缓存中执行计划的方法

    将指定SQL的执行计划从共享池删除的方法 http://www.2cto.com/database/201204/126388.html Oracle SQL执行计划变更的问题 http://www. ...

  6. February 9 2017 Week 6 Thursday

    Happy life lies in a peaceful mind. 幸福的生活存在于心绪的宁静当中. What can be seen as happy life? Maybe the answe ...

  7. java中i = i++问题

    今天偶然呗问到了一个java中自增运算符的问题,涉及到了堆栈,觉得挺有趣的把它记录下来. int i=0;      i=i++;      结果i是多少?      这是一个经常被提及的问题,答案一 ...

  8. batik-all-1.7

    处理highcharts导出图片出现中文乱码所用到的jar包

  9. itext-2.1.7.jar

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. ...

  10. spring的声明式的事物管理和编程事务管理的区别

    一.Spring对编程式事务的支持 Spring中的事务分为物理事务和逻辑事务: 物理事务:就是底层数据库提供的事务支持,如JDBC或JTA提供的事务: 逻辑事务:是Spring管理的事务,不同于物理 ...