计算机网络

网络编程--Java网络编程入门

人走茶凉 提交于 2020-02-06 03:04:12
Java 网络编程入门 服务器与客户程序只需关心发送什么样的数据给对方,而不必考虑如何把这些数据传输给对方,传输数据的任务由计算机网络完成。 两个进程顺利通信的前提条件是它们所在的主机都连接到了计算机网络上。 网络协议是网络中主机之间通信的语言。 不同网络之间的互联靠网络上的标准语言—— TCP/IP 协议。 OSI 参考模型把网络分为 7 层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。不同主机之间的相同层称为对等层。 物理层:为上一层提供物理连接,以及规定通信节点之间的机械和电气特性。数据作为原始的比特 (bit) 流传输。 数据链路层:数据链路层负责在两个相邻节点间的线路上,无差错地传送以帧为单位的数据。典型设备是交换机。 网络层:选择合适的网间路由和交换节点,确保数据及时传送到目标主机。典型设备是路由器。 传输层:根据通信子网的特性最佳地利用网络资源,为两个端系统的会话层提供建立、维护和取消传输连接的功能,以可靠方式或不可靠方式传输数据。信息的传送单位是报文。 会话层:管理进程间的会话过程,即负责建立、管理、终止进程间的会话。数据传送单位是报文。 表示层:对上层数据进行转换,以保证一个主机的应用层的数据可以被另一个主机的应用层理解。数据传送单位是报文。 应用层:确定进程间通信的实际用途,以满足用户实际需求。

网络及数据在网络中传输所涉及到的协议们

不羁岁月 提交于 2020-02-05 09:11:00
网络 :几部计算机主机或网络打印机之类的接口设备,通过网线或者无线网络技术将其连接起来,使得数据可以通过网络介质(网线以及其他网卡等硬件)来传输的一种方式。 网络分类 :   1. 以太网 (Ethernet):局域网(local area network,LAN)使用的就是以太网     以太网络传输速度单位用的是Mbps,需要注意的是其中的b用的是bit而不是我们常用的byte,所以我们家中定宽带时的实际下载速度需要除以8才能够得到一般速度。     我们常见的网线就是用于传输以太网数据的,通过主机的网卡连接另一台主机的网卡或者集线器(Hub)【集线器* 注1 】     以太网的传输协议:CSMA/CD       以太网的传输关键是以太网卡(常简称网卡),每张网卡有一个“固定”的网卡号称为MAC地址(6bytes大小,是硬件地址标识),所以能够用于确定位置。       以太网内的机器间数据传输就是使用CSMA/CD协议来发送MAC数据帧的,MAC数据帧构成如下:        *其中的目标地址与源地址即是MAC地址     注1:集线器是网络共享介质设备,局域网络所有主机连接到他,当需要主机间通信时将数据发送到集线器,其再负者转发出去直到目标主机收到并接收数据。还有个叫交换机(Switch)的非共享介质设备也起类似作用,但是他们转发数据的原理不同

python网络编程

谁说我不能喝 提交于 2020-02-03 15:17:27
一:进程间的通信   1.本地进程间的通信   消息传递(管道,FIFO,消息队列)   同步(互斥量,条件变量,读写锁,文件和写记录锁,信号量)   共享内存(匿名的和具名的) 远程过程调用      2.网络进程间的通信   网络上的进程对得唯一区分,这样才能进行网络间的通信,比如QQ,微信聊天等等。而可以唯一区分的是进程的ip地址(互联网协议地址),协议,端口(设备与外界通讯的出口)。Python进行网络编程,就是在Python程序本身这个进程内,连接别的服务器进程的通信端口进行通信。 二:软件开发的架构   1.B/S架构(浏览器端、服务器端)   2.C/S架构(客户端、服务器端)   2.1 socket套接字就是,应用程序通过套接字向网络发出请求或者应答网络请求,使主机间或者计算机间的程序可以相互通信。 应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中, Socket其实就是一个门面模式,它把复杂的 TCP/IP协议族隐藏在 Socket接口后面,对用户来说,一组简单的接口就是全部,让 Socket去组织数据,以符合指定的协议。 所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。   2.2 socket()函数     socket

网络协议UDP

て烟熏妆下的殇ゞ 提交于 2020-02-01 08:47:59
------------------------------互联网协议与协议族------------------------------ tcp/ip协议介绍:计算机网络协议,不同类型不同厂家之间的终端进行沟通,规范协议 。 互联网协议族:为tcp/ip协议族 大概有上百种协议,其中tcp协议、ip协议使用的比较 多所以大家默认成为tcp/ip IP地址:网络地址(ip地址与子网掩码进行与运算获得)和主机地址 A类IP地址:由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0” (地址范围1.0.0.1-126.255.255.254) B类IP地址:由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是 “10”(128.1.0.1-191.255.255.254) C类IP地址:由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须 是“110”(范围192.0.1.1-223.255.255.254) ------------------------------socket介绍------------------------------ #定义:socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主 要不同是: #import socket:应用socket包 #socket.socket(Address

《网络是怎样连接的》——第三章:从网线到网络设备

