接收主机的传输层实际上并没有直接将数据交付给进程,而是通过一个中间套接字来传递数据。套接字是进程和传输层之间的“门户”,由于一台主机上有多个进程在运行,也就有多个套接字。这些套接字都应该有唯一的标示符。
主机上的每个套接字都被分配一个端口号,当传输层报文段到达主机时,传输层通过检查报文段头部的目的端口号字段,定位到相应的套接字,然后将数据通过该套接字交付给相应进程。
一个UDP套接字是由一个包含目的ip地址和目的端口号的二元组来标识的。如果两个UDP报文有不同的源IP地址或者源端口号,只要他们具有相同的目的IP地址和目的端口号,就会被定向到同一个套接字,数据被交给同一进程。
一个TCP套接字是由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)来标识的。与UDP不同的是,即使两个TCP报文段的目的IP地址和目的端口号相同,只有他们的源IP地址和源端口号不同的话,他们将被定向到不同的套接字。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |