购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 传输层

传输层为应用层提供会话和数据报通信服务。传输层最重要的两个协议是TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP协议提供一对一的、面向连接的可靠通信服务,它能建立连接,对发送的数据报进行排序和确认,并恢复在传输过程中丢失的数据报。UDP协议提供一对一或一对多的、无连接的不可靠通信服务。

1.3.1 TCP协议

TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)的传输层协议。TCP协议会把应用层数据加上一个TCP头,组成TCP报文。TCP报文首部(TCP头)的格式如图1-6所示。

图1-6

如果用C语言来定义,代码如下:

     typedef struct _TCP_HEADER  //TCP头定义,共20个字节
     {
      short  sSourPort;                     //源端口号16bit
      short  sDestPort;                     //目的端口号16bit
      unsigned int  uiSequNum;              //序列号32bit
      unsigned int  uiAcknowledgeNum;  //确认号32bit
      short  sHeaderLenAndFlag;             //前4位:TCP头长度;中6位:保留;后6位:标志位
      short  sWindowSize;                   //窗口大小16bit
      short  sCheckSum;                     //检验和16bit
      short  surgentPointer;                //紧急数据偏移量16bit
     }TCP_HEADER, *PTCP_HEADER;

1.3.2 UDP协议

UDP协议是无连接、不保证可靠的传输层协议。UDP协议头相对比较简单,如图1-7所示。

图1-7

如果用C语言来定义,代码如下: nL4uvPIq5WLqoG2zLr7Dv7dcui/9UxRBpBAeq8gvh+5wCPZJrhX1pRK4MytVJsnc

     typedef struct _UDP_HEADER     //UDP头定义,共8个字节
     {
      unsigned short m_usSourPort;  //源端口号16bit
      unsigned short m_usDestPort;  //目的端口号16bit
      unsigned short m_usLength;    //数据报长度16bit
      unsigned short m_usCheckSum;  //校验和16bit
     }UDP_HEADER, *PUDP_HEADER;
点击中间区域
呼出菜单
上一章
目录
下一章
×