2023年java面试题之网络编程TCP/IP和UDP

1、什么是TCP/IP和UDP

TCP/IP即传输控制/网络协议,是面向连接的协议,发送数据前要先建立连接(发送方和接收方的成

对的两个之间必须建 立连接),TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢

失,没有重复,并且按顺序到达

UDP它是属于TCP/IP协议族中的一种。是无连接的协议,发送数据前不需要建立连接,是没有可

靠性的协议。因为不需要建立连接所以可以在在网络上以任何可能的路径传输,因此能否到达目的

地,到达目的地的时间以及内容的正确性都是不能被保证的。

2、TCP与UDP区别:

TCP是面向连接的协议,发送数据前要先建立连接,TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢失,没有重复,并且按顺序到达;

UDP是无连接的协议,发送数据前不需要建立连接,是没有可靠性;

TCP通信类似于于要打个电话,接通了,确认身份后,才开始进行通行;

UDP通信类似于学校广播,靠着广播播报直接进行通信。

TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多;

TCP是面向字节流的,UDP是面向报文的; 面向字节流是指发送数据时以字节为单位,一个数据

包可以拆分成若干组进行发送,而UDP一个报文只能一次发完。

TCP首部开销(20字节)比UDP首部开销(8字节)要大

UDP 的主机不需要维持复杂的连接状态表

3、TCP和UDP的应用场景:

对某些实时性要求比较高的情况使用UDP,比如游戏,媒体通信,实时直播,即使出现传输错误也可以容忍;其它大部分情况下,HTTP都是用TCP,因为要求传输的内容可靠,不出现丢失的情况。

4、形容一下TCP和UDP

TCP通信可看作打电话:

李三(拨了个号码):喂,是王五吗? 王五:哎,您谁啊? 李三:我是李三,我想给你说点事儿,你现在方便吗? 王五:哦,我现在方便,你说吧。 甲:那我说了啊? 乙:你说吧。 (连接建立了,接下来就是说正事了…)

UDP通信可看为学校里的广播:

播音室:喂喂喂!全体操场集合

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,地址解析协议),用于动态解析以太网硬件的地址。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值