第一节-TCP/IP协议-数据传输过程[2]
展开全部
从应用层到达数据链路层,每一层都会对数据进行一次封装,并且加上自己的头部
应用程序使用send/write函数会把数据写入与TCP连接应对的TCP内核发送缓存区中。然后TCP会调用IP模块所提供的服务把TCP头部信息和TCP发送缓冲区中的数据封装在一起。
UDP的数据也是类似,但是UDP不会保存数据的副本,如果数据丢失了,应用程序则需要重新把数据从用户空间拷贝到UDP内核发送缓冲区中
数据经过网络层后封装成为IP数据包、最终经过数据链路层后封装成的数据成为帧。不同传输媒介有不同的帧类型。
当数据封装好了以后,则进行传输,当到达目的地时,则会由底向上传递,各层依次去处理属于该层要负责的数据。
因为ARP、IP、RARP都是使用帧来传数据,所以帧头的部分需要提供某个字段来区分它们。
同样的ICMP、TCP、UDP等协议都使用IP协议,所以IP数据包的头部也要采用16位的协议字段来区分它们。
TCP、UDP的数据包则通过16位的端口号来区别上层的应用程序,比如Http使用80端口。
应用程序使用send/write函数会把数据写入与TCP连接应对的TCP内核发送缓存区中。然后TCP会调用IP模块所提供的服务把TCP头部信息和TCP发送缓冲区中的数据封装在一起。
UDP的数据也是类似,但是UDP不会保存数据的副本,如果数据丢失了,应用程序则需要重新把数据从用户空间拷贝到UDP内核发送缓冲区中
数据经过网络层后封装成为IP数据包、最终经过数据链路层后封装成的数据成为帧。不同传输媒介有不同的帧类型。
当数据封装好了以后,则进行传输,当到达目的地时,则会由底向上传递,各层依次去处理属于该层要负责的数据。
因为ARP、IP、RARP都是使用帧来传数据,所以帧头的部分需要提供某个字段来区分它们。
同样的ICMP、TCP、UDP等协议都使用IP协议,所以IP数据包的头部也要采用16位的协议字段来区分它们。
TCP、UDP的数据包则通过16位的端口号来区别上层的应用程序,比如Http使用80端口。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询