tcp协议通过啥来区分不同的连接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp协议通过啥来区分不同的连接相关的知识,希望对你有一定的参考价值。
TCP协议使用端口号来区分不同的连接。端口号是一个16位无符号整数,介于0到65535之间,用于标识不同服务器上的应用程序。 参考技术A Tcp协议通过h3来区分不同的连接,因为它这个h3也就是一个检测软件,所以它这个协议需要这个检测软件来区分不同的连接。 参考技术B tcp协议使用四元组(源IP地址、源端口号、目的IP地址、目的端口号)来区分不同的连接。网络编程——基本概念
一、概念
Ip:区分每一台计算机
端口:区分每一个软件
URL:区分软件上的不同资源
协议:就是交流的方式
TCP协议:面向连接,更安全,较低效(常应用于电话聊天等)
UDP协议:非面向连接,不安全,较高效(常应用于QQ聊天,邮箱等)
二、网络分层
OSI TCP/IP协议集
应用层
表示层 ——应用层
会话层
传输层 —— 传输层
网络层 ——网络层
数据链路层 ——网络接口
物理层
注意:OSI网络通信协议模型知识一个参考模型,而TCP/IP协议是事实上的标准
三、IP
IP:定位一个节点:计算机、路由、通讯设备等
* InetAddress:多个静态方法
* 1、getLocalHost:本机
* 2、getByName:根据域名DNS 或IP地址-->IP
*
* 两个成员方法:
* 1、getHostAddress:返回地址
* 2、getHostName:返回计算机名
public class IPTest { public static void main(String[] args) throws UnknownHostException { //使用getLocalHost方法创建InetAddress对象 本机 InetAddress addr=InetAddress.getLocalHost(); System.out.println(addr.getHostAddress());//返回IP System.out.println(addr.getHostName());//输出计算机名 } }
四、端口
端口
* 1、区分软件
* 2、2个字节0-65535 UDP TCP
* 3、同一个协议端口不能冲突
* 4、定义端口越大越好
* InetSocketAddress
* 1、构造器
* new InetSocketAddress(地址|域名, 端口);
* 2、方法
* getAddress()
* getHostName()
* getPort()
public class PortTest { public static void main(String[] args) { //包含端口 InetSocketAddress socketAddress =new InetSocketAddress("127.0.0.23", 8080); InetSocketAddress socketAddress2 =new InetSocketAddress("localhost", 9000); System.out.println(socketAddress.getHostName()); System.out.println(socketAddress.getAddress()); System.out.println(socketAddress.getPort()); System.out.println(socketAddress2.getHostName()); System.out.println(socketAddress2.getAddress()); System.out.println(socketAddress2.getPort()); } }
五:URL
URL:统一资源定位器,互联网三大基石之一(html,http),区分资源
* 1、协议
* 2、域名、计算机
* 3、端口:默认80
* 4、请求资源
* http://www.baidu.com:80/index.html?uname=shsxt&age=18#a
public class URLTest01 { public static void main(String[] args) throws MalformedURLException { URL url=new URL("http://www.baidu.com:80/index.html?uname=shsxt&age=18#a"); System.out.println("协议:"+url.getProtocol()); System.out.println("域名或ip:"+url.getHost()); System.out.println("端口:"+url.getPort()); System.out.println("请求资源:"+url.getFile()); System.out.println("请求资源:"+url.getPath()); //参数 System.out.println("参数:"+url.getQuery()); //锚点 System.out.println("锚点:"+url.getRef()); } }
以上是关于tcp协议通过啥来区分不同的连接的主要内容,如果未能解决你的问题,请参考以下文章