网络基础相关的知识(1)架构a.    C / S架构: client客户端和server服务器端     优势: 能充分发挥PC机的性能b.    B / S架构: browser浏览器和server服务器                               隶属于C / S架构      B / S架构统一了应用的接口.(2)通信的事:a.同一台电脑上两个py程序通信: 打开一个文件b.两个电脑如何通信: 连一个网线c.多个电脑通信:ex: 电脑1(源)  要找电脑2(目标)电脑1首先发送一个请求帧, 期中包含(我的ip是192.168.1.1, 我的mac地址是xxxxxxxx, 我要找ip地址为192.168.1.2的主机), 将此请求发送给交换机.  交换机要广播这条消息给其他所有的主机 目标主机接收到消息后, 对比发现自己就是被找的主机, 回复给交换机信息(我的ip地址是192.168.1.2, 我的mac地址是yyyyyyyyy, 请回复给ip地址为192.168.1.1, mac地址为xxxxxxx的主机)交换机单播形式返回给源主机

知识点:1   mac地址: 是一个物理地址, 全球唯一, 类似于身份证2  ip地址: 是一个四位点分十进制, 它标识了计算机在网络中的位置.类似于学号3交换机的通信方式:广播: 吼一嗓子单播: 一对一组播: 一对多4arp协议: 通过目标ip地址获取目标mac地址的一个协议.5端口: 操作系统为本机上每一个运行的程序都随机分配一个端口, 其他电脑上的程序可以通过端口获取到这个程序  ip地址 + 端口能唯一找到某台电脑上的某一个服务程序6路由器: 连接不同网段, 路由7网关: 类似于一个局域网的出口和入口8网段: 一个局域网内的ip地址范围9子网掩码: 子网掩码 & ip地址得到网段10osi五层模型:应用层: http, https, ftp        传输层: tcp / udp四层交换机 四层路由器网络层: ip协议路由器三层交换机数据链路层: arp协议以太网交换机网卡网桥物理层: 传输电信号集线器网线光纤

2socket模块这是一个新的模块import socket

socket又叫做套接字有很多种类型, 但是咱们只需要知道两种就可以了

sk = socket.socket(family=AF_INET, type=SOCK_STREAM)family:一种: AF_UNIX基于文件类型的套接字(早期socket是源自于unix系统而研发的一个功能, 主要是为了同一台电脑上, 多个程序直接通信)unix系统的中心思想是: 一切皆文件一种: AF_INET基于网络类型的套接字type:一种是基于TCP协议SOCK_STREAM一种是基于UDP协议SOCK_DGRAM

tcp协议: 可靠的, 面向连接的, 面向字节流形式的传输方式udp协议: 不可靠的, 不面向连接的, 面向数据报的传输方式, 但是它快

服务器
# import socket# import time# sk = socket.socket()# 不传参数,默认使用基于网络类型的套接字, 协议 : TCP# sk.bind(('192.168.12.104',18080))# 端口的范围是0-65535   但是 0-1023 这些你别用# sk.listen()# 同时能接受的连接# conn,addr = sk.accept()# 等待接受客户端的连接  阻塞等待# print('conn:',conn)# print('addr:',type(addr))# time.sleep(20)# conn.close()# sk.close()

#    第二次   通信

import socket

sk = socket.socket()# 我买一个新手机

sk.bind(('192.168.12.104',18080))#  我买一个手机卡

sk.listen()# 开机

conn,addr = sk.accept()# 等待朋友给我打电话

msg_r = conn.recv(10)# 接受数据,接受10个字节print(msg_r.decode('utf-8'),addr)

conn.close()# 挂断电话sk.close() # 关机
客户端
# import socket# import time# sk = socket.socket()# sk.connect(('192.168.12.104',18080))# 连接# time.sleep(20)# sk.close()

#    第二次      通信import socket

sk = socket.socket()

sk.connect(('192.168.12.104',18080))# 连接

