网络端口

Peer-to-Peer Sockets 工程入门

杀马特。学长 韩版系。学妹 提交于 2019-11-29 16:30:34
版权声明 :可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 作者: Brad Neuberg ; gracepig 原文地址: http://www.onjava.com/pub/a/onjava/2003/12/03/p2psockets.html 中文地址: http://www.matrix.org.cn/resource/article/43/43854_Peer-to-Peer-Sockets.html 关键词: Peer-to-Peer Sockets Peer-to-Peer (P2P)Sockets工程在JXTA peer-to-peer虚拟网络重新实现了对应于标准TCP/IP网络中的Java标准的Socket,ServerSocket,和InetAddress等类。该工程同时还引入了一些注入Jetty web server,Apache XML-RPC客户端和服务器库,Apache Jasper JSP引擎之类的流行web package。使这些服务可以运行在Peer-to-Peer Sockets 的框架下。 在这片文章结束的时候,你会理解对P2P Sockets packages的需求和以及开发它的动机,学会怎么配置P2P Socket 库使之在你的系统上能够运行,学会怎么样建立P2P的服务器和客户端Socket

计算机网络基础知识

我的未来我决定 提交于 2019-11-29 16:05:33
1,TCP/IP , OSI,五层协议的体系结构,以及各层协议 TCP/IP分层(4层) :网络接口层、网际层、运输层、应用层。 OSI分层 (7层) :物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 五层协议 (5层) :物理层、数据链路层、网络层、运输层、应用层。 每一层的协议如下 : 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关) 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机) 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器) 传输层:TCP、UDP、SPX 会话层:NFS、SQL、NETBIOS、RPC 表示层:JPEG、MPEG、ASII 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS 每一层的作用如下 : 物理层: 通过媒介传输比特,确定机械及电气规范(比特Bit) 数据链路层 :将比特组装成帧和点到点的传递(帧Frame) 网络层 :负责数据包从源到宿的传递和网际互连(包PackeT) 传输层 :提供端到端的可靠报文传递和错误恢复(段Segment) 会话层 :建立、管理和终止会话(会话协议数据单元SPDU) 表示层 :对数据进行翻译、加密和压缩(表示协议数据单元PPDU) 应用层 :允许访问OSI环境的手段(应用协议数据单元APDU)

Linux网络基础

懵懂的女人 提交于 2019-11-29 14:03:36
**计算机网络:**通过各种不同的通信设备和线材介质将处于不同地理位置且功能独立的多个计算机系统连接起来,然后通过成熟完善的网络软件体系如网络协议(TCP/IP)或网络操作系统实现网络中资源共享和信息传递的系统。 网桥:位于OSI模型的数据链路层,作用是减少集线器因共享和半双工性引发的网络冲突问题网桥的性能比集线器更好,因为网桥能够基于MAC地址进行数据链路层选路,能够基于 学习构造MAC地址表,对MAC地址进行控制与过滤,所以网桥可以基于MAC地址进行选路,比集线器性能更好,将冲突域划分的更小,转发行能比集线器更高。但同样是不能隔离广播,所以不能让网桥形成闭合的环路。 网桥MAC地址自学习:在网桥的接口上记录数据报文的源MAC地址,来完成整个MAC地址表的构建。 OSI开放式七层模型: 1.物理层: 物理媒介,网络线缆,利用一些物理媒体,如双绞线、同轴电缆等,但具体的物理媒体并不在OSI的7层之内,有人把物理媒体当做第0层,物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性,物理层的协议产生并检测电压以便发送和接收携带数据的信号。物理层将数字信号转换为比特流进行传输。在你的桌面P C 上插入网络接口卡,你就建立了计算机连网的基础。尽管物理层不提供纠错服务,但它能够设定数据传输速率并监测数据出错率。 (物理设备) 2.数据链路层:

python 网络编程 TCP/IP socket UDP

牧云@^-^@ 提交于 2019-11-29 13:55:57
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多。 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了。 为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。Internet是由inter和net两个单词组合起来的,原意就是连接“网络”的网络,有了Internet,任何私有网络,只要支持这个协议,就可以联入互联网。 因为互联网协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以,大家把互联网的协议简称TCP/IP协议。 通信的时候,双方必须知道对方的标识,好比发邮件必须知道对方的邮件地址。互联网上每个计算机的唯一标识就是IP地址,类似123.123.123.123。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以,IP地址对应的实际上是计算机的网络接口,通常是网卡。 IP协议负责把数据从一台计算机通过网络发送到另一台计算机。数据被分割成一小块一小块,然后通过IP包发送出去

Python学习日记(二十九) 网络编程

