abc的TCP / IP

浏览百科全书

TCP/IP是一种分层的网络协议,这意味着来自应用程序的数据包要经过几个阶段或层,直到它们以脉冲的形式传到线路上或以频率的形式传到空中。每一层添加自己的头文件。在目的端,相应的层剥离报头并将数据包移动到接收应用程序。看到协议栈而且TCP / IP

所有节点均有IP地址

所有机器(pc、服务器、路由器等)都有一个内置在硬件中的物理地址。然而,TCP/IP网络也分配一个“逻辑”IP地址,它被写成点之间的四个数字,例如193.4.64.01。这种逻辑地址分配通常是临时的,使TCP/IP网络能够在发生冲突或灾难时重新调整自己。看到IP地址而且DHCP

TCP和IP

传输控制协议(TCP)在两端建立连接,并通过测试错误和在必要时重传来保证可靠的传输。TCP将其数据传递给互联网协议(IP), IP将数据包路由到另一个网络。例如,家中的无线路由器将所有数据包发送到家庭互联网服务提供商的IP地址(参见ISP).

港口

TCP/IP端口是分配给应用类别的逻辑编号。Web (HTTP)、电子邮件(SMTP)、文件传输(FTP)和其他常见应用程序都有“知名端口”。例如,HTTP服务器(Web服务器)被标识为端口80。公司可以为自己的应用程序分配私有端口号。看到端口80

套接字是IP地址和端口

发送程序通过“套接字”(IP地址和端口号的组合)来确定它希望与之通信的程序。如果只有诸如ComputerLanguage.com这样的域是已知的,TCP/IP会向域名系统(DNS)发送一个请求,将名称转换为IP地址。看到TCP / IP套接字DNS而且URL

TCP/IP协议栈 TCP/IP层由OSI模型的七层中的五层组成,如下所述。

应用层7

协议栈的顶层是指发起通信的程序。

TCP/IP应用:HTTP、SMTP、FTP

最常见的TCP/IP应用程序是网站查询和检索(HTTP)、电子邮件传输(SMTP)和文件传输(FTP)。还有其他应用程序是TCP/IP套件的一部分,还有无数应用程序具有仅供发送和接收程序使用的语言和格式。在发送端,数据从应用层“通过堆栈传递”到较低的层进行传输。在接收端,它们从传输层“传递到堆栈”到应用层进行处理。看到HTTPSMTP而且FTP

从第七层到第四层 TCP/IP Layer 7包含OSI标准的Layer 5和Layer 6。应用程序将其数据与目标机器的套接字(IP和端口)一起直接传递到传输层。虚线表示一个DNS请求(或更早的WINS请求),它像其他数据包一样沿着堆栈向下移动,以便进入网络。

传输层4 - TCP和UDP

TCP在两端建立连接,并协商数据包的大小,最大可达64KB。在大多数情况下,大小取决于底层网络,例如以太网,它最多容纳1,518字节。TCP将一个头附加到包上,其中包含源端口和目的端口以及包的序列号。TCP层4将数据包连同目的IP地址一起交给IP层3。TCP包在技术上是一个协议数据单元(PDU)或段,但通常称为“包”。

滑动窗口和流量控制

TCP的滑动窗口是一个可调节的缓冲区,允许在发送回确认之前接收一定数量的数据包。TCP通过在条件变化时调整窗口大小来实时处理这种“流量控制”。TCP还会重传收到的错误数据包。

UDP(用户数据报协议)不可靠

对于实时音频和视频,使用UDP而不是TCP,因为没有时间重新传输丢失或错误的数据包。UDP不建立连接,不保证,不提供流量控制或错误检测。

从传输层到网络层 TCP和UDP将它们的数据包连同目的节点的IP地址一起交给IP。数据包大小通常是底层数据链路层(如以太网或Wi-Fi)的大小。

网络(Internet)第三层- IP

IP协议接收来自TCP或UDP的数据包,并通过将IP地址转换为物理站地址(MAC地址)并将数据包(如有必要)分割成所需的帧大小来为下面的数据链路层做好准备。IP使用地址解析协议(ARP)来获取MAC地址,除非(1)地址已经被ARP处理并且在缓存中,或者(2)有一个包含地址的预定义配置文件。ARP请求被广播到网络上,拥有该IP地址的机器用它的MAC地址进行响应。如果目标计算机与源计算机在不同的网络或子网中,IP提供默认网关的目标地址,默认网关是可以将数据包定向到适当网络的路由器。