▼魔方 西西 提交于 2020-01-31 15:35:31
3.1信号在网线和集线器中的传输 3.2交换机的包转发 3.3路由器的包转发操作 3.4路由器的附加功能 3.1信号在网线和集线器中传输 3.1.1每个包都是独立传输的 客户端计算机连接的局域网结构如下图所示,要经过集线器,交换机和路由器最终进入互联网。 3.1.2防止网线中的信号衰减很重要 本章是从信号流出网卡进入网线开始,网卡中的PHY(MAU)模块负责将包转换成电信号,信号通过RJ-45接口进入双绞线。如下图右侧所示。 以太网信号的本质是正负变化的电压,网卡的PHY(MAU)模块就是一个从正负两个信号端子输出信号的电路。 网卡的PHY(MAU)模块直接连接在下图右侧中的RJ-45接口,信号从这个接口的1号和2号针脚流入网线,然后,信号会通过网线到达集线器的接口,这个过程就是单纯地传输电信号而已。 但是,信号到达集线器的时候并不是跟发出去的时候一摸一样,集线器收到的信号有时候会出现衰减,如下图所示。信号在网线的传输过程中能量会逐渐损失,网线越长,信号衰减就越严重。 以太网中的信号波形是方形的,但损失能量会让信号的拐角变圆,这是因为电信号的频率越高,能量的损失率越大。信号的拐角意味着电压发生剧烈的变化,而剧烈的变化意味着这部分的信号频率很高。高频信号更容易损失能量,因此本来剧烈变化的部分就会变成缓慢的变化,拐角也就变圆了。 如果已经衰减的信号再进一步失真就会出现对0和1的误判

Tcp/Ip协议

假如想象 提交于 2020-01-31 07:22:32
网络由下往上分为: 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- TCP协议 会话层-- 表示层和应用层-- HTTP协议 1、TCP/IP连接 手机能够使用联网功能是因为手机底层实现了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连接

计算机网络笔记(更新中)

ぐ巨炮叔叔 提交于 2020-01-31 02:33:01
第1章 计算机网络与因特网 1.1 计算机网络与协议 1.1.1 计算机网络 概念 计算机网络 = 通信技术 + 计算机技术 = 通信网络 = 互连 (用交换节点组成的交换网络)的、 自治 (无主从关系)的计算机集合 ISP:网络服务提供商 Internet:ISP网络互连的网络之网络 组成部分 组成细节角度 计算设备 : 主机/端系统 运行分布式应用 通信链路 分组交换 : 路由器 和 (链路层)交换机 硬件基础 服务角度 为应用提供 通信服务 和 通信基础设施 为应用提供 应用编程接口 (类似于邮政系统) 有服务、有规则 1.1.2 协议 协议 有序运行的保证 数据交换必须遵守的约定好的规则 网络协议 为进行 网络中的数据交换 而进建立的规则、标准或规定。 规定通信实体间的信息格式、意义、顺序、及对应执行动作 三要素 语法 数据与控制信息的结构或格式 信号电平 语义 需何时发出何种控制信息 完成何种动作和作出何种响应 差错控制 时序 事件顺序 速度匹配 Internet协议标准 RFC 协议规范了网络中所有信息的接受和发送过程。 1.2 网络结构 1.2.1 计算机网络结构 网络边缘 接入网络 网络核心 网络边缘 主机/端系统 客户/服务器模型 对等应用模型 接入网络 指有线或无线通信链路 数字用户线路DSL( 电话 ) 数据通信:通过DSL电话线连接Internet,与CO

计算机网络基础知识简答

孤人 提交于 2020-01-29 22:30:13
Http和Https的区别 Http协议(超文本传输协议)运行在TCP之上,明文传输,无状态,客户端与服务器端都无法验证对方的身份;Https是由SSL协议和Http协议构建的可进行加密传输,身份认证的网络协议。二者之间存在如下不同: 端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443; 资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源; 开销:Https通信需要证书,而证书一般需要向认证机构购买; Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。 对称加密与非对称加密 (我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功) 对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。 由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。 三次握手过程(我要和你建立链接,你真的要和我建立链接么

Java - 网络编程完全总结

雨燕双飞 提交于 2020-01-29 05:37:33
本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程。 一、概述 二、计算机网络 1.网络协议 2.网络体系结构 三、OSI参考模型 四、TCP/IP参考模型 五、常见网络协议 1.TCP协议 2.UDP协议 3.HTTP协议 六、计网常见问题 七、Java网络编程 一、概述 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。 二、计算机网络 计算机网络20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社会的方方面面,与人们的工作、学习和生活息息相关。 网络协议 如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议。 网络体系结构 计算机网络是个复杂的系统,按照人们解决复杂问题的方法

Socket、TCP和UDP协议、端口含义

一曲冷凌霜 提交于 2020-01-28 17:00:30
1、如何理解Socket 两台计算机相互通讯靠的就是Socket,类似于2个人通讯要靠电话,也就是说Socket就是程序之间的电话。Socket英文意思是孔、插座,作为进程通讯机制,取后一种意思,通常也成为套子节,用于描述IP地址和端口。IP地址指向某台服务器,端口用于连接到某一个应用程序。 socket在通讯过程中所处位置(作用)理解: 比如上图所示: 男生要到女生宿舍找自己女朋友出去玩,不能直接进入女生宿舍去找,要经过宿管大妈,由宿管大妈打电话告知你的女朋友,电话打通后你们之间再进行通话了。这里宿管大妈就是负责监听的Socket,如果有男生(客户端发送请求)来了就创建一个负责通信的socket(电话机),从而使该男生(客户端)与对应女生(服务端某应用程序)可以通信了。socket开始就是服务器端负责监听的(相当于宿管大妈),看有没有客户端发送请求到服务器端,有的话就创建一个负责通信的Socket。Socket接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。 2、TCP协议和DUP协议 协议 :类似于两个人打电话有一个默认协议就是都说普通话,如果大家都说家乡话,可能都听不懂,在网络中常用的协议有:UDP和TCP协议。 TCP/IP协议 :Transmission Control Protocol/Internet Protocol