《运输层概述》
解释:
《端口》
具体书P214
两台主机进行通信就是两台主机中的应用进程相互通信
所谓的端到端的通信也就是应用进程之间的通信
这个端就是所谓的 端口
从图中可以看出,端口位于应用层与运输层之间
当应用层中的应用进程要通过运输层发到互联网要通过端口
当别的主机上的应用进程要寻找本机中的某个应用进程,也要通过端口
即端口是应用层与运输层进行数据交互的地点,每一个应用程序至少有一个端口
TCP/IP的运输层用一个16位端口号来标识一个端口
《服务器端使用的端口号》
这一类端口号又叫做熟知端口号,数值1~1023
一般是TCP/IP上最重要的应用程序在用
如:
FTP:21 DNS:53 HTTP:80 等
《客户端使用的端口号》
数值为49152~65535
留给客户进程临时使用
《运输层协议必备功能》
1.复用与分用
复用:发送方不同的应用进程都可以使用同一个运输层协议传送数据
分用:接收方的运输层在去除报文首部后能够把这些数据正确交付给目的应用进程
2.差错检测
《UDP与TCP的对比》
《首部均有源端口号与目的端口号》
《是否需要连接》
UDP是在任何时候都可以进行数据的传输
而TCP在传输时需要进行三报文握手
在结束时继续四报文挥手
《多交换通信与一对一通信》
TCP仅支持单播
《面向应用报文与面向字节流》
UDP在处理应用层的应用报文时,直接将应用报文套上UDP首部即可
使之称为UDP应用数据报,然后发送
接受方在接受到数据时直接除去UDP首部
而TCP将应用层报文看成是一连串无结构的字节流,给他们编号
《不可靠服务与可靠服务》
接受方UDP在检查出错误后直接丢弃数据报,
发送方不做出然后反应
接受方TCP在检查到错误后丢弃(具体在TCP中讲)
发送方会因为没有接受到接受方的响应而重新传送
《首部的区别》
UDP的数据报仅仅只在网际层的基础上添加了用于区分应用进程的端口
《UDP》
伪首部即不向下传递 也不向上递交,其只是在计算检验和时,临时添加在UDP
那么检验和的过程是什么?
在发送方:
1.首先把全零放入检验和字段
2.再把伪首部以及UDP用户数据报中的数 转化为16进制,每一个数有8位
以16位为一组
然后进行相加
最后求和的反码
然后将结果写入检验和
在接收方:
1.将接收到的检验和 与 伪首部(接收方的伪首部不是接收到的,而是自己生成的)
的数 转化为16进制
以16位为一组
然后进行相加
2.如果结果的每个位上全为1,说明无差错
否则有差错,应该要丢弃
比如上述:
153.19
其中将153转化为16进制,有8位
即是1001 1001
19同理 0001 0011
《TCP》
《TCP概述》
这里解释一下:
TCP提供可靠交付的服务:
即通过TCP连接传送的数据:无差错,不丢失,不重复,并且按序到达
TCP提供全双工通信:
即通信双方的应用程序在任何时候都能够同时收发数据
每一条TCP连接唯一地被通信两端的两个端点,即套接字(IP+端口号)
标签:计算机网络,UDP,运输,首部,报文,端口,TCP,----,端口号 From: https://www.cnblogs.com/cilinmengye/p/17284234.html