数据报

IP数据包被称为“数据报”,每个数据报都有一个包含源IP地址和目的IP地址的IP头作为前缀。如果IP必须进一步分割数据包,它会创建多个具有序列号的数据报,以便它们可以在另一端由IP重新组装。IP将每个数据报连同目标站或路由器的以太网或Wi-Fi MAC地址一起交给下面的数据链路层。

多播

IP支持一种非常有用的功能,称为“多播”,它允许将一条消息传递给多个接收者。这意味着一个IP数据流在最后一个路由器将其分散到所有目标站之前,可以经过一段很长的迂回路线。

从网络到数据链路层 IP数据报被移交给以太网、Wi-Fi或其他负责将数据移动到下一站的数据链协议。图中的虚线是概念性的。ARP请求像其他请求一样沿着堆栈向下,以便发送到网络上。

IP是路由机制

在Internet或大型企业中,IP协议用于在网络之间路由数据包。路由器包含将数据报移动到下一“跳”的路由表,下一“跳”要么是目的网络,要么是另一个路由器。数据报可以遍历企业内的多个路由器,也可以在Internet上遍历数十个路由器。

碎片

跨越不同类型网络的路由器可能不得不进一步分割数据报,如果它们将它们引导到使用比传入帧更小的帧的路由上。

从跳到跳

路由器只检查地址的网络部分(netid),并将传入的数据报定向到合适的下一跳的出端口。路由器将数据报从一跳移动到下一跳,因为它们大多只知道直接连接到它们的设备。最终,如果路由表被正确更新,数据报就会到达目的地。路由器使用路由协议获取有关网络和直接连接到它们的主机的当前路由信息。

路由表示例 如果一个路由器接收到要发送到远程网络的数据包,它会将它们发送到下一个路由器的端口。路由器端口与套接字端口完全不同。路由器端口是通过电缆连接到路由器的物理通道。套接字端口是对正在运行的程序的逻辑分配。

数据链路层2 -以太网/Wi-Fi

IP可以直接连接以太网、Wi-Fi、ATM、SONET等网络。由于以太网是使用最广泛的网络访问方法,因此在下面的示例中使用它。以太网将IP数据报包装成自己的帧格式,其中包括一个带有源和目的MAC地址的报头和一个包含校验和数据的尾。

以太网数据包可以碰撞

以太网的载波侦听多路访问/碰撞检测(CSMA/CD)访问方法将帧广播到线路上。如果两个站同时发送,它们的帧会发生碰撞,它们会各自后退并等待一段随机的毫秒数,然后再尝试一次。数据链路层负责节点间的可靠传输。如果接收到错误的以太网帧,以太网将处理重传,直到没有错误为止。

局域网到广域网

IP数据报通常从局域网开始,进入广域网(WAN),然后在另一端到达局域网。以太网帧由路由器转换成广域网帧,再由另一边的路由器转换回以太网帧。

在电线上 数据链路层负责子网络中可靠的节点间传输。当以太网帧穿越多个路由器时,相同的帧被下一个路由器重传。

数据包,数据报和帧

消息从一台主机开始,沿着协议堆栈下行,通过线路,并在接收主机上备份堆栈。对应协议对帧、数据报和包进行解包,并将数据交付给应用程序进行处理。

虽然这些术语在技术上是TCP段、IP数据报和以太网帧,但它们都在分组交换网络上运行,并且经常在所有阶段被称为分组。

运输的IP 在局域网上传输IP包通常是通过以太网或Wi-Fi完成的。通过广域网,IP可以跨越各种网络技术。看到自动取款机SONETMPLS而且波分复用 TCP/IP协议栈概要

TCP / IP的引用

也许关于这个主题最简单的参考文献是John Davidson (Springer-Verlag, 1988)的“TCP/IP简介”。虽然这本书是几十年前写的,只有100页,但在这个主题上很容易读懂。

TCP/IP的圣经是道格拉斯·e·科默(Douglas E. Comer)所著的《与TCP/IP互联》(Internetworking with TCP/IP)卷I、II和III。第一卷更新到第6版,涵盖了该主题的原则、协议和架构。(Prentice Hall, 2006)。

你会喜欢的PCMag故事

Baidu
map