什么是套接字(Socket)、多路复用和多路分解?

多数应用程序是由通信进程对组成,每对中的两个进程互相发送报文。从一个进程向另一个进程发送的报文必须通过下面的网络。
进程通过一个称为套接字的软件接口(一个进程有一个或多个套接字,每个都有唯一的标识符)向网络发送报文和从网络接受报文。套接字是同一台主机内应用层与运输层之间的接口,由于套接字是建立网络应用程序的可编程接口,所以也叫做应用程序编程接口。
举例子:
进程比作房子,套接字比作门。当一个进程向另一台主机的进程发送报文时,它把报文推出门,报文经过运输到达目的进程的门,接受进程的门(套接字)传递给目的进程。

多路分解:将运输层的报文段中的数据交付到正确的套接字的工作,因为每个报文段有不同的标识符对应着不同的套接字;
多路复用:将报文段传送到网络层
举例子:
有两栋房子大房和小房,大房有3个孩子 123,小房有3个孩子abc,两房孩子经常写信。大房由孩子1和小房孩子a负责收集和分发信件。孩子1将收集的信件交给快递员就是一个多路复用操作,孩子a收到后将信件分发给其他孩子就是个多路分解操作。
多路复用有两个要求:
1.套接字有唯一标识符
2.每个报文段有特殊字段来指示要用哪个套接字
一个UDP套接字有目的IP地址和目的端口号,因此两个UDP报文段有不同的源IP地址和源端口号但是具有相同的目的IP和端口号,将通过相同的套接字送到相同的目的进程。
一个TCP套接字有源IP地址、源端口号、目的IP地址和目的端口号,因此两个不同的源IP或端口号将通过不同的套接字送到不同的目的进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值