痞子三分冷 提交于 2019-11-29 12:44:24
早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息 由于不同机器之间需要通信就产生了网络 软件开发的架构 1.C/S架构 服务器-客户机,即Client-Server架构,C/S架构通常采取两层结构.Sever负责数据的管理,Client负责完成与用户的交互任务 这里来说Client主要是某个应用软件的exe文件,程序要在安装后,才能运行在用户电脑上。 例如:QQ、微信、网易云音乐等 2.B/S架构 浏览器端-服务器,即Browser-Sever,B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用.客户机上只要安装一个Browser,服务器安装Oracle、SQL Sever等数据库.浏览器通过Web Sever同数据库进行数据交互,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 例如:百度、知乎、豆瓣、博客园等 3.B/S架构和C/S架构之间的关系 B/S架构是C/S架构的一种 计算机网络的发展及基础网络概念 早期:联机 想要实现通信就必须要网卡和网线,每个网卡上都有一个全球唯一的MAC地址 MAC地址 :英文名为Media Access Control

Docker之网络管理(容器间通信的配置)

别等时光非礼了梦想. 提交于 2019-11-29 12:30:21
博文大纲: 一、Bridge模式(同一台Docker服务器上容器间的通信) 二、部署consul服务实现Docker容器跨主机通信 前言: 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。本文首先介绍了Docker自身的4种网络工作方式,然后介绍一些自定义网络模式。 我们安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host。 host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。 None:该模式关闭了容器的网络功能,相当于一个回环网络。 Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个叫docker0的虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。 [ root@docker ~ ] # docker network ls #执行该命令查看docker创建的网络 关于上述提到的三个网络解释如下: Host:相当于Vmware中的桥接模式,与宿主机在同一个网络中,但没有独立的IP地址

Linux查看端口占用情况

会有一股神秘感。 提交于 2019-11-29 11:39:07
以下命令如果不存在,使用yum install -y xxx安装。 一、netstat或ss命令 1. netstat 注:yum install -y net-tools netstat -anlp | grep 8888 # netstat命令各个参数说明如下: # -t : 指明显示TCP端口 # -u : 指明显示UDP端口 # -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) # -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 # -n : 不进行DNS轮询,显示IP(可以加速操作) 对输出的每一项进行说明: (1) Proto:协议名(tcp协议还是udp协议) (2) Recv-Q:网络接收队列。表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走。如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。 (3) Send-Q:网路发送队列。对方没有收到的数据或者说没有Ack的,还是本地缓冲区。如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。通常应该为0

Connector分析-tomcat6.x源码阅读

杀马特。学长 韩版系。学妹 提交于 2019-11-29 11:24:15
2013-11-16 在tomcat中需要解决响应客户端请求的Socket问题,即接收客户端的请求,Connector作为tomcat中的链接器,管理负责监控网络端口的网络连接器。它是以管理者的身份存在,不涉及具体的网络接口监听,只负责管理监听网络组件,负责组件的所需资源的调配和组件的运行状态控制。作为一个壳,它能管理实现ProtocolHandler接口的网络监听组件,能方便替换网络监听组件。 Connector作为一个tomcat组件的生命周期中应该经历这样一个过程:初始化-启动-停止-销毁.作为Connector,它需要解决一些问题 监听网络端口组件 在带一个参数的构造器中指定监听网络端口组件,传递协议版本或者类名,setProtocol(String)方法负责辨别和之人协议监听网络端口的组件,在构造器中实例化监控网络端口组件。 /** * 指定协议类型 * @param protocol * @throws Exception */ public Connector(String protocol) throws Exception { setProtocol(protocol); // Instantiate protocol handler try { Class clazz = Class.forName(protocolHandlerClassName); this

C# Socket编程笔记

≯℡__Kan透↙ 提交于 2019-11-29 11:15:50
注:本文为个人学习摘录,原文地址:http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html 看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一下socket基础知识。 注意:如果你已经接触过socket,那就没什么必要耽误时间看下去了。另外,如果发现其中任何错误,欢迎直接指出。 1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这个接口,这样就省了很多复杂的操作。 在C#中,MS为我们提供了 System.Net.Sockets 命名空间,里面包含了Socket类。 2.有了socket,那就可以用它来访问网络了 不过你不要高兴得太早,要想访问网络,还得有些基本的条件(和编程无关的我就不提了):a.

C# Socket编程笔记

妖精的绣舞 提交于 2019-11-29 11:14:42
C# Socket编程笔记 1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这个接口,这样就省了很多复杂的操作。 在C#中,MS为我们提供了 System.Net.Sockets 命名空间,里面包含了Socket类。 2.有了socket,那就可以用它来访问网络了 不过你不要高兴得太早,要想访问网络,还得有些基本的条件(和编程无关的我就不提了):a. 要确定本机的IP和端口,socket只有与某一IP和端口绑定,才能发挥强大的威力。b. 得有协议吧(否则谁认得你这发送到网络的是什么呀)。想要复杂的,我们可以自己来定协议。但是这个就不在这篇里提了,我这里介绍两种大家最熟悉不过的协议:TCP & UDP。(别说你不知道,不然...不然...我不告诉你) 如果具备了基本的条件,就可以开始用它们访问网络了。来看看步骤吧: a. 建立一个套接字 b. 绑定本机的IP和端口 c. 如果是TCP,因为是面向连接的,所以要利用ListenO(