1、传输层服务
1.1、什么服务?
为不同主机上的应用进程提供逻辑通讯;
- 发送方:将应用层的报文分成报文段,交给网络层;
- 接收方:将报文段重组成报文,交给应用层;
1.2、具体服务项目有?
TCP
- 多路复用、解复用;
- 建立连接;
- 拥塞控制;
- 流量控制;
UDP
- 多路复用、解复用;
2、传输层和网络层的对比
- 网络层:主机间逻辑通讯;
- 传输层:进程间逻辑通讯,对网络层的服务进行加强(数据丢失、顺序混乱、加密);
在传输层的层面,对于网络延迟和带宽无法优化;
3、多路复用和解复用
利用端口port,来区分同一主机下的不同进程;
- 发送方:多个套接字来自多个应用进程的报文,根据套接字对应的IP和port 封装报文段;
- 接收方:根据报文段头部中的IP和port 找到正确的套接字,发给对应的应用进程;
TCP复用、解复用
- 应用进程传报文给TCP;
- TCP接收到的socket是有源IP、源port、目标IP、目标port,根据这些信息和数据内容封装报文,交给IP层;
- IP层将报文传输给正确的(目标IP)主机;
- 接收方根据源IP、源port、目标IP、目标port 查找套接字,发送给应用进程;
UDP复用、解复用
- 应用进程传报文给UDP;
- UDP接收到的socket是有源IP、源port,也有结构体存着目标IP、目标port,根据这些信息和数据内容封装报文,交给IP层;
- IP层将报文传输给正确的(目标IP)主机;
- 接收方根据收到的目标IP、目标port,找到正确的套接字,发送给应用进程;
如果来自不同主机的UDP数据报,但是有相同的目标IP和端口,则会被定位到相同的套接字;
4、端口号的分类
4.1、服务器使用的端口号
熟知端口号:0~1023,这些端口号对应了重要的应用程序,在www.iana.org可以查到;
登记端口号:1024~49151,不是大家熟知应用类型的端口号,这些端口号必须在IANA上登记使用,以防重复;
4.2、客户端使用的端口号
客户进程端口号:49152~65535,这类端口号仅在客户进程运行的时候才动态选择,又称短暂端口号。
端口号查询连接:Service Name and Transport Protocol Port Number Registry (iana.org)
明天就是512大地震纪念日了,想起那年我四年级,语文花老师让我搜集信息给班上的同学办答记者问;想起视频里那个被压在废墟下的陈坚,说想和老婆和和睦睦过一辈子;还有电影《唐山大地震》;最近还看了一部日本电影《致那些得不到保护的人》;