通讯三要素学习笔记

1.IP(InetAddress in Java)

    1)网络中的标识

    2)不易记忆,可用主机名:www.baidu.com  localhost zha-xxx04-w7

    3)本地回环地址:127.0.0.1 主机名:localhost

        ping localhost->127.0.0.1         ping computer_name-> 本机IP

2.端口号

    1)用于标识进程的逻辑地址,不同进程的标识

    2)有效端口:0-65535,其中0-1024是系统使用或保留端口

3.传输协议

    1)通讯的规则

    2)常见协议:TCP,UDP(桌面共享,视频会议,聊天用UDP,快)

UDP详解

  1)将数据源和目的封装在数据包中,不需要建立连接

  2)每个数据包大小限制在64k内,大的放分开发

  3)因为无连接不可靠易丢包

  4)因无连接,速度快

  5)桌面共享,视频会议,聊天用UDP

  通俗来说:不管对方是否存在,直接发数据(比如去邮局寄东西,对方在,收到,对方不在,丢失;

        又比如:一开始发送成功,后来对方断开连接,数据还接着发,便会丢失)

TCP详解

  1)建立连接,形成传输数据的通道

  2)在连接中进行大数据量传输

  3)通过三次握手完成连接,是可靠协议

  4)必须建立连接,效率会降

  5)连接要经过“三次握手”    A->B     A:收到?  B:收到!  A:OK!(让B知道A收到它的回复)

  通俗来说:TCP相当于打电话,连接通了才能通话

quote from http://www.ibm.com/developerworks/cn/education/linux/l-sock/section2.html

对于理解 TCP 和 UDP 之间的区别来说,一个有用的类比就是电话呼叫和邮寄信件之间的区别。在呼叫者用铃声通知接收者,并且接收者拿起听筒之前,电话呼叫不是活动的。只要没有一方挂断,该电话信道就保持活动,但是在通话期间,他们可以自由地想说多少就说多少。来自任何一方的谈话都按临时的顺序发生。另一方面,当你发一封信的时候,邮局在投递时既不对接收方是否存在作任何保证,也不对信件投递将花多长时间做出有力保证。接收方可能按与信件的发送顺序不同的顺序接收不同的信件,并且发送方也可能在他们发送信件是交替地接收邮件。与(理想的)邮政服务不同,无法送达的信件总是被送到死信办公室处理,而不再返回给发送者。

原文地址:https://www.cnblogs.com/baron89/p/3063986.html