计算机网络

socket与http

南楼画角 提交于 2020-01-02 20:53:00
参考文档: http://blog.csdn.net/zeng622peng/article/details/5546384 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开) 2、HTTP连接 HTTP协议即超文本传送协议

TCP和Http和Socket區別

回眸只為那壹抹淺笑 提交于 2020-01-02 20:42:08
Today,A colleague ask me a question about the different between Webservice and Socket. i am also a little excursive. I search a good article and i think it can resolve my confuse. i share it in here. 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态

Java Socket编程

你。 提交于 2020-01-01 19:57:49
Socket编程 一、网络基础知识(参考计算机网络) 关于计算机网络部分可以参考相关博客: 《 TCP/IP协议栈及OSI参考模型详解》 http://wangdy.blog.51cto.com/3845563/1588379 1、两台计算机间进行通讯需要以下三个条件: IP地址、 协议、 端口号 2、TCP/IP协议: 是目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合,也成TCP/IP协议族、或TCP/IP协议栈 TCP:Transmission Control Protocol 传输控制协议 IP:Internet Protocol 互联网协议 3、TCP/IP五层模型 应用层:HTTP、FTP、SMTP、Telnet等 传输层:TCP/IP 网络层: 数据链路层: 物理层:网线、双绞线、网卡等 4、IP地址 为实现网络中不同计算机之间的通信,每台计算机都必须有一个唯一的标识---IP地址。 32位二进制 5、端口 区分一台主机的多个不同应用程序,端口号范围为0-65535,其中0-1023位为系统保留。 如:HTTP:80 FTP:21 Telnet:23 IP地址+端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础 6、Socket套接字:

Coursera: Internet History, Technology, and Security

北城余情 提交于 2020-01-01 14:31:51
课程网址:https://www.coursera.org/learn/internet-history 学习笔记: Week 1: History - Dawn of Early Computing (1940 - 1960) War Time Computing and Conmmunication — High Stakes Research in Computing, and Communication 二战刺激了政府对各种科技的研究投入,由此促进了计算机技术的发展,其中就包括电子计算机的诞生。 为了解密德国的无线电情报,英国布莱切利园( Bletchley Park )内以艾伦·图灵( Alan Turing )为代表的跨学科( cross-disciplinary )团队为电子通信和计算( electronic communication and computation )技术打下了基础。 — Alan Turing and Bletchley Park 在二战期间,布莱切利园是英国政府进行密码解读的主要场所,各行各业的上万名人员在此处工作,轴心国的密码与密码文件,都会送到那里进行解码。布莱切利园是最早的跨学科合作部门。 Bombe 是一台英国机械计算机,致敬波兰密码破译机 Bomba ,对破译德国 Enigma 密码机起到了重要作用,一个 Bombe 可以模拟36个

【转】太厉害了,终于有人能把TCP/IP协议讲的明明白白了!

◇◆丶佛笑我妖孽 提交于 2020-01-01 02:09:35
【转】太厉害了,终于有人能把TCP/IP协议讲的明明白白了! 一、 计算机网络体系结构分层 二、 TCP/IP 基础 1. TCP/IP 的具体含义 2. 数据包 3. 数据处理流程 三、传输层中的 TCP 和 UDP 1. 端口号 2. UDP 3. TCP 四、网络层中的 IP 协议 1. IP 地址 2. 路由 3. IP 分包与组包 4. IPv6 5. IP 协议相关技术 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。 一图看完本文 一、 计算机网络体系结构分层 太厉害了,终于有人能把TCP/IP 协议讲的明明白白了 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议

计算机网络的核心概念

