理解TCP/IP协议

来源:互联网 发布:python 发送json 编辑:程序博客网 时间:2024/04/28 23:05

 在上篇中,介绍了物理层、网络接口层、网络互联层三个层次结构,其实有这三个层次就可以实现网络通信了。在地理范围很小的区域,可以通过这三个层次来通信,区域小、速度快、数据传输误差率低这三个特点保证了网络通信的实现。但是,在Internet中,由于地理区域很大,数据传输就很容易出现比特位出错问题;这样,如果网络质量不好的话,从网上下载资料就不能使用。所以要保证数据传输的正确性、可靠性,那么就要在网络互联层上增加一层协议。

(4)传输层

       1、功能

                  传输层的功能是实现端到端的连接,即从这个网络的客户端到另一个网络的客户端的连接。

       2、功能的理解

                 由于传输层要实现数据传输的可靠性与正确性,所以要求必须有目的方对接收数据的应答,用以表明数据正确的收到。那么就要在传输数据之前,进行传输通道的连接请求,当请求通过就和对方建立了一条虚拟专用通道,用这条通道来实现数据的按序传输,对方接收也是按序接收,而且通过该通道传回对收到每一个数据的应答。这样的话,就保证了在网络上数据共享的可能。

       3、协议

            (1)TCP(Transmission Control Protocol)-----传输控制协议

              该协议是面向连接的、可靠的通信协议,其报头结构如下:

                       graphics/06fig29.gif

                         从该报头结构就可以看出,TCP协议本身很复杂。下面我把每个字段都讲一下。

                         Source port:源端口                    Destination:目标端口

                        有同学会问,怎么有端口啊?其实,端口是传输层为了给上层------应用层提供良好的服务,由于要提供的服务比较多,怎么来区别不同的服务呢,就是用端口号来标识。

                         Sequense number:顺序号,此为发送时TCP段的序号。我们知道,用户数据很大,在网络上传输速度就很慢了,所以必须把大数据切成小数据传输,小数据最后还有拼装成原来的大数据,那么就要给每个小数据排上序号,以便于标识。

                         Acknowledgement  number:应答数据报序号,通信双方如果都有数据交换的话,就在数据报中嵌入应答信息,在返回数据报中隐含应答消息;如果一方没有数据发送,就用专用应答数据报来响应。

                          URG和Urgent pointer:是紧急数据位和紧急数据指针。用于优先发送数据的。

                          ACK:数据位为“1”,则表示为该数据报是应答数据报。

                         PSH:立即处理位,当对方收到数据后立即进行处理。

                         RST:恢复位,当TCP连接断开后,进行连接恢复。

                        SYN:请求建立接连位,用来进行TCP连接,其实就是第一个TCP数据报。

                        FIN:请求断开连接位,当发送方发送完数据后断开TCP连接。

                        Window size:缓存区大小,用来提示对方发送数据的时候数据大小不能超过缓存区大小。

              用TCP协议封装的数据报嵌在IP数据报中传输:            IP报头 TCP报头    TCP数据

                                      

                           传输地址:IP地址+端口号

                           类UNIX系统:一对套接字 socket;Windows系统:套接口 winsock

        

源套接字

目标套接字

源IP地址

目标IP地址

源端口

目标端口

            (2)UDP(User Datagram Protocol)-----用户数据报协议

                      UDP是无连接、不可靠的传输层协议,用于传输大数据。

                            graphics/06fig23.gif

       4、设备

                    网关(Gateway),现在用软件实现。

未完待续......

原创粉丝点击