- 经验
- 101
- 分贝
- 0
- 家园分
- 683
- 在线时间:
- 412 小时
- 最后登录:
- 2017-3-27
- 帖子:
- 75
- 精华:
- 0
- 注册时间:
- 2012-6-1
- UID:
- 802172
注册:2012-6-1
|
问几个tcp/udp的问题
1)tcp只能是点对点/一对一的连接,所以,如果server端监听端口80,client端如果想要建立10条tcp连接,需要消耗client端的10个端口号来生成10个不同的socket(ip+port),来建立连接,是么?
2)tcp建立连接之后,如从A经过路由器R1,R2到B建立了一条连接,其实是在A,B端各自保存了一条到达对方的路径(A<-->R1<-->R2<-->B), 是么?对于路由器R1,R2而言,他们是否知道有这样的路径存在?对建立连接和释放连接两种情况,R1和R2的状态,有区别么?
3)
udp不是面向连接的,是指发送udp包之前,不需要先建立连接。那么上一个udp包和下一个udp包完全可以走不通路径达到目的地址对吧?
于此相对,tcp连接一旦建立,在这条链路上的tcp的包经过的路径(走过的路由器)完全相同,对吧?
4)tcp的工作原理,一般是,server端有tcp的端口监听,netstat -nap|grep LISTEN 即可查看,有连接上来之后,会有ESTABLISHED 状态的连接,使用netstat -nap|grep ESTABLISHED 即可查看。
3.a)对于udp呢?也会有端口监听是么?如何查看所有udp的监听端口?
3.b)既然udp通信的时候,不用先建立连接,为什么还是能看到某些ESTABLISHED状态的udp连接呢?
3.c)下面的netstat -nap|grep udp结果中,0.0.0.0:* 与:::*有什么区别?
udp 0 0 0.0.0.0:123 0.0.0.0:* -
udp 0 0 :::58146 :::* -
|
|