怎么做网站弹出公告,品牌网商城,怎么给网站加代码,wordpress的坏处TCP/IP for IP version 4#xff08;IPv4#xff09;是一种网络协议#xff0c;Microsoft Windows使用该协议通过internet与其他计算机进行通信。理想情况下#xff0c;只要基于Windows的计算机通过网络进行通信#xff0c;就会使用TCP/IP。
本文介绍TCP/IP协议的组成、协…TCP/IP for IP version 4IPv4是一种网络协议Microsoft Windows使用该协议通过internet与其他计算机进行通信。理想情况下只要基于Windows的计算机通过网络进行通信就会使用TCP/IP。
本文介绍TCP/IP协议的组成、协议体系结构、TCP/IP的核心协议及应用程序接口。
1 TCP/IP协议体系结构
TCP/IP协议映射到一个称为DARPA模型的四层概念模型该模型以最初开发TCP/IP的美国政府机构命名。DARPA模型的四个层次是应用程序、传输、互联网和网络接口。DARPA模型中的每一层对应于七层开放系统互连OSI模型的一个或多个层。
下图显示了TCP/IP协议体系结构。 网络接口层Network Interface Layer
网络接口层也称为网络访问层负责将TCP/IP数据包放置在网络介质上和从网络介质接收TCP/IP数据包。TCP/IP被设计为独立于网络访问方法、帧格式和介质。通过这种方式TCP/IP可以用于连接不同类型的网络。其中包括局域网LAN介质如以太网和令牌环以及广域网技术如X.25和帧中继。与任何特定网络介质的独立性允许TCP/IP适应诸如异步传输模式ATM之类的新介质。
网络接口层包括OSI模型的数据链路层Data-Link Layer和物理层Physical Layer。请注意互联网Internet Layer没有利用网络接口层中可能存在的排序和确认服务。假设网络接口层不可靠传输层Transport Layer的功能是通过会话建立、数据包的排序和确认进行可靠通信。
互联网层Internet Layer
Internet层处理寻址、打包和路由功能。互联网层的核心协议是IP、ARP、ICMP和IGMP。
互联网协议IP是一种可路由的协议用于处理IP寻址、路由以及数据包的分段和重组。地址解析协议ARP处理互联网层地址到网络接口层地址例如硬件地址的解析。互联网控制消息协议ICMP处理提供诊断功能和报告由于IP数据包传递失败而导致的错误。互联网组管理协议IGMP处理IP多播组成员的管理。
互联网层类似于OSI模型的网络层Network Layer。
传输层Transport Layer
传输层也称为主机到主机传输层负责为应用层 Application layer提供会话和数据包通信服务。传输层的核心协议是传输控制协议TCP和用户数据报协议UDP。
TCP提供一对一、面向连接、可靠的通信服务。TCP处理TCP连接的建立、发送数据包的排序和确认以及传输过程中丢失数据包的恢复。
UDP提供一对一或一对多、无连接、不可靠的通信服务。当要传输的数据量很小时例如适合单个数据包的数据当您不希望建立TCP连接的开销时或者当应用程序或上层协议提供可靠的传输时都会使用UDP。
TCP/IP传输层包含OSI传输层的职责。
应用层Application Layer
应用层允许应用程序访问其他层的服务并定义应用程序用于交换数据的协议。有许多应用层协议并且总是在开发新的协议。
最广为人知的应用层协议是那些用于交换用户信息的协议
超文本传输协议HTTP用于传输构成万维网网页的文件。文件传输协议FTP用于交互式文件传输。简单邮件传输协议SMTP用于传输邮件和附件。Telnet是一种终端仿真协议用于远程登录到网络主机。
此外以下应用层协议有助于促进TCP/IP网络的使用和管理
域名系统DNS用于将主机名解析为IP地址。路由信息协议RIP是路由器用于在IP互联网上交换路由信息的路由协议。简单网络管理协议SNMP用于网络管理控制台和网络设备路由器、网桥、智能集线器之间以收集和交换网络管理信息。
TCP/IP应用程序的应用层接口示例有Windows Sockets和NetBIOS。Windows Sockets在Windows Server 2003下提供了一个标准的应用程序编程接口API。NetBIOS是用于访问协议服务如会话、数据报和名称解析的行业标准接口。
TCP/IP应用层包括OSI会话、表示和应用层的职责。
2 TCP/IP核心协议
安装在网络操作系统中的TCP/IP协议组件是一系列相互连接的协议称为TCP/IP的核心协议。TCP/IP协议套件中的所有其他应用程序和其他协议都依赖于以下协议提供的基本服务IP、ARP、ICMP、IGMP、TCP和UDP。
IP
IP是一种无连接、不可靠的数据报协议主要负责主机之间的数据包寻址和路由。无连接意味着在交换数据之前不建立会话。不可靠意味着不能保证交货。IP总是尽“最大努力”传递数据包。IP数据包可能丢失、传送顺序错误、重复或延迟。IP不会尝试从这些类型的错误中恢复。对传送的数据包的确认和丢失数据包的恢复是更高层协议如TCP的责任。在RFC 791中定义了IP。
ARP
当IP数据包通过共享访问发送时基于广播的网络媒体如以太网或令牌环必须解析与转发IP地址对应的媒体访问控制MAC地址。ARP使用MAC级别的广播将已知的转发或下一跳IP地址解析为其MAC地址。ARP是在RFC 826中定义的。
ICMP
Internet控制消息协议ICMP为无法传递的数据包提供故障排除功能和错误报告。例如如果IP无法将数据包传递到目标主机ICMP会向源主机发送一条destination Unreachable消息。
IGMP
互联网组管理协议IGMP是一种管理网段上IP多播组中主机成员资格的协议。IP多播组也称为主机组是一组主机用于侦听指定IP多播地址的IP流量。IP多播流量被发送到单个MAC地址但由多个IP主机处理。特定主机侦听特定的IP多播地址并接收到该IP地址的所有数据包。
以下是IP多播的一些附加方面
主机组成员身份是动态的主机可以随时加入和离开该组。主机组可以是任何大小。主机组的成员可以跨越多个网络的IP路由器。这种情况需要IP路由器上的IP多播支持以及主机向本地路由器注册其组成员资格的能力。主机注册是使用IGMP完成的。主机可以向IP多播地址发送流量而不属于相应的主机组。
对于要接收IP多播的主机应用程序必须通知IP它将在指定的IP多播地址接收多播。如果网络技术支持基于硬件的多播则网络接口被告知放弃特定IP多播地址的数据包。在以太网的情况下网络适配器被编程为响应于与指定的IP多播地址相对应的多播MAC地址。
主机支持以下级别之一的IP多播
级别0不支持发送或接收IP多播流量。级别1支持发送但不接收IP多播流量。级别2支持发送和接收IP多播流量。Windows Server 2003、Windows 2000、Microsoft Windows NT 3.5版及更高版本以及TCP/IP支持级别2的IP多播。
注册主机组信息的协议是IGMP这在所有支持2级IP多播的主机上都是必需的。IGMP数据包使用IP报头发送。
IGMP消息有三种形式。
主机成员报告。当主机加入主机组时它将IGMP主机成员身份报告消息发送到所有主机IP多播地址224.0.0.1或指定的IP多播位置通过引用IP多播地点来声明其在特定主机组中的成员身份。主机还可以指定需要多播流量的特定来源。主机成员身份查询。当路由器轮询网络以确保存在特定主机组的成员时它会向所有主机的IP多播地址发送IGMP主机成员身份查询消息。如果在几次轮询之后没有接收到对轮询的响应则路由器假定该网络在该组中没有成员资格并停止向其他路由器通告该多播组信息。集体休假。当主机不再对接收发送到特定IP多播地址的多播流量感兴趣并且它发送了最后一个IGMP主机成员身份报告消息以响应IGMP主机会员身份查询时它向特定IP多点播地址发送IGMP组离开消息。本地路由器验证发送IGMP Group Leave消息的主机是否是该子网上该多播地址的最后一个组成员。如果在多次轮询之后没有收到对轮询的响应则路由器假定该子网在该组中没有成员资格并停止向其他路由器通告该多播组信息。
对于跨互联网路由器的IP多播路由器使用多播路由协议来传递主机组信息以便每个支持多播转发的路由器都知道哪些网络包含哪些主机组的成员。IGMP是在RFC 1112和2236中定义的。
TCP传输控制协议
TCP是一种可靠的、面向连接的传递服务。数据是分段传输的。面向连接意味着必须先建立连接然后主机才能交换数据。可靠性是通过为传输的每个段分配一个序列号来实现的。确认用于验证是否接收到数据。对于发送的每个段接收主机必须在指定的时间段内返回接收字节的确认ACK。如果没有接收到ACK则重新发送数据。TCP是在RFC 793中定义的。
TCP使用字节流通信其中TCP段内的数据被视为没有记录或字段边界的字节序列。
TCP端口
TCP端口为TCP段的传递提供了一个特定的位置。1024以下的端口号是众所周知的端口由互联网号码分配机构IANA分配。下表列出了一些众所周知的TCP端口。 TCP三方握手
TCP连接是通过三方握手初始化的。三方握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小或使用大窗口大小或TCP时间戳。以下步骤概述了该过程
TCP连接的发起方通常是客户端向服务器发送TCP段其中包含连接的初始序列号和指示客户端上用于存储来自服务器的传入段的缓冲区大小的窗口大小。TCP连接的响应方通常是服务器发回一个TCP段该段包含其选择的初始序列号、对客户端序列号的确认以及指示服务器上用于存储来自客户端的传入段的缓冲区大小的窗口大小。发起方向服务器发送一个TCP段其中包含对服务器序列号的确认。
TCP使用类似的握手过程来结束连接。这保证了两个主机都已完成传输并且已接收到所有数据。
UDP
UDP提供了一种无连接的数据报服务它提供了不可靠的、尽最大努力传递消息中传输的数据。这意味着既不能保证数据报的到达也不能保证所传递的数据包的正确排序。UDP不会通过重新传输从丢失的数据中恢复。UDP是在RFC 768中定义的。
UDP由不需要确认数据接收并且通常一次传输少量数据的应用程序使用。NetBIOS名称服务、NetBIOS数据报服务和SNMP是使用UDP的服务和应用程序的示例。
3 TCP/IP应用程序接口
对于以标准方式访问TCP/IP 核心协议提供的服务的应用程序Windows Server 2003等网络操作系统提供了行业标准的应用程序编程接口API。API是由应用程序代码以编程方式调用以执行网络功能的函数和命令集。例如连接到网站的Web浏览器应用程序需要访问TCP的连接建立服务。 Windows Sockets接口
Windows Sockets API是Windows Server 2003下的标准API用于使用TCP和UDP的应用程序。写入Windows Sockets API的应用程序在许多版本的TCP/IP上运行。TCP/IP实用程序和SNMP服务是写入Windows Sockets接口的应用程序示例。
Windows Sockets提供的服务允许应用程序绑定到主机上的特定端口和IP地址启动和接受连接发送和接收数据以及关闭连接。Sockets有两种类型
流Sockets使用TCP提供双向、可靠、有序和不重复的数据流。数据包Sockets使用UDP提供单向或双向数据流。
Sockets是由主机上的协议和地址定义的。地址的格式特定于每个协议。在TCP/IP中地址是IP地址和端口的组合。两个Sockets连接的每一端一个形成双向通信路径。
要进行通信应用程序指定协议、目标主机的IP地址和目标应用程序的端口。连接应用程序后可以发送和接收信息。
NetBIOS接口
NetBIOS允许应用程序通过网络进行通信。NetBIOS定义了两个实体一个会话级接口和一个会话管理和数据传输协议。
NetBIOS接口是用户应用程序向底层网络协议软件提交网络输入/输出I/O和控制指令的标准API。使用NetBIOS接口API进行网络通信的应用程序可以在支持NetBIOS接口的任何协议软件上运行。
NetBIOS还定义了一个在会话/传输级别起作用的协议。这是由底层协议软件如NetBIOS帧协议NBFP——NetBEUI或TCP/IP上的NetBIOSNetBT的一个组件实现的它执行适应NetBIOS接口命令集所需的网络I/O。在RFC1001和1002中定义了TCP/IP上的NetBIOS。默认情况下启用NetBT但是Windows Server 2003允许您在不包含基于NetBIOS的网络客户端或应用程序的环境中禁用NetBT。
NetBIOS为NetBIOS名称管理、NetBIOS数据报和NetBIOS会话提供命令和支持。