现在的位置: 首页 > 综合 > 正文

TCP/IP协议初探

2013年09月02日 ⁄ 综合 ⁄ 共 1570字 ⁄ 字号 评论关闭

1. PDU(protocol data unit)在应用层叫应用数据,在传输层叫分节,在网络层叫IP数据报,在数据链路层叫帧。

2. MSS(max segament size)衡量应用层与传输层的传输能力,MTU(max transmission unit)用来衡量网络层与数据链路层的传输能力。

3. OSI的七层模型:物理层、数据链路层,网络层、传输层、会话层、表示层、应用层。

        物理层就是底层的网络硬件设备传输,两块网卡之间的对连就等于提供了一个物理层。物理层描述的是:电子信号如何放大及传输等之类的东西。标准有:以太网与令牌网

        数据链路层就是规定如何传输帧。规定了帧传输的格式及如何传输帧就等于设置了数据链路层。注意,在网络上,帧必须通用,否则,便不能被传输。帧有Enternet和Token Ring帧。

       网络层功能就是将网络上的地址翻译成对应的物理地址,并决定如何将数据从发送方发送到接收方。所以,可以看到,如何路由是由网络层来实现的。
 
       传输层主要负责确保数据可靠、顺序、无错地从A点到传输到B点(A、B点可能在也可能不在相同的网络段上)。因为如果没有传输层,数据将不能被接受方验证或解释,所以,传输层常被认为是O S I模型中最重要的一层。
 
       会话层则是在两个节点之间建立和保持通信,常用于保持终端与主机之间的通信。会话层的功能包括:建立通信与维持通信(即保持通信的畅通)、同步两个节点之间的对话、决定通信是否被中断以及通信中断时决定从何处重新发送。会话层是网络传输中的交通警察。
 
       表示层是应用层和网络层之间的翻译官,也即是说,表示层把应用层传下来的数据转换为网络层所能看懂的数据。(网络层则是把网络地址转换为物理地址,及如何选择路由传输)。数据的加密与解密则是在表示层进行的。
       应用层就是提供接口使应用程序能够使用网络服务,应用层通常有一组API以供程序调用。
4. 异步回调(asynchronous callback)服务器,指服务器向客户端主动发送消息。
并发服务器(concurrent server),可以同时处理多个客户端的连接。
迭代服务器(iterative server),对每个客户都要迭代一次。
5. errno是全局变量,在多线程使用时要注意。
6. 传输层,有三种TCP,UDP,原始套接口(raw socket)。其中原始套接口可以直接绕过传输层,甚至IP层对数据链路层进行直接读写。
7. BSD网络支持,4.4BSD-Lite与4.4BSD-Lite2,采用以上的Unix实现称为源自berkeley的实现。
有些是SVR4基础上的Unix版本有些是源自berkeley的实现,有些不是。
而linux不属于Berkeley的实现,它的网络API是自己开发的。
8.  Unix标准最终统一为:Unix V3.0、POSIX标准,实现上一样,都是Unix的统一标准,常称为POSIX规范。
在网络方面有两个API标准,称为(Detailed Network Interface DNI),DNI/Socket和DNI/XTI,一般意义上说网络层的Socket,比如IP Socket、ICMP Socket和IGMP Socket。
9.   在网络中,接口的意思一般是网络提供给上面几层的接口用来访问下面的数据链路层,都会用到Socket或XTI,但也有一些应用没有用到,比如tcpdump,它直接使用BPF或DLPI访问数据链路层。
10. ARP,RARP,BPF,DLPI,ICMP,IGMP,个人觉得前面4个是数据链路层的,后面两个是网络层的。
ARP(Address Resolution Protocol)地址解析协议,一般用于广播网络,如以太网与令牌网和FDDI,不用于点对点(P2P)。

抱歉!评论已关闭.