时间:2025-03-10 15:09 / 来源:未知
怎么买纽约FXCG原油期货端口号的引入可以让同一个主机上的多个进程对外提供服务UDP 与 TCP 两种传输答应是 IP 答应簇的中枢成员,1980 年宣告的 RFC 768 界说了 UDP 答应[^1],咱们能够通过它正在众个准备机邻接组成的汇集中转达数据。
常睹的 DNS 答应就能够运用 UDP 答应获取域名解析的结果[^2]。
UDP 是可能传输数据的最浅易的答应,它的答应首部(也称作答应头)只要 8 个字节,许众人,越发是应届卒业生都能通过死机硬背权且记住 UDP 答应头包蕴的实质,然则领会答应头的实质不代外咱们真正体会背后的起因。
本文会阐明为什么只要 8 个字节的 UDP 答应可能传输数据,自负这篇作品能助助你更好地体会 UDP 答应头中字段的用意。
UDP 答应头中只包蕴 4 个字段,分辨是源端口、方针端口、长度和校验码,个中每一个字段都占 16 比特,即 2 字节,这 4 个字段的用意如下:
✪ 源端口是一个可选字段,它吐露发送方历程的端标语,采纳方能够运用该字段(不必定确实)向发送方发送消息;
✪ 方针端口是数据报采纳方的端标语,它只正在标的的 IP 地方下才成心义;
✪ 校验码运用 IP 首部、UDP 首部和数据报中的数据举行准备[^3],采纳方能够通过校验码验证数据确凿实性,觉察传输流程中产生的题目;
通过 Wireshark 抓包来查看现实运用中 UDP 答应首部的值。当咱们实施 dig敕令时,当地就会向 DNS 效劳器发送 DNS 盘问,下面即是一个 DNS 盘问中 UDP 首部的例子:
因为 DNS 答应运用的端口是 53[^4],是以上述 UDP 首部中的方针端口即是 53。源端口即是当地发出 DNS 吁请的端口,该端口也用来采纳 DNS 反映。
界说 UDP 答应的 RFC 768 文档只要 3 页,因为 UDP 答应既不须要包管投递,也不须要包管循序,是以它没有 TCP 答应那么繁复。
TCP 答应中的三次握手[^5]、堵塞节制算法和重传计谋等机制都是为了供给牢靠性所付出的需要价格,然则 UDP 答应不须要这些计谋,它只勉力包管数据报的投递。
咱们这日来阐明一下为什么首部只要 8 个字节的 UDP 答应可能将数据传输到方针地并由特定的效劳采纳和经管。
咱们能够将操纵到操纵之间的传输流程分成两个一面:主机到主机的数据传输和主机到操纵的数据转发。
✪ UDP 答应底层的网际答应(Internet Protocol,IP)会肩负数据包正在主机之间的传输;
咱们都说 UDP 答应是传输层答应,然则真正正在主机间实现『数据传输』事业的是 IP 答应,UDP 答应只起到了定位的确历程的用意。
RFC768 正在先容 UDP 答应时夸大 UDP 答应假设底层会运用 IP 答应。IP 答应是 TCP/IP 答应栈的中枢成员,它不包管端到端数据的牢靠性和循序,也不包蕴流节制等机制,其用意即是从起源向方针地传输数据包[^6]。
『UDP 答应只可勉力投递数据』这一说法『承受』自 UDP 的基层答应,也即是 IP 答应。只包蕴了两个端标语的 UDP 答应自身是无法供给途由和寻址功用的,它仍旧须要基层的答应来管理这个题目。
上面提到的这种各司其职的策画源于汇集通信答应的分层构造。概括是准备机科学中的基本观点,通过界说精良的接口、修建概括层,咱们能够裁减同时须要合心的题目,让每一层都能聚焦到须要经管的题目上。
TCP/IP 答应簇将通讯流程分成了四个概括层,分辨是:链接层(Link)、汇集层(Internet)、传输层(Transport)和操纵层(Application)[^7]。
TCP 和 UDP 等传输层答应的重要用意是为操纵设置根基的数据管道,为特定职业供给数据传输的功用;而 IP 等汇集层答应的重要用意是寻址和途由,它可能助助咱们将数据发送标的的主机。
浅易总结一下,UDP 答应基层的 IP 答应达成数据包的传输,固然 UDP 属于传输层答应,然则其自身没有供给主机到主机的数据传输才智。
正在软件层面上,端口是用来吐露特定历程或者特定类型汇集效劳的逻辑观点[^8],准备机硬件中也有端口的观点,然则这里说的端口是没有实体的。
当主机采纳到 IP 数据包时会按照答应号交给区别的模块经管,TCP 和 UDP 答应会按照端标语确定送给对应的历程经管。
固然 TCP 和 UDP 答应中都有端标语这一观点,然则由于它们两者的端口不正在一个定名空间下(TCP 和 UDP 是两套定名空间),是以 TCP 和 UDP 能够同时运用类似的端标语。
比如:53/TCP 和 53/UDP,这两个端标语后的效劳都经管 DNS 吁请。从这一点来看,只要通过 IP 地方、传输层答应和端标语三者能力正在汇集上定位到的确的效劳,只依附 IP 地方和端标语是弗成行的。
UDP 答应中的两个端标语吞没了 UDP 答应头的一半开销,这从侧面外通晓端标语正在 UDP 答应的苛重职位和 UDP 答应的重要功用。
采纳 IP 数据包的主性能够运用方针端标语找到特定的历程,该历程也能够运用数据包中的源端标语向发送方恢复数据。
TCP 和 UDP 的端标语是主机和历程的中央层,历程和端标语既能够是一对一的合联,也能够是一对众的合联,端标语的引入能够让统一个主机上的众个历程对外供给效劳,也能够让一个历程对外供给众个效劳。
有了端标语,念要访谒主机效劳的吁请也不须要运用历程标识符等格式定位供给效劳的的确历程。
浅易回复一下本文提出的题目:UDP 答应诈欺基层的 IP 答应供给根基的数据传输才智,它的用意即是引入端标语的观点让统一主性能够同时供给对外众个效劳,因为不包管牢靠性,是以答应自身只占用 8 个字节。
正在理念情景下,咱们能够正在 IP 答应上修建新的传输层答应达成特定的需求,然而正在现实操作中因为答应号的限定,新的传输层答应无法被大宗计划的汇集地方转换(Network address translation,NAT)[^9]摆设识别和赞成,是以运用这种格式修建新的传输层答应正在推行中难以落实。
注1:答应号是 IP 首部中的一个字段,它吐露现在报文数据区运用的答应,最常睹的 TCP 和 UDP 答应的答应号分辨是 6 和 17。注2:SCTP 答应[^10]即是一个 RFC 模范中的传输层答应,然则 NAT 摆设的兼容性题目会导致 SCTP 报文被甩掉。
因为 UDP 答应相当浅易,许众新的传输层答应都邑基于 UDP 达成,比如:Google 的 QUIC 答应[^11]。
到末了,咱们仍旧来看少少比拟怒放的相干题目,有趣味的读者能够注意考虑一下下面的题目:
✪ 除了 UDP 和 TCP 答应,其他基于 IP 的传输层答应有没有端标语的观点?
十分声明:以上实质(如有图片或视频亦包罗正在内)为自媒体平台“网易号”用户上传并宣告,本平台仅供给消息存储效劳。
难怪美法航母都退出南海,央媒播出震动一幕,轰6K带着高尚音速导弹筑功!
25岁新晋奥斯卡影后引热议!初出茅庐已是“疯批专业户”,戏里病娇戏外喜悦超反差!
今晚!CBA战2场,CCTV5直播辽篮VS吉林男篮,浙江广厦PK南京同曦
小米SU7 Ultra深夜正在城区狂飙,山东警方:急急超速,车主已到案!
呆板革命无界 15X Pro 浮薄本预热:PCMark 10 续航15小时以上
首款18英寸核显本华硕无畏18德邦首发上市:搭载AMD R7 260经管器