传输层:负责数据能够从发送端传输至接收端
之前我们提到过端口号(Port)标识了一个主机上进行通信的不同的应用程序。
由图我们可以看出如果想要数据成功的发送出去。那么我们就必须让他知道IP地址和端口号。就像我们要找一个人,我们只知道他住哪个小区是不够的,我们还需要知道他在这个小区的哪一个房。他的房号就确定了一个具体的地址,并且是唯一的一个地址,不可能给一个房号我们能找到两个房,如果能找到两个房那到底哪个房间里的人才是我们要找的呢?同理,数据发送的时候指定的端口号也必定唯一的表示了一个应用程序,数据才能确定他应该去哪儿。
端口号范围划分:
0~1023:知名端口号,HTTP,FTP,SSH等这些广为使用的应用层协议,他们的端口号都是固定的。
1024~65535:操作系统动态分配的端口号,客户端程序的端口号就是由操作系统从该范围内分配的。
了解知名端口号:
ftp服务器:21端口
ssh服务器:22端口
telnet服务器:23端口
http服务器:80端口
https服务器:443端口
注意:当我们自己在写一个程序时如果要用到端口号就要避开这些知名端口号。
我们也说了一个端口号唯一标识一个进程,所以我们的一个端口号是不能同时被多个进程绑定的,如果同时被多个进程绑定,那我们知道端口号以后到底去找哪一个进程呢&#