sk.send('中文'.encode('utf-8'))

sk.close()

一直通信tcp多人通信(必须关闭一个客户端,再进行第二次通信)服务器
import socket

sk = socket.socket()# 默认参数  使用基于网络类型的套接字,TCP协议sk.bind(('127.0.0.1',65533))# 回环地址sk.listen()while 1:    conn,addr = sk.accept()# 接电话

    while 1:        msg_r = conn.recv(1024).decode('utf-8')        print(msg_r)        if msg_r == 'q':            break        msg_s = input('>>>')        conn.send(msg_s.encode('utf-8'))        if msg_s == 'q':            break

    conn.close()sk.close()
客户端
import socket

sk = socket.socket()sk.connect(('127.0.0.1',65533))while 1:    msg_s = input('>>>')    sk.send(msg_s.encode('utf-8'))    if msg_s == 'q':        break    msg_r = sk.recv(1024).decode('utf-8')    if msg_r == 'q':        break    print(msg_r)

sk.close()
 ************************************************************************************************
 

说一说交换机和路由器的区别?


交换机的主要功能是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点,点多对的形式,发送给固定端


路由器的主要功能: 进行跨网段进行数据传输,路由选择最佳路径.


EX:


如果你需要将多台电脑连接到一根网线, 用交换机即可


如果你只有一个外网ip,但是你有好多台电脑需要上网, 用路由器即可

												

网络基础知识 tcp的更多相关文章

  1. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  2. 网络基础知识、ASP.NET 核心知识(1)*

    为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...

  3. Java 网络编程(一) 网络基础知识

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...

  4. Linux运维笔记(一)网络基础知识

    网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...

  5. iOS网络基础知识

    iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...

  6. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  7. 转:TCP/IP协议(一)网络基础知识

    转载:http://www.cnblogs.com/imyalost/p/6086808.html 参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知 ...

  8. TCP/IP协议(一)网络基础知识 网络七层协议

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  9. 软件开发架构、网络基础知识、osi七层模型

    一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...

随机推荐

  1. 【error】select timeout问题

    使用摄像头的过程中出现这个问题,说明是找不到摄像头了, 有可能是摄像头驱动问题,也有可能是摄像头接口处接触不良等原因造成的. re 1.select-timeout-opencv; End

  2. Maven3的环境配置

    1 需要准备一个Maven的包,名字叫:apache_maven_3.3.9(在百度中搜索自行下载) 2 在eclipse中点击window→preferences→maven→Installatio ...

  3. 20155229 2016-2017-2 《Java程序设计》第六周学习总结

    20155229 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 Java中,输入串流代表对象为java.io.InputStream,输出串流代表对 ...

  4. 51Nod:1265 四点共面

    计算几何 修改隐藏话题 1265 四点共面  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点 ...

  5. HTTP、TCP、UDP以及SOCKET

    HTTP.TCP.UDP以及SOCKET 一.TCP/IP代表传输控制协议/网际协议,指的是一系列协组. 可分为四个层次:数据链路层.网络层.传输层和应用层. 在网络层:有IP协议.ICMP协议.AR ...

  6. /proc/sys/vm/drop_caches 清理缓存

    1. 使用方法 /proc/sys/vm/drop_caches默认是0 # echo 1 > /proc/sys/vm/drop_caches; free pagecache, use# ec ...

  7. java设计模式--创建型模式(一)

    2016-04-24 10:10:34 创建型模式:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式 注意:工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂 ...

  8. MapReduce-朴素贝叶斯

    朴素贝叶斯(Native Bayes),贝叶斯在现实使用中是怎么玩的?不是根据A|B的概率获得B|A的概率,在现实中的玩法是: 首先要明白贝叶斯是一种分类算法,因为是概率所以,他的应用领域其实是比较, ...

  9. JMeter--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  10. 2018-2019学年第一学期Java课设--魔塔

    目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...