前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅学计网:TCP、UDP

浅学计网:TCP、UDP

原创
作者头像
传说之下的花儿
发布2023-11-18 17:10:07
2020
发布2023-11-18 17:10:07
举报

二、TCP和UDP

2.1 什么是 TCP/IP 和 UDP

  • TCP/IP:即 传输控制/网络协议,是面向连接的协议,发送数据前要先建立连接(发送方和接收方的成对的两个之间必须建立连接)。 TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢失没有重复,并且按顺序到达
  • UDP:它是属于TCP/IP协议族中的一种。是无连接的协议,发送数据前不需要建立连接,是没有可靠性的协议。 因为不需要建立连接所以可以在在网络上以任何可能的路径传输,因此能否到达目的地,到达目的地的时间 以及 内容的正确性 都是不能被保证的。

2.2 TCP与UDP区别

  • TCP是面向连接的协议,发送数据前要先建立连接,TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢失,没有重复,并且按顺序到达。
  • UDP是无连接的协议,发送数据前不需要建立连接,是没有可靠性。
  • TCP通信 类似于 要打个电话,接通了,确认身份后,才开始进行通行;
  • UDP 通信 类似于 学校广播,靠着广播播报直接进行通信。
  • TCP只支持点对点通信。
  • UDP支持一对一、一对多、多对一、多对多;
  • TCP是面向字节流的。
  • UDP是面向报文的。
  • 面向字节流是指发送数据时以字节为单位,一个数据包可以拆分成若干组进行发送,而UDP一个报文只能一次发完。
  • TCP首部开销(20字节)比UDP首部开销(8字节)要大
  • UDP 的主机不需要维持复杂的连接状态表

2.3 TCP和UDP的应用场景

对某些实时性要求比较高的情况使用UDP,比如游戏,媒体通信,实时直播,即使出现传输错误也可以容忍;

其它大部分情况下,HTTP都是用TCP,因为要求传输的内容可靠,不出现丢失的情况。

2.4 形容一下TCP和UDP

  • TCP通信可看作打电话: 李三(拨了个号码):喂,是王五吗? 王五:哎,您谁啊? 李三:我是李三,我想给你说点事儿, 你现在方便吗? 王五:哦,我现在方便,你说吧。 李三:那我说了啊? 王五:你说吧。 (连接建立了,接下来就是说正事了…)
  • UDP通信可看为学校里的广播: 播音室:喂喂喂!全体操场集合

2.5 运行在TCP 或UDP的应用层协议分析

  • 运行在TCP协议上的协议:
    • HTTP(Hypertext Transfer Protocol,超文本传输协议):主要用于普通浏览。
    • HTTPS(HTTP over SSL,安全超文本传输协议):HTTP协议的安全版本。
    • FTP(File Transfer Protocol,文件传输协议):用于文件传输。
    • POP3(Post Office Protocol, version 3,邮局协议):收邮件用。
    • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议):用来发送电子邮件。
    • TELNET(Teletype over the Network,网络电传):远程终端接入,通过一个终端(terminal)登陆到网络。
    • SSH(Secure Shell,用于替代安全性差的TELNET):用于加密安全登陆用。
  • 运行在UDP协议上的协议:
    • BOOTP(Boot Protocol,启动协议):应用于无盘设备。
    • NTP(Network Time Protocol,网络时间协议):用于网络同步。
    • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):动态配置IP地址。
  • 运行在TCP和UDP协议上的协议:
    • DNS(Domain Name Service,域名服务):用于完成地址查找,邮件转发等工作。
    • ECHO(Echo Protocol,回绕协议):用于查错及测量应答时间(运行在TCP和UDP协议 上)。
    • SNMP(Simple Network Management Protocol,简单网络管理协议):用于网络信息的 收集和网络管理。
    • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):动态配置IP地址。
    • ARP(Address Resolution Protocol,地址解析协议):用于动态解析以太网硬件的地址。
2.5.1 什么是ARP协议

ARP(Address Resolution Protocol)协议完成了 IP地址与物理地址 的映射

每一个主机都设有一个 ARP 高速缓存,里面有 所在的局域网上 的 各主机 和 路由器 的 IP 地址到物理地址的映射表

当源主机要发送数据包到目的主机时:

  1. 先检查自己的ARP高速缓存中有没有目的主机的MAC地址。 如果有,就直接将数据包发到这 个MAC地址。 如果没有,就向所在的局域网发起一个ARP请求的广播包(在发送自己的 ARP 请求 时,同时会带上自己的 IP 地址到物理地址的映射)。
  2. 收到请求的主机检查自己的IP地址和 目的主机的IP地址 是否一致, 如果一致,则先保存源主机的映射到自己的ARP缓存,然后给源主机发送一个ARP响应数据包。源主机收到响应数据包之后,先添加目的主机的IP地址与MAC地址的映射,再进行数据传送。 如果源主机一直没有收到响应,表示ARP查询失败。

如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的 某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。 剩下的工作就由下一个网络来做。

2.5.2 什么是NAT

NAT (Network Address Translation):网络地址转换。

用于解决内网中的主机要和因特网上的主机通信。

由NAT路由器将主机的本地IP地址转换为全球IP地址,分为静态转换(转换得到的全球IP地址固定不变)和动态NAT转换。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、TCP和UDP
    • 2.1 什么是 TCP/IP 和 UDP
      • 2.2 TCP与UDP区别
        • 2.3 TCP和UDP的应用场景
          • 2.4 形容一下TCP和UDP
            • 2.5 运行在TCP 或UDP的应用层协议分析
              • 2.5.1 什么是ARP协议
              • 2.5.2 什么是NAT
          相关产品与服务
          NAT 网关
          NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档