zoukankan      html  css  js  c++  java
  • TCP/IP中的传输层协议TCP、UDP

    TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输。

    传输层协议根据IP数据报判断最终的接收端应用程序。

    TCP/IP的众多应用协议大多以客户端/服务端的形式运行。客户端是请求的发起端,而服务端表示提供服务的意思,是请求的处理端。因此,作为服务端的程序有必要提前启动,准备接收客户端的请求。传输协议根据接收数据中的目标端口号识别目标处理程序。

    TCP.UDP比较

    TCP提供可靠性传输。实行顺序控制或重发控制机制,还有流量控制和拥塞控制,提高网络利用率。

    UDP是不具备可靠性的数据包协议,在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。

    UDP适用于那些对高速传输和实时性有较高要求的通信或广播通信。比如:IP电话、多播广播通信、RIP、DHCP。TCP和UDP按需使用。

    端口号:

    数据链路和IP中的地址分别是MAC地址和IP地址,前者用来识别同一数据链路中的不同计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在传输层中的地址就是端口号,端口号用来识别同一计算机中进行通信的不同应用程序,也就是程序地址。

    因此,TCP/IP或UDP/IP通信中通常采用5个信息来识别一个通信,分别是源IP地址,目标IP地址、协议号、源端口号、目标端口号。其中一项不同,则认为是不同的通信。

     端口号的确定

    1,标准既定的端口号

    也叫做静态方法,每个程序都有指定的端口号。比如HTTP、TELNET、FTP等应用协议中使用的端口号就是固定的。

    2,时序分配法

    也叫做时序(动态)分配法,此时服务器有必要确定监听端口号。但客户端没必要确定。在这种方法下,客户端不用自己设置端口号,全权交给操作系统进行分配,操作系统可以为每个应用程序分配互不冲突的端口号。

    端口号与协议

    端口号由其使用的传输层协议决定,因此不用的传输协议可以使用相同的端口号。数据到达IP层后,会先检查IP首部中的协议号,再传给相应协议中的模块。即使是同一端口号,由于传输协议是各自独立地进行处理,因此不会相互影响。

    此外,知名端口号和传输层协议没有关系,只要端口号一致都将分配到同一程序进行处理。

  • 相关阅读:
    数列分块入门 1-8
    最远点对 [线段树+树的直径]
    实验室外的攻防战 UOJ#180 [树状数组]
    二叉搜索树 [四边形不等式优化区间dp]
    树上的等差数列 [树形dp]
    序列 [树状数组+离散化]
    ATcoder1983 BBQ Hard
    8.18日报
    8.17日报
    8.16日报
  • 原文地址:https://www.cnblogs.com/jjfan0327/p/6871735.html
Copyright © 2011-2022 走看看