网络端口

JAVA 通过 Socket 实现 TCP 编程

99封情书 提交于 2019-11-29 11:11:40
简介 TCP简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向 连接的 、 可靠的 、 基于字节流 的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层 传输层 所指定的功能,用户数据报协议(UDP,下一篇博客会实现)是同一层内 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元( MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。 JAVA Socket简介 所谓socket

命令备忘 ss

最后都变了- 提交于 2019-11-29 08:36:24
简介: Socket Statistics ( ss )命令类似于 netstat ,它用于显示各种有用的网络套接字信息。 长时间看,已经注意到 netstat 这个命令程序已经过时了。从而代替 netstat 的是 ss 命令。一个全新的 ss 命令使用起来必定有些陌生,不过 ss 许多选项与 netstat 使用的选项类似,但我们还会看到一些差异。 ss 命令是 Linux CentOS 7 中 iproute 软件包的一部分,默认已经安装。 一般来说,网络套接字是由IP地址,传输协议和端口来定义的。这种组合构成了双向连接的一个方面。例如:一个Web服务器可能正在侦听 172.28.204.62:80 上的传入TCP连接,这是套接字。不过需要说明的是套接字不是连接本身,而是连接的端点之一。 下面我讲解如何使用 ss 命令查看各种信息。具体使用语法如下: ss [options] [ FILTER ] 1.列出已建立的连接 默认情况下,如果我们运行 ss 命令而没有指定其他选项,它将显示所有已建立连接的打开的非侦听套接字的列表,例如 TCP , UDP 或 UNIX 套接字。 [root@renwolecom ~]# ss | head -n 5 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port u

动态路由协议之RIP路由协议

徘徊边缘 提交于 2019-11-29 08:30:29
一、动态路由概述: 动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。 二、动态路由特点: 1、无需管理员手工维护,减轻了管理员的工作负担。 2、占用了网络带宽。 3、在路由器上运行路由协议,使路由器可以自动根据网络拓朴结构的变化调整路由条目。 4、网络规模大、拓扑复杂的网络。 三、动态路由原理: 1、路由器首先谢谢自身的直连链路信息,根据某种路由算法把收集到的路由信息加工成路由表,供路由器在转发IP报文时查阅。 2、 路由器之间适时地交换路由信息。由于当网络发生变化时,路由器之间彼此交换的路由信息会告知对方网络的这种变化,通过信息扩散使所有路由器都能得知网络变化。 3、在网络发生变化时,收集到最新的路由信息后,路由算法重新计算,从而可以得到最新的路由表 。 四、RIP——距离-矢量路由选择协议: RIP是一种内部网关协议,是一种动态路由选择协议,用于自治系统内的路由信息的传递。RIP协议基于距离矢量算法,使用“跳数”来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了

Linux -- 防火墙对FTP的影响

你。 提交于 2019-11-29 08:20:12
  FTP默认使用21端口进行连接,但实际上不止使用了21端口,如果防火墙是打开的,那就会碰到一个问题就是,能登录ftp,但是下载文件却会有问题。   FTP是常见的基于TCP的网络服务,它使用了两个TCP连接来建立逻辑通信信道,即 控制连接和数据连接 。当客户端与服务器建立一个FTP会话时,使用TCP创建一个持久的控制连接以传递命令和应答。当发送文件和其它数据传输时,它们在独立的TCP数据连接上进行传递,这个连接根据需要创建和拆除。更为复杂的是, FTP标准指定了创建数据连接的两种不同方法,即正常(主动)数据连接和被动数据连接 。   FTP的 控制连接 总是由客户端首先发起的, 在主动模式下数据连接是由服务端发起的(即FTP Server),在被动模式下数据连接是由客户端发起的 。成功建立控制连接后,在进行主动连接时,客户端发送PORT命令,其中内嵌了地址和端口信息,以告知服务器进行连接,然后服务器打开默认端口20建立到客户端已告知地址和端口的数据连接。在进行被动连接时,客户机使用PASV命令告诉服务器等待客户机建立数据连接,服务器响应,告诉客户机为了数据传输它应该使用服务器上的什么端口(随机打开)。这种工作机制带来了一个严重的问题:在FTP的命令(PORT或PASV)或对它们的回答中传递IP地址及端口号与网络分层机制严重冲突,在FTP客户端与服务器的通信信道之间的网关设备

DB2连接超时处理

点点圈 提交于 2019-11-29 08:15:47
DB2发生连接超时时候:   1:看一下自己的防火墙是否对外部网络公用 2:改成公用网络 ,如果端口被占用,请把端口号设置为特定端口 3:ping 一下自己的网络IP 这样表示IP冲突了,要重新设置IP(或者换跟网线) 4:更改后 来源: https://www.cnblogs.com/dp06134816-login/p/11492897.html

健壮又简单文件共享服务

僤鯓⒐⒋嵵緔 提交于 2019-11-29 07:02:24
官方语言介绍下ftp,文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,FTP 的目标是提高文件的共享性。今天从ftp的两种模式,ftp用户管理主要的两方面实践使用下。 1.ftp 两种模式 简明直接: 主动FTP: 命令连接:客户端 >1024端口 ---> 服务器 21端口 数据连接:客户端 >1024端口 <--- 服务器 20端口 被动FTP: 命令连接:客户端 >1024端口 ---> 服务器 21端口 数据连接:客户端 >1024端口 ---> 服务器 >1024端口 具体说明: 如图对于两种传输模式来说,控制连接的建立过程都是一样,均为服务器监听21号端口,客户端向服务器的该端口发起TCP连接。主动模式服务器通过控制连接知道客户端监听的端口后,使用自己的20号端口作为源端口,“主动”发起TCP数据连接。而被动模式服务器监听1024-65535的一个随机端口,并通过控制连接将该端口告诉客户端,客户端向服务器的该端口发起TCP数据连接。 两种模式该选择哪个了?选择被动模式。 如果FTP客户端在私网,FTP服务器在公网(云主机的应用场景)应该使用被动模式,因为这种应用场景FTP服务器访问不到在私网的FTP客户端,而FTP客户端可以访问到FTP服务器。 那ftp服务器放开大于1024端口,不安全,如何做了?

linux端口查询

天大地大妈咪最大 提交于 2019-11-29 05:50:38
常用端口 下面的表格中列举了包括在红帽企业 Linux 中的服务、守护进程、和程序所使用的最常见的通信端口。该列表还可以在 /etc/services 文件中找到。要查看由互联网号码分派局(IANA)制定的“著名的已注册动态端口”官方列表,请参考以下 URL: 端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务;发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 22 ssh 安全 Shell(SSH)服务 23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 39 rlp 资源定位协议 42 nameserver 互联网名称服务 43 nicname WHOIS 目录服务 49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 50 re-mail-ck 远程邮件检查协议 53

one_day_one_linuxCmd---netstat命令

冷暖自知 提交于 2019-11-29 05:10:18
  《坚持每天学习一个 linux 命令,今天我们来学习 netstat 命令》   前言:netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等,还可以很方便查看本地机器上的外部连接及本地和远程系统连接的状态。 我们先来看一下执行 netstat 命令结束后的输出信息: 从整体上看,输出的信息主要可以分为两部分: 1,Active Internet connections: 称为有源 TCP 连接,其中Recv-Q 和 Send-Q 分别表示接收队列和发送队列,这些数字一般都应该为 0,如果不是表示网络包正在缓冲队列中堆积,这种情况只能在非常少的情况下能看到。 2,Active UNIX domain socket: 称为有源 Unix域套接口(和网络套接字一样,但只能用于本机通信,性能可以提高一倍),Proto 表示连接所使用的协议,RefCnt 表示连接到本套接口上的进程号,Type 显示套接口的类型,State 显示套接口当前的状态,Path 表示连接到套接口的其它进程使用的路径名。 options:   -a : 显示所有选项,默认不显示 LISTEN 相关    -t : 仅显示 tcp 相关选项   -u : 仅显示 udp 相关选项   -n : 禁止显示别名,能显示数字的全部转换成数字(如将 localhost 显示为 192.168.175

2019/08/01 docker网络(05)

本秂侑毒 提交于 2019-11-29 04:57:18
kvm时说过,在一台主机上,当需要运行多个kvm虚拟机的时候,网络构建方式有 最简单的方式就是提高桥,让两个对应的虚拟机实例只要连接到网桥,而且大家又能使用同一网络的地址,就可以通信了,这个个隔离网桥,仅用于内部通信,无法与外部主机通信 与宿主通信,可以在宿主机上把网桥当网卡来使用,配一个地址,意味着宿主机就能与两个实例通信了,这种仅实现了与当前主机通信,仅主机,host-only 要想与外部通信,可以在主机上创建一对网卡,一半在主机上,一半在桥上,把交换机就仅当交换机用,,交换机配了地址,将当做宿主机上的网卡,二代表宿主机的网卡与俩个虚拟机实例通信的网桥, 没有hostonly, 叫isolated 仅能够在一个桥上的主机进行通信 如果想要和其他主机通信不光是宿主机,两种方式, nat,所有虚拟机实例网关都指向宿主机上的虚拟网卡,在宿主机上打开核心转发并添加snat规则,哪台桥,也依然是桥 ** 第二种方式,是桥接,把这个桥和物理网卡直接建立关联关系,与物理网卡建立关联关系,把物理网卡当做交换机当桥,真正的桥当做网卡,对应的mac地址网卡来使用,所有的报文发给网卡,默认目标mac是到当前宿主机本身,送这网卡上 这个叫桥接,其实就是物理桥** 使用容器的方式,功能是一样的,因为每一个容器是一个独立的虚拟机,除了没有自己的内核空间之外,其他功能与我们的虚拟机没什么不同

2019/08/02 docker镜像文件制作(01)

孤者浪人 提交于 2019-11-29 04:57:15
docker主机时运行docker容器的核心组件,但docker自身并不是容器,容器是使用内核提供的,docker本身仅是一个容器管理器,docker事实上运行在用户空间的守护进程 一方面守护运行在本机上的各容器状态 二,守护着也能接收客户端发送的请求,随意响应客户端请求, docker的守护进程还有另外的作用,包括设置网络环境,比如提供docker0网络桥,虽然可以自定义桥的地址,但是桥的使用方式的确是由docker守护进程来完成的 如果运行容器,这些容器就运行在当前主机之上,让当前主机的docker守护进程来负责监控 初次之外还需要有一个空间,来存储本地的,镜像文件 这些镜像文件是只读的,所以可以启动多个容器,不需要把镜像文件复制,只需要为此容器添加一个读写层,因为底层都是只读的 还需要使用DM device mapper来实现联合挂载,ubuntu是unionfs(升级为AUFS高级联合文件系统) 其他的也可以支持分层存储,完成联合挂载,btrfs overlayfs2 这是在本地存储镜像文件的所谓的系统,支持联合挂载的文件系统 好在这种文件系统是基于grub来进行定义的,用docker自行管理,无需做其他多余的设定,一开始按照好,本地的镜像仓库可能是空的,,需要去获取镜像的时候通常可以使用dockerpull到远程的registry主机上,下载和获取,一个下载请求