心已入冬 提交于 2019-12-31 10:49:02
这是《计算机网络》系列文章的第二篇文章 我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和网络攻击。 网络核心 网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点 那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?信息交换主要分为两种方式 分组交换 和 电路交互 ,下面我们就来一起认识一下。 分组交换 在互联网应用中,每个终端系统都可以彼此交换信息,这种信息也被称为 报文(Message) ,报文是一个集大成者,它可以包括你想要的任何东西,比如文字、数据、电子邮件、音频、视频等。为了从源目的地向端系统发送报文,需要把长报文切分为一个个小的数据块,这种数据块称为 分组(Packets) ,也就是说,报文是由一个个小块的分组组成。在端系统和目的地之间,每个分组都要经过 通信链路(communication links) 和 分组交换机(switch packets) ,通信链路可以分为双绞铜线、同轴电缆和光纤。分组交换机又分为路由器和链路层交换机。(这块如果你不明白的话,还需要翻看我上一篇文章 你说你懂互联网,那这些你知道么? )分组要在端系统之间交互需要经过一定的时间,如果两个端系统之间需要交互的分组为

计算机网络(传输层)

送分小仙女□ 提交于 2019-12-30 02:48:23
概述 网络层时为主机之间提供逻辑通信 传输层向应用层提供进程间端到端的逻辑通信服务(U形通信路路线) 运输层向上层用户屏蔽了下面网络核心的细节,使应用进程看到的就是好像在两个运输层实体之间有一条端到端的逻辑通信通道。 传输的数据单位:运输协议数据单元TPDU 用户数据报协议UDP(User Datagram Protocol) 传送的数据单元是UDP数据报 无需建立连接 传输控制协议TCP(Transmission Control Protocol) 提供面向连接的服务,先建立连接在传输数据,最后释放连接 传输层端口 复用:应用层的所有应用进程都可以通过传输层在送到网络层 分用:传输层从IP层收到数据后,交付给指定的进程 前提:在本地计算机系统中的进程使用进程描述符标志运行在操作系统中的多个进程,而在互联网环境下,运行在应用层的各种应用进程不可以用进程标识符,因为不同计算机使用的操作系统千差万别,需要用统一的方式去使得不同操作系统的计算机应用可以通过互联网通信。 在运输层使用协议端口号(port)可以解决这个问题,通信的终点是应用程序进程,但我们把数据交给目的主机某个合适端口,剩下的交付过程交给TCP 区分,硬件端口是不同硬件设备进行交互的接口,软件端口是应用层的各种协议进程与运输实体之间进行层间交互的一种地址。 传输层收到IP层交上来的传输层报文

SDN 网络系统之 Mininet 与 API 详解

混江龙づ霸主 提交于 2019-12-28 13:41:48
SDN 网络系统之 Mininet 与 API 详解 来源 https://www.ibm.com/developerworks/cn/cloud/library/1404_luojun_sdnmininet/ 更多资料 1. Mininet: http://mininet.org/ 2. Mininet wiki: https://github.com/mininet/mininet/wiki SDN 与 Mininet 概述 SDN 全名为(Software Defined Network)即软件定义网络,是现互联网中一种新型的网络创新架构,其核心技术 OpenFlow 通过网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为网络及应用提供了良好的平台。而 Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。 Mininet 实现的特性 支持

day11【网络编程】

天涯浪子 提交于 2019-12-28 05:26:07
day11【网络编程】 主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下案例2 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。 网络编程 ,就是在一定的协议下,实现两台计算机的通信的程序。 1.2 网络通信协议 **网络通信协议:**通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。 TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本

Python学习之旅(三十三)

£可爱£侵袭症+ 提交于 2019-12-27 09:14:32
Python基础知识(32):网络编程(Ⅰ) 网络通信是两台计算机上的两个进程之间的通信,而网络编程就是如何在程序中实现两台计算机的通信 P协议负责把数据从一台计算机通过网络发送到另一台计算机 TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序到达 许多常用的更高级的协议都是建立在TCP协议基础上的,比如用于浏览器的HTTP协议、发送邮件的SMTP协议等 TCP编程 Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。 一、客户端 大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器 1、创建一个基于TCP连接的Socket #导入socket import socket #创建一个socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #建立连接,注意参数是一个tuple,包含地址和端口号 s.connect(('www.sina.com.cn', 80)) TCP连接创建的是双向通道,双方都可以同时给对方发数据。谁先发谁后发,怎么协调,要根据具体的协议来决定 HTTP协议规定客户端必须先发请求给服务器