ip协议基于什么实现(ip电话通过什么协议实现)

      最后更新:2023-11-12 04:07

      TCP/IP协议

      TCP/IP协议是一个协议集合,HTTP协议,IP协议,TCP协议,DNS协议等都属于TCP/IP协议。 TCP/IP协议是为了保证全球亿万台计算机能准确、无误的通信。TCP/IP中分层是很重要的概念,每层完成不同的功能。分为应用层,传输层,网络层,数据链路层。分层的目的是为了层级之间的功能相对队里,互不影响。TCP/IP通信数据流HTTP是基于TCP/IP协议的应用层协议,它不涉及数据包的传输,主要规定了客户端和服务器端的通信协议,默认端口是80IP协议的作用是将各种数据包准确无误的传递给对方,其中重要的条件是IP地址和MAC地址。由于IP地址是稀有资源,不可能每个人都有一个IP地址,所以我们通常的IP地址都是路由器给我们生成的IP地址,路由器里面会记录我们的MAC地址,而MAC地址是唯一的。IP实现的两个基本功能:寻址和分段寻址功能就是原地址和目标地址之间建立连接,需要使用ARP协议(Address Resolution Protocol),IP协议就是找到一条连接两台电脑的路径,从而完成数据的交互。地址解析协议,ARP协议,是根据IP地址获取物理地址的一个TCP/IP协议。IP间的通信依赖MAC地址。在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时就会采用ARP协议,根据通讯放的IP地址就可以反查出对应的MAC地址,从而进行精确的定位,完成寻址的功能。分段功能是为了适应不同网络对包的要求,对数据进行重新组装。TCP协议就是将数据包安全的给对方,IP协议是找到对方的详细地址,分工不同,互不冲突。TCP属于传输层,提供可靠的字节流服务。字节流类似于数据切割,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。可靠的传输服务是指,能够把数据准确可靠的传给对方。TCP协议为了更容易的传输大数据才将数据进行分割,而且TCP协议能够确认数据最终是否送达对方。为了确保信息准确无误的送达,TCP采用了三次握手策略(three-way-handshaking)。TCP建立连接时需要三次握手,在关闭连接时还需要四次握手。 这部分占用了http请求过程的中大量时间,在高并发时,可以考虑优化这部分。和HTTP协议一样是处于应用层的服务,提供域名到IP地址之间的解析服务。1、可缓存:get请求能缓存,post请求不能;响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。2、get是获取资源,post用于传输实体主体。3、参数:get请求的参数在url里面,会被浏览器保存历史记录,post的请求数据在数据包里面,同时因为url只支持ASCII码,因此get的参数如果存在汉字就要先进性编码,post请求支持更多的编码类型且不对数据类型限制;post传输的数据比get的多;url的长度有限制,会影响get请求;4、安全的HTTP方法不会改变服务器状态,也就说是只读的。所以get是安全的,post不是安全的。5、幂等性:get是幂等的,post不是幂等的。6、XMLHttpRequest: 在使用XMLHttpRequest时,post请求发送时,浏览器会先发送header再发送Data;get请求header和data一起发送。XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequest 在 AJAX 中被大量使用。200 OK,表示从客户端发来的请求在服务器端被正确处理。204 No content,表示请求成功,但是想要报文不包含实体的主体部分。206 Partial Content ,进行范围请求。301 moved permanently 永久性重定向,表示自愿一杯分配了新的URL。302 found 临时性重定向,表示自愿临时被分配了新的URL。303 see other 表示资源存在着另一个URL,应使用GET方法获取资源。和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。304 not modified 表示服务器允许访问资源,但因发生请求未满足条件的情况。307 temporary redirect,临时重定向,和302含义相同。但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。400 bad request 请求报文存在语法错误401 unauthorized 表示没有权限403 forbidden 表示对请求资源的访问被服务器拒绝404 not found 表示在服务器上没有找到请求的资源500 internal sever error 表示服务器端在执行请求时错误503 service unavailable 表明服务器暂时处于超负载或正在停机维护,无法处理请求HTTPS是HTTP建立在SSL/TLS安全协议上的。在IOS中,客户端本地会存有CA证书,在HTTPS请求时,会首先向服务器获取公钥,获得公钥后会使用本地的CA证书验证公钥的正确性,然后通过正确的公钥加密信息发送给服务器,服务器会使用私钥解密信息。SSL/TSL握手阶段分为五步:HTTP和HTTPS的对比:HTTP:无状态,协议对客户端没有状态存储;无连接,每次请求都会和服务器重新建立连接;基于请求和响应,由客户端发起,服务端响应;简单快速,灵活;使用明文,请求和响应不会对通信方进行确认,无法保证数据的完整性。 HTTPS:内容加密,采用混合加密技术,中间者无法直接查看明文内容;验证身份,通过证书认真客户端访问的是自己的服务器;保护数据完整性,放置传输的内容被中间人冒充或篡改。
      TCP/IP协议

      tcp/ip协议基于什么而写

      基于OSI参考模型。
      tcp/ip协议基于什么而写

      IP协议基本知识

      IP 协议是基于 IP 地址将数据包发送给目的主机,能够让互联网上任何两台主机进行通信。他位于七层通信协议中的第三层(网络层)。网络层的主要作用是实现终端节点之间的通信。这种终端节点之间的通信,也叫点对点通信。主机:配置有IP地址,不进行路由控制的设备。路由器:既有IP地址又具有路由控制功能的设备。节点:主机和路由器。数据链路层实现两个直连设备之间的数据传输,网络层的IP协议实现没有直连的两个网络之间的数据传输。在TCP/IP通信中使用IP地址识别主机和路由器。IP地址是逻辑地址,需要手工配置或自动获取,为了保证正常通信,每个设备必须配置IP地址。IP地址由网络号(网段地址)和主机号(主机地址)两部分组成。IP 地址分为四类,分别是 A类、 B类、 C类、 D类(还有一个保留的E类)。A类IP地址是首位以“ 0 ”开头的地址。从第1位到第8位是它的网络号,网络号的范围是 0 ~ 127 。其中0和127属于保留地址,减去两个保留地址,因此有126个可用的A类地址。B类IP地址是前两位以“ 10 ”开头的地址。从第1位到第16位是它的网络号,网络号的范围是128.0 ~ 191.255 。其中128.0和191.255属于保留地址,减去两个保留地址,因此有16382个可用的B类地址。C类IP地址是前三位以“ 110 ”开头的地址。从第1位到第24位是它的网络号,网络号的范围是192.0.0 ~ 223.255.255 。其中192.0.0和223.255.255属于保留地址,减去两个保留地址,因此有2097150个可用的C类地址。D类IP地址是前四位以“ 1110 ”开头的地址。从第1位到第32位是它的网络号,网络号的范围是 224.0.0.0 ~ 239.255.255.255 。D类地址没有主机号,用于组播。当主机号全为 0 时,表示的是网段地址,非主机地址。当主机号全为1时是广播地址,也不是主机地址。因此在分配IP地址过程中,需要排除这两个地址。例如一个C类地址192.168.1.0/24最多只有254个可用主机地址,而不是256个(192.168.1.0和192.168.1.255保留)。例如:一个 B 类主机地址172.20.1.100的广播地址是 172.20.255.255。组播使用 D 类地址。因此 IP 地址前四位是“ 1110 ”开头的,就是组播地址。剩下的 28 位就是组播的组编号。组播的地址范围是 224.0.0.0 ~ 239.255.255.255 ,其中 224.0.0.0 ~ 224.0.0.255 既可以在同一个网段内实现组播,又可以跨网段给全网所有组员发送组播包。解决 IP 地址浪费问题,除了使用子网掩码,还使用了 CIDR 和 VLSM 技术。CIDR ,即无类域间路由,采用任意长度分割 IP 地址的网络号和主机号。它有两个作用:把多个网段聚合到一起,生成一个更大的网段。汇总路由表 IP 地址,分担路由表压力。CIDR 是主机号向网络号借位,目的是把几个网络汇总成一个大的网络,增加子网主机数量。VLSM ,即可变长子网掩码,它可以对 A 、 B 、 C 类地址再进行子网划分,以达到充分利用 IP 地址的目的。VLSM 是网络号向主机号借位,目的是把一个标准的网络划分成几个子网,减少子网主机数量。IP 地址分为公网地址和私有地址。公网地址是在互联网上使用的,私有地址是在局域网中使用的。公网地址由 Internet NIC 负责分配,通过它直接访问互联网。私有地址是一段保留的 IP 地址。只在局域网中使用,无法在互联网上使用。但是私有地址可以通过 NAT 技术,将私有地址转换为公网地址接入互联网。IP路由是设备根据IP地址对数据进行转发的操作。当一个数据包到达路由器时,路由器根据数据包的目的地址查询路由表,根据查询结果将数据包转发出去,这个过程就是IP路由。路由表的生成方式有两种:一种是手动设置,也叫静态路由。另一种是路由器之间通过交换信息自动刷新,也叫动态路由。只要确定了IP地址,就可以向这个目标地址发送IP数据报文。但是在进行实际通信时,还要知道每个IP地址所对应的MAC地址。地址解析协议,简称ARP协议。是根据目的设备的IP地址来查询对应 MAC 地址的协议。当主机A向同一个网段内的主机C发送数据,但是不知道主机C的MAC 地址。ARP请求:主机A以主机C的IP地址为目的IP地址,以广播MAC地址为目的MAC地址,在同网段内发送这个广播报文,这个报文就叫ARP请求报文。二层交换机不查看IP地址,根据目的MAC地址将报文除接收端口外的所有端口发送。1)主机A使用主机C的IP地址查询ARP,ARP发现主机C不在同一个网段,需要通过默认网关(即默认路由的下一跳地址),但是没有网关MAC地址。2)主机A先将发送给主机C的数据放入缓存中,然后发送ARP请求报文,主机A以网关IP地址为目的IP地址发送ARP广播请求报文。3)路由器收到ARP广播请求报文后,将主机A的MAC地址和对应端口添加到自己的 MAC表中,然后查看目的IP地址发现是请求自己的MAC地址,于是单播发送ARP响应报文。4)主机A收到ARP响应报文后,将发送给主机C的数据封装网关MAC地址为目的 MAC地址进行发送。5)路由器收到报文后,查看目的IP地址,是发送给主机C的,于是查询路由表从相应端口发送数据。由于没有主机C的MAC地址,路由器发送ARP请求报文,源MAC地址和源IP地址替换为发送端口的MAC地址和IP地址。6)主机C收到ARP请求报文后,添加路由器的端口和MAC地址到MAC地址表,单播发送ARP响应报文。7)路由器收到主机C的MAC地址后,将其添加到MAC地址表中。将主机A发送给主机 C的报文重新封装,以自己的MAC地址为源MAC地址,以主机C的MAC地址为目的 MAC地址,发送给主机C。8)主机C收到主机A发送的数据,发送过程结束。当主机C向主机A发送回复报文时,同主机A向主机C发送数据的步骤一致。如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求,这个过程称作代理 ARP 。免费ARP是一种特殊的ARP请求,它并非通过IP找到对应的MAC地址,而是当主机启动的时候,发送一个免费ARP请求,即请求自己的IP地址的MAC地址。与普通ARP请求报文的区别在于报文中的目标IP地址。普通ARP报文中的目标IP地址是其它主机的IP地址;而免费ARP的请求报文中,目标IP地址是自己的IP地址。免费ARP有以下一些作用:1)起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其它主机自己的IP地址和MAC地址。2)与普通ARP请求报文的区别在于报文中的目标IP地址。普通 ARP 报文中的目标 IP 地址是其它主机的IP地址;而免费ARP的请求报文中,目标IP地址是自己的IP地址。3)可用于更新其它主机的 ARP 缓存表。如果该主机更换了网卡,而其它主机的 ARP缓存表仍然保留着原来的MAC地址。这时,通过免费的ARP数据包,更新其它主机的ARP缓存表。IP提供尽力而为的服务,指为了把数据包发送到目的地址尽最大努力。它并不做对端目的主机是否收到数据包的验证,无法保证服务质量。ICMP(互联网控制消息协议)是提供这类功能的一种协议。ICMP的主要功能包括,确认IP包是否成功送达目的地址,通知发送过程中IP包被丢弃的原因。ICMP报文像TCP/UDP 一样通过IP进行传输,但是ICMP的功能不是传输层的补充,应该把它当做网络层协议。ICMP头部封装字段如下图。通过类型字段和编码字段的取值判断这个ICMP消息的类型。常见的ICMP消息所对应的类型和编码值如下图。ping工具就是通过 ICMP 消息测试网络层连通性的。源主机发出 Echo request 消息,目的主机回应 Echo reply 消息,则两台主机间的网络层通信正常。也可以通过 ping命令来判断目标主机是否启用。
      IP协议基本知识

      IP协议具体是什么内容?

      TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。TCP/IP协议的基本传输单位是数据包(datagram),TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方,如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。TCP/IP协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。 TCP/IP协议介绍TCP/IP的通讯协议这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。TCP/IP中的协议以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:1. IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。2. TCP如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。3.UDPUDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。4.ICMPICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。5. TCP和UDP的端口结构TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:源IP地址 发送包的IP地址。目的IP地址 接收包的IP地址。源端口 源系统上的连接的端口。目的端口 目的系统上的连接的端口。端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。
      IP协议介绍(Internet Protocol): IP协议是TCP/IP协议簇的网络层协议,用于传送传输层及应用层的数据报。IP协议通过IP地址识别源和目的。IP地址就是给每一个连接在Internet上的主机分配一个唯一的32比特地址。IP协议功能: IP实现两个基本功能:寻址和分段。IP可以根据数据包包头中包括的目的地址将数据报传送到目的地址,在此过程中IP负责选择传送的道路,这种选择道路称为路由功能。如果有些网络内只能传送小数据报,IP可以将数据报重新组装并在报头域内注明。IP模块中包括这些基本功能,这些模块存在于网络中的每台主机和网关上,而且这些模块(特别在网关上)有路由选择和其它服务功能。对IP来说,数据报之间没有什么联系,对IP不好说什么连接或逻辑链路。
      IP协议具体是什么内容?

      TCP/IP协议是怎么实现的?

      TCP/IP(Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/互联网络协议)协议是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。 在Internet没有形成之前,各个地方已经建立了很多小型的网络,称为局域网,Internet的中文意义是"网际网",它实际上就是将全球各地的局域网连接起来而形成的一个"网之间的网(即网际网)"。然而,在连接之前的各式各样的局域网却存在不同的网络结构和数据传输规则,将这些小网连接起来后各网之间要通过什么样的规则来传输数据呢?这就象世界上有很多个国家,各个国家的人说各自的语言,世界上任意两个人要怎样才能互相沟通呢?如果全世界的人都能够说同一种语言(即世界语),这个问题不就解决了吗?TCP/IP协议正是Internet上的"世界语"。TCP/IP协议的开发工作始于70年代,是用于互联网的第一套协议。这里简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打点基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。1. TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。2. TCP/IP中的协议以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。TCP如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。UDPUDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。ICMPICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。TCP和UDP的端口结构TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:源IP地址---发送包的IP地址。目的IP地址---接收包的IP地址。源端口---源系统上的连接的端口。目的端口---目的系统上的连接的端口。 注:端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。
      微软用代码实现的
      TCP/IP协议是怎么实现的?

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类