协议控制卡之分用tcp接受的IP数据报

     tcp服务器必须accept客户的连接,并在连接建立完成之后(也就是说,但tcp的三次握手结束之后)才被告知客户的ip地址和端口号。只有这个时候,如果服务器不喜欢客户的ip地址和端口号,才能关闭连接,这并不是对tcp的要求特性,这只是插口api的通常工作方式

 

    当tcp受到一股目的端口是23的报文段时(假设本地端口是23),它调用in_pcblookup,搜索它的整个internet PCB表,找到一个匹配。马上我们就会研究这个函数,将考到它有优先权,因为它的统配匹配数最少。为了确定统配匹配数,我们只考虑本地和外部的IP地址,不考虑外部端口号。本地端口号必须匹配,否则我们甚至不考虑pcb。即同匹配数越少,精度越高,这样优先权也越高。

 

   值得注意的是,如果外部ip指定了,且是相等的,那么这时候才比较外部端口,若这时候外部端口不相等,那么我们可以认为根本不匹配,即使他的目的地址和目的端口都是相等的,即我们认为匹配数无限大。。。。

 

   也即只有当pcb中的外部地址不是通匹配地址时,才比较外部端口。

 

      

阅读更多
文章标签: pcb tcp internet
想对作者说点什么? 我来说一句

分用udp接受ip数据报

u012566181 u012566181

2013-12-06 10:00:30

阅读数:467

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