第一节-TCP/IP协议-数据传输过程[2]

TCP/IP数据传输过程

    1.1封装

            从应用层到达数据链路层,每一层都会对数据进行一次封装,并且加上自己的头部


数据包的封装

            应用程序使用send/write函数会把数据写入与TCP连接应对的TCP内核发送缓存区中。然后TCP会调用IP模块所提供的服务把TCP头部信息和TCP发送缓冲区中的数据封装在一起。

            UDP的数据也是类似,但是UDP不会保存数据的副本,如果数据丢失了,应用程序则需要重新把数据从用户空间拷贝到UDP内核发送缓冲区中

            数据经过网络层后封装成为IP数据包、最终经过数据链路层后封装成的数据成为帧。不同传输媒介有不同的帧类型。


以太网帧的格式

        1.2分用

            当数据封装好了以后,则进行传输,当到达目的地时,则会由底向上传递,各层依次去处理属于该层要负责的数据。


数据处理的流程

            因为ARP、IP、RARP都是使用帧来传数据,所以帧头的部分需要提供某个字段来区分它们。

同样的ICMP、TCP、UDP等协议都使用IP协议,所以IP数据包的头部也要采用16位的协议字段来区分它们。

            TCP、UDP的数据包则通过16位的端口号来区别上层的应用程序,比如Http使用80端口。

你可能感兴趣的:(第一节-TCP/IP协议-数据传输过程[2])