传输层协议 UDP 和 TCP 1传输层协议 UDP 和 TCP 传输层协议 UDP 和 TCP 2 ?由以前的知识可知,点到点通信是由网络互联层来实现的,网络互联层只屏蔽了不同网络之间的差异,构建了一个逻辑上的通信网络,因此它只解决了数据通信问题。?端到端通信是建立在点到点通信基础之上的,它是比网络互联层通信更高一级的通信方式,完成应用程序(进程)之间的通信。端到端的通信是由传输层来实现的。传输层协议 UDP 和 TCP 3 主机 1 路由器路由器主机 2 端到端点到点点到点点到点网络 1 网络 2 传输层端到端通信什么是端到端? 传输层协议 UDP 和 TCP 4 传输层协议?可靠按序递交(TCP) ?拥塞控制?流量控制?连接建立?不可靠的无序传递: UDP ?“尽力传递” IP的直接扩展?不提供的服务: ?延迟保证?带宽保证 application work data link physical application work data link work data link work data link work data link work data link work data link physical logical end-end transport 传输层协议 UDP 和 TCP 5多路复用/多路分解 application work link physical P1 application work link physical application work link physical P2 P3 P4 P1 host 1 host 2 host 3 = 进程= 套接字将接收到的数据段传递到正确的套接字在接收主机多路分解:从多个套接字集合数据, 用首部封装数据(以后用来多路分解) 在发送主机多路复用: 传输层协议 UDP 和 TCP 6 应用程序应用程序应用程序应用程序 ICMP TCP UDP ARP IP RARP 以太网网络接口层以太网由传输层报头中的端口字段标识由 IP 数据报头中的上层协议字段标识由以太网帧类型字段标识……传输层端到端通信传输层协议 UDP 和 TCP 7 ?传输层端口的概念?为了识别传输层之上不同的网络通信程序(进程), ?在主机上,进行网络通信前,进程可以向系统提出动态申请,由系统( 操作系统内核) 返回一个本地惟一的端口号,也可以手动指定未使用的端口号,进程再通过系统调用把自己和这个特定的端口联系在一起,这个过程叫绑定(Binding) 。?每个要通信的进程都与一个端口号对应,传输层就可以使用其报文头中的端口号,把收到的数据送到不同的应用程序。传输层协议 UDP 和 TCP 8 ?在 TCP/IP 协议中,传输层使用的端口号用一个 16位的二进制数表示。因此, 在传输层如果使用 TCP 协议进行进程通信, 则可用的端口号共有 2 16个。由于 UDP 也是传输层一个独立于 TCP 的协议,因此使用 UDP 协议时也有 2 16个不同的端口。?一些常用服务的 TCP 和 UDP 的众所周知端口号举例...... 。传输层协议 UDP 和 TCP 9无连接多路分解?用端口号创建套接字: DatagramSocket mySocket1 = new DatagramSocket(99111); DatagramSocket mySocket2 = new DatagramSocket(99222); ? UDP 套接字由两个因素指定:( 目的 IP地址, 目的端口号) ?当主机收到 UDP 数据段: ?检查数据段中的目的端口号?用端口号指示 UDP 数据段属于哪个套接字?具有不同的源 IP地址且/或源端口号的 IP数据报指向同样的套接字传输层协议 UDP 和 TCP 10无连接多路分解(继续) DatagramSocket serverSocket = new DatagramSocket(6428); Client IP:B P2 client IP: A P1 P1 P3 server IP: C SP: 6428 DP: 9157 SP: 9157 DP: 6428 SP: 6428 DP: 5775 SP: 5775 DP: 6428
网络程序设计6-传输层协议UDP与TCP 来自淘豆网m.daumloan.com转载请标明出处.