计算机网络

socket模块

匿名 (未验证) 提交于 2019-12-02 23:53:01
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。socket通常被叫做“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。python中socket模块为操作系统的socket实现提供了一个python接口。 s=socket.socket(family,type)的实例方法 (1) s.bind((address,port)) 将socket绑定到一个地址和端口上,通常用于socket服务端 address必须是一个双元素元组,((host,port)),主机名或者IP地址+端口号。如果端口号正在被使用或者主机名或IP地址错误,则引发socket.error异常。 端口号的使用是有限制的,在linux或者unix之中只有系统管理员才能使用1024以下的端口,这些端口号用于标准服务。 s.accept() 返回一个客户机socket,带有客户机端的地址信息。 调用accept方法的时候,socket会进入阻塞状态。客户请求连接时,方法建立连接并返回服务器。 accept方法返回一个双元素元组,形如(connection,address)

网络协议: TCP/IP 和UDP/IP

匿名 (未验证) 提交于 2019-12-02 23:47:01
TCP/IP UDP /IP TCP/IP TCP/IPTransmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议。定义了主机如何连入因特网以及数据如何在他们之间传输的标准。 TCP/IPTCP/IP 每一个抽象层建立在低一层提供的服务上,并且为高一层提供服务 ICMP:控制报文协议 IGMP:internet组管理协议 ARP:地址解析协议 RARP:反向地址转化协议 OSI模型(开放式系统互联通信参考模型),它是由国际标准化组织提出的,试图使各种计算机在世界范围内互联为网络的标准框架 OSI模型多了表达层、会话层 3 次握手协议 所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立 (1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。 3

【0】计算机网络《物理层》

匿名 (未验证) 提交于 2019-12-02 23:32:01
版权声明:原创作品,受法律保护,盗版必究 https://blog.csdn.net/jjf_jianFeng/article/details/90245442 ⑴【看待物理层】:物理层考虑的是怎样才能在链接各种计算机的传输媒体上传输数据比特流,而不是具体的传输媒介。研究的是传输方法(方式)、传输方式转换、和传输媒介的功能性。 可以将物理层描述为确定与传输媒体的接口有关的一些特性:机械特性、电气特性、功能特性、过程特性。 ⑵【数据传输方式】:在计算机内部多采用并行传输方式,在数据通信线路(传输媒介)上的传输方式一般为串行传输 ⑶【数据通信系统模型】:源系统(发送端)→传输系统(传输网络)→目的系统(接收端) 源系统=源点+发送器; 源点:产生要传输的数据,又称信源。 发送器:编码数字比特流,典型的发送器就是调制器。 目的系统=接收器+终点。 接收器:接受信号,并将信号转化为能被目的设备处理的信号,典型的接收器就是解调器。 终点:获取接收器传来的数据比特流,完成相应的输出。 注:源系统和目的系统之间可以是单一传输线,也可以是复杂的。网络系统。 ⑸【信道】:表示向某一方向传送信息的媒体,一条通信电路往往包含一条发送信道和一条接收信道。 通信的三种基本方式:单向通信、双向交替通信、双向同时通信。 ⑷【基带信号】:来自信源的信号常称为基带信号,基带信号往往较多的低频成分甚至一些直流成分

计算机网络原理(一):计算机网络概述

匿名 (未验证) 提交于 2019-12-02 23:30:02
计算机网络是互连的、自治的计算机集合。 计算机网络中的实体在进行数据交换的过程中必须遵循的规定或约定,称为网络协议。 协议的三个要素: 语法(定义实体间交换信息的格式和结构,或者定义实体(比如硬件设备)之间传输信号的电平等。 语义(实体间交换的控制信息等) 时序(也称同步,定义实体之间交换信息的顺序以及如何匹配和适应彼此的速度) 硬件功能共享 软件功能共享 信息资源共享 按照覆盖范围 个域网、局域网、城域网、广域网 按拓扑机构分 星形拓扑结构、总线型拓扑结构、环形拓扑结构、网状拓扑结构、树形、混合型 按交换方式分 电报网络交换、报文交换、分组交换 按网络用户属性分 公用网、私有网 各终端 终端设备和网络核心(网络服务提供商)的连接部分。 分为: 电话拨号接入 非对称数字用户线路ADSL 混合光纤同轴电缆HFC接入网络 局域网 移动接入网络 由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继和转发。 通信终端之间通过交换设备进行数据的中继和转发进行数据通信。 建立电路-->传输数据-->拆除电路 通过交换节点将整条报文进行中继转发。 目前广泛采用的互联网通信技术。 将报文分割成数据块,每个数据库附上一定的控制信息构成数据分组。每个分组独立传输到目的地,到达后重新组装,还原成报文。 优点 交换设备存储容量要求低 交换速度快 可靠传输率高 更加公平

HTTP 协议详解

你离开我真会死。 提交于 2019-12-02 22:59:56
什么是HTTP协议   协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器   目前我们使用的是HTTP/1.1 版本   Web服务器,浏览器,代理服务器   当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?   实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示   我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。   过程如下图所示   代理服务器就是网络信息的中转站,有什么功能呢?   1. 提高访问速度, 大多数的代理服务器都有缓存功能。   2. 突破限制, 也就是翻墙了   3. 隐藏身份。   URL详解   URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下 schema://host[:port#]/path/.../[;url-params][?query-string][#anchor]   scheme

python高级编程――网络编程(一)

匿名 (未验证) 提交于 2019-12-02 22:51:30
计算机网络基础      概念: 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。而网络编程就是开发计算机网络应用程序 计算机的通信协议    概念: 计算机处理最多的东西就是数据,通信的话就是要传输数据,在传输数据的过程中需要遵循计算机通信协议(TCP/IP) 端口 分类: 物理端口:交换机、路由器、集线器的端口 逻辑端口: TCP/IP协议端口,端口号的范围从0到65535 保留端口:HTTP 80,FTP 20/21,Telnet 23,SMTP 25,DNS 53,MYSQL 3306 动态端口:范围是从1024到65535 动态分配:当系统进程需要使用网络通信时,向主机申请一个端口,主机从可用的端口中分配 一个供它使用,当进程关闭时,同时释放所占用的端口 查看端口状态:netstat -an IP地址 IP地址用来在网络中标记一台电脑的一串数字,比如192.168.1.1;在本地局 域网上是惟一的。 IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4 个字节) IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是 0~255之间的十进制整数。 socket套接字 socket简介   本地的进程间通信(IPC)有很多种方式     管道、消息队列

python网络编程

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python中提供了两个级别访问的网络服务: 1、低级别的网络服务Socket 2、高级别的网络服务模块SocketServer Socket和SocketServer区别: 整个计算机网络是由协议构成,如Web中的http协议、传输协议TCP和UDP等等,通信需要socket来实现。socket直接和传输层后下面的底层网络协议打交道(socket本身让我们直接与TCP打交道),底层socket已经建立好则可以互相通信。互联网现在主流的网络层协议是IPv4,IPv6是下一代网络层协议但不主流,IPv6解决的是IPv4地址耗尽的问题,其实为了应对IPv4资源少的问题产生了局域网和网关。 SocketServer简化了编写网络服务程序的任务,同时SocketServer模块也是Python标准库中很多服务器框架的基础,总的来时,SocketServer是一个种更集成的开发网络开发框架,开发人员可以专注于事务的细节,而不是使用Socket的各种细节。不过学习还是得一步一步来。 网络原理: 网络原理是掌握socket原理的必经之路,首先来介绍一下网络的七层基本框架,包含应用层、会话层、表示层、传输层、网络层、链路层和物理层(当前把网络七层模型中的会话、表示、应用层统称为应用层。) 传输层      通过端对端的接口 TCP UDP 网络层      为数据包选择路由 IP ICMP 物理层

【1】HTTP协议和Socket接口区别

匿名 (未验证) 提交于 2019-12-02 22:11:45
内容提要:     1.网络七层模型     2.什么是HTTP协议     3.什么是Socket接口 1.网络七层模型 第一层:物理层 为设备之间的信息提供传输提供可靠环境,那么这个环境是什么呢? 如:同轴电缆,插头,接收器,水晶头,网线等。可以在通信的两个数据终端的设备之间连接起来形成一条通路。 再说下这个协议中的某一项规定:比如eiars-232-c及rs-449就可以兼容于100序列线上。 第二层:数据链路层 提供数据的传送服务。 这里涉及到一个信息就是帧,它是数据传输的单元,不同的协议帧的长短也不同。它还有差错恢复,流量控制的功能(这个指的是硬件) 我们常见的链路层产品就是网卡,网桥等。 它的作用是 路由的选择,网络的激活和终止。 它还有的一个重要功能就是在一条数据链路上复用多条网络连接,大多采用的是分时复用的技术。 我们常见的是路由器、网关等 第四层:传输层 它是 两台计算机经过网络进行数据通信时最基础的端到端的一个层次 。它的服务满足了传送质量,传达速度,传送费用的不同需要。它还具有差错恢复,流量控制的功能(这个指的是软件) 很多时候我们会发现QQ聊天的速度很快,但是我们上网速度就很慢,这就是因为QQ使用UDP协议,没有纠错功能,而网络的传输使用的是TCP协议,它的纠错功能就会导致传输速度变慢。 第五层:会话层 它的服务可 使应用建立和维持会话 。再举个栗子

网络

心已入冬 提交于 2019-12-02 14:54:24
本文转载自博客园: https://www.cnblogs.com/clschao/articles/9578922.html 对网络通信整个流程的大致介绍请看原作者另一篇文章: https://www.cnblogs.com/clschao/articles/9613442.html 一.操作系统基础   操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。   注:计算机(硬件)->os->应用软件   有关操作系统详细的介绍和原理请看这里>>> https://www.cnblogs.com/clschao/articles/9613464.html ,不是你们现在这个阶段需要学习的,还是老样子,先大致了解一下就行啦。 二.网络通信原理   2.1 互联网的本质就是一系列的网络协议 当我们通过自己电脑的浏览器访问京东的时候, ,我们是在浏览器上输入了一个网址,但是我们都知道,互联网连接的电脑互相通信的是电信号,我们的电脑是怎么将我们输入的网址变成了电信号然后发送出去了呢,并且我们发送出去的消息是不是应该让京东的服务器能够知道,我们是在请求它的网站呢,也就是说京东是不是应该知道我发送的消息是什么意思呢。是不是发送的消息应该有一些固定的格式呢

Socket通信原理(2)

泄露秘密 提交于 2019-12-02 14:44:43
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页 时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是 socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下: 文章目录 一、网络中进程之间如何通信? 二、什么是Socket? 三、socket的基本操作 (一)socket()函数 (二)bind()函数 (三)listen()、connect()函数 (四)accept()函数 (五)read()、write()等函数 (六)close()函数 四、socket中TCP的三次握手建立连接详解 五、socket中TCP的四次握手释放连接详解 六、下面给出实现的一个实例 一、网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道、FIFO、消息队列) 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量) 共享内存(匿名的和具名的) 远程过程调用(Solaris门和Sun RPC) 但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程