10分钟了解TCP,UDP和端口号

发布者:上海IT外包来源:http://www.lanmon.net点击数:1500

当我们开始学习网络编程时,我们发现一些名词出现得非常频繁,例如TCP/IP,UDP和OSI七层网络模型。这当然不是偶然事件,因为它们非常重要,将会反复提及。特别是在面试过程中,面试官喜欢把它们作为面试官基础知识的重要组成部分。为了不使文章冗余,我们今天只讨论网络中的TCP,UDP和端口。
协议,TCP和UDP
在我们理解TCP(传输控制协议)和UDP(用户数据报协议)之前,我们需要知道名词,即协议。它是什么?它实际上是一组习惯性的规则。就像我们见面时一样,我们达成了一些共识,首先开发界面,项目上线时等等。
可以毫不夸张地说,计算机网络的建设和发展是各种网络协议的基石。它们定义了如何传达信息以及如何发送和接收信息,例如:
IP协议负责连接多个分组交换网络并管理通信IP源地址和目的地址的协议。
TCP和UDP协议是应用层和IP层之间的重要协议,负责在它们之间传输信息。
既然是协议,每个人都必须遵守协议。否则,张三今天达成协议。李思不同意。他明天会再签一份协议。这将是一个烂摊子。因此,不同的大型工厂和许多公司联合组建一个组织来规范这些协议。您必须使用这些定义良好的协议,否则您将无法进行通信。这实现了“地球村”的梦想。无论今天使用什么设备,在世界的任何角落,任何国家的语言都可以使用网络轻松传达。
TCP和UDP功能
以相当严格的方式总结TCP,如果一个女孩遇到像TCP这样的男孩,她就会结婚。因为TCP的核心功能是可靠的。他的具体内容包括面向连接,可靠,基于字节流的传输,它们像管道一样连接应用程序和IP层。相应地,UDP就像二十多岁时的浪子一样。他们不够可靠,但他们充满了热情。一切都是效率第一,他们可以立即向你承诺很多事情,并愿意为这种做法付出代价。你说珠子在这第二个浪漫。无论他在哪里,他都会搭乘飞机接你。下一秒说他想听周杰伦的演唱会。他立即预订了你的机票。当然,人们的精力和时间都是有限的,因此可能会出现无法控制的事故,例如没有足够的钱买票。这类似于UDP,它提供无连接通信,但不为传输的数据包提供可靠性保证。
TCP和UDP的功能摘要
TCP和UDP的功能摘要
TCP和UDP使用方案
不同的人,由于他们的不同性格,以不同的方式做事。你不能说这很好,那一定是坏事。 TCP和UDP也是一样的。在不同的场景中,它们有自己的神奇效果。
例如,在开发游戏的过程中,为玩家登录帐户,因为我们要确保不同的玩家可以登录自己的帐户,这次应用TCP协议。为了控制游戏中角色的移动,我们只需要根据玩家鼠标的点击移动角色。如果玩家由于网络问题的可能性很小而再次移动角色,则成本和风险在可控范围内。所以你可以使用UDP协议。
从上面我们可以看出,如果它是基本的服务功能,最好使用TCP协议来确保服务的可靠性。确保每个网络数据包在此过程中正确到达目标。与UDP相比,程序员需要进行自己的丢包和字节传输顺序处理。
不要以为UDP很难使用。相反,有很多基于UDP协议的服务。例如,DNS解析服务。每台计算机都访问外部网页,需要通过DNS服务解析域名才能找到相应的IP地址。此时,如果DNS出现问题,我们只需要再次执行DNS寻址查询。唯一的副作用可能是一点延迟。
另一个UDP应用是IP电话。我们经常将其称为VoIP(IP语音)。它的原理可以简化为从以前的电话通信到网络通信的呼叫转移,类似于我们现在的。微信电话。当您与某人交谈时,您使用UDP。实际上,想象一下,我们目前所需要的不是可靠性,而是实时性。例如,如果在不幸中间有一些信息丢失,你的母亲说:“让我把这个物品带回新的一年,或者不要回来。”由于信息丢失,例如——“将对象带到新的一年,或者不回来”,事实上,我们可以理解整个句子的含义。如果你使用TCP,我们可以说一个字,其他人只能在30秒后听到,这显然是无法忍受的。因此,我们了解到在日常开发过程中,应根据不同的应用场景选择相应的TCP或UDP作为网络传输协议,但由于我们不熟悉UDP,我们无法在心理上抵制它。
港口及其特点
如果IP用于定位块,则端口是与块中的每个家庭相对应的门牌号。在通信过程中,在数据最终通过各种通信协议到达设备(例如计算机)之后,这里的设备相当于一个块,并且在设备计算机内运行有许多程序。数据进入后,必须给出相应的对应关系。门牌号(即端口号),方便后续操作。
端口号是传输协议的一部分,因此我们可以说数据通过IP地址发送到指定的设备,数据通过端口号发送到指定的服务或程序。
程序通常不仅监听指定的端口号,还指定相应的传输协议。因此,当我们传输数据时,我们必须指定相应的端口号并指定相应的通信协议。很多人只会说程序A正在侦听端口33001.这是不正确的,至少不完全正确。相应地,我们应该这样说:程序A使用TCP协议来监听端口33001.当然,你也可以说程序A使用UDP协议来监听端口33001。
指定传输协议和端口,显而易见的好处是,当我们进行端口转发或构建网络防火墙时,我们可以通过协议和端口轻松隔离它。防止意外事故。对于计算机,以这种方式,可以防止外部网络的各种不必要数据进入本地局域网。
您可能会认为,如果有这么多端口号,如果每个人使用相同的端口号,那么就没有冲突。没错,这需要一个专门的组织来管理它们,即管理端口注册的IANA(互联网号码分配机构)。大多数主流程序都有一个明确的注册端口,例如通用FTP监听器20,21端口,HTTP服务监听端口80.如果有一个程序想要注册端口,IANA将首先检查端口是否已经注册。如果已经注册,它将拒绝该申请。
端口号根据范围分为三个。
1.众所周知的端口(已知端口号)
它是一个众所周知的端口号,固定分配给某些服务。上面提到的HTTP服务,FTP服务等属于这一类。众所周知的端口号范围是:0-1023。2.注册港口(即注册港口)
它是一个无法动态调整的端口段。这些端口未明确定义要提供的特定对象。可以根据自己的需要定义不同的程序。注册端口号的范围是:1024-49151。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部