tcp 数据的传输

来源:互联网 发布:sql报表开发教程 编辑:程序博客网 时间:2024/05/16 01:43

TCP完成开放系统互连(OSI)模型中传输层,即第四层的功能。它的主要责任是确保端至端之间的可靠连接。IP位于下一层,在OSI的网络层,即第三层,把每个包的发送者和接收者地址告诉一路上各个路由器。路由器和第三层交换器可以读出IP和其他的第三层协议。这些信息与路由表以及其他网络智能结合在一起,能通过TCP/IP在整个房间或围绕地球进行传递。
  
    路由过程始于对发送端站而言是唯一的一个IP地址,端站可以被分配永久的IP地址,或者按需要从动态主机配置协议(DHCP)服务器或其他服务中借用。
  
    每个包携带一个源地址,在目前(IPv4)规范下,包长度是32位。在报头中,每个包也携带最终目的地的IP地址。
  
    如果发送端站确定目的地址不在本地,该包就被送到第一跳路由器,一般来说,该路由器是在附近的,并已被预先分配给发送者。
  
    该路由器检查包的IP地址,查找路由表,看看目的端点是否位于本地(物理位置)网络,它通常叫做IP子网,IP子网一般被分配到路由器的每个网络接口上。
  
    如果目的IP地址为本地的,该路由器就搜寻存储着IP地址和本地设备介质访问控制(MAC)地址的内部存储器,这个存储器叫作地址分辨协议(ARP) 高速缓存。ARP是把IP地址映射到MAC地址的通用工具。如果目的地的MAC地址出现了,该路由器就把这个MAC地址装进包的报头中(取掉自己的MAC 地址,因为不再需要它了),把该包送到目的端站。
  
    万一目的地的MAC地址没有出现在ARP高速缓存中(例如,有可能超时了),路由器必须向与包的目的IP地址有关的子网广播一个ARP请求,拥有此IP地址的端站就作出响应,把MAC地址发送回去,路由器因此更新高速缓存,把新的MAC地址装进包的报头并发送该包。
  
    如果查找路由表显示包的目的地不在本地子网,路由器就利用下一跳路由器的MAC地址把包转发给下一跳路由器。路由表由智能发现协议,如路由信息协议或者开放最短路径优先协议,不断地被建立和再建立。每个路由器的路由表显示了到达目的地址的最佳路径,对于要有几跳的地址,它显示出最佳的下一跳路由器。

 
TCP/IP协议早已是网络的标准语言。随着Internet SCSI、Remote Diret Memory Access这些网络存贮标准的问世和实用化,从某种意义上说,TCP/IP又成了一种存贮协议。
原创粉丝点击