TCP/UDP网络编程比较

  今天看了《计算机网络》觉得收获了些,特此一记。。

书里说了,网络应用程序分为两类:一类是实现协议标准(其实就是一些大家众所周知的标准协议)像在应用层协议里的:http,ftp,SMTP,POP3,P2P这一类的。双方只要协议相同就可以实现通信。

第二类就是一些专用的网络应用程序,其应用层协议没有公开发布在RFC中或其他地方。没有开放的协议,故其他的开发者将不能开发出与该应用程序交互的代码(一些金融支付方面的)如支付宝,其协议为自己独有的。


好了,现在我把TCP和UDP的示意图展示:

下面是UDP的示意图(红色箭头表示服务器端的运行,黑色箭头表示客户端的运行流程,其中蓝色箭头表示二者 交互过程)


服务器 客户

(在serverIP上运行)



在客户端请求服务之前,我们不难看出服务器的套接字必须已经创建好了。并与端口号绑定好了,假设为12000。这样,当任何人向IP地址的12000端口发来分组(package)该分组就会指向该套接字。

在此处,我想了一个例子:在古代的时候,暗卫和统领进行书信来往,为了收到来自各地的各个暗卫的信件,统领们必须时刻保持在岗状态(服务器开启,套接字准备好,处于监听某端口状态),如果不保持在岗状态,暗卫的信件就无法到达统领处。从而统领和暗卫无法及时交流。

当某个暗卫想请示或者了解一些信息时,他便写了一封信,内容是:大人,您让我调查那个夏雨荷,她身上有什么标记吗?他必须找到专门的情报处(clientSocket),将这封信交给负责人,告诉他,请将这封信交给位于洛阳情报处(IP地址/server)的郑大人(端口号)。当然要告知负责人那个情报处,不然,是投递到洛阳还是扬州呢,还有必须告知是那个大人的编号(端口号),情报处有很多位统领(不同的端口处理不同的网络分组)。这便理解了目的地址的构成问题。


下面是TCP的示意图(红色箭头表示服务器端的运行,黑色箭头表示客户端的运行流程,其中蓝色箭头表示二者 交互过程)

      




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值