`
Java.天道2011
  • 浏览: 9443 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

初识TCP/IP

 
阅读更多

TCP/IP 协议

TCP/IP Transmission Control Protocol/Internet Protocol) 的简写,中文译名为传输控制协议 /因特网 互联协议,又叫网络 通讯协议 ,这个协议是Internet 最基本的协议、 Internet 国际 互联网络 的基础,简单地说,就是由网络层的IP 协议和传输层的 TCP 协议组成的。 TCP/IP  定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。 TCP/IP 是一个四层的分层体系结构。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。

研制背景

最初想到让不同电脑之间实现连接的,是美国 加州大学洛杉矶分校 网络工作小组的S. 克罗克 1970 年,克罗克及其小组着手制定最初的主机对主机通信协议,它被称为 网络控制协议 NCP  Network Control Protocol)。该协议被用于 阿帕网 ,并在局部网络条件下运行稳定,但随着阿帕网用户的增多,NCP 逐渐暴露出两大缺陷:

1、 NCP只是一台主机对另一台主机的通讯协议,并未给网络中的每台电脑设置唯一的地址,结果就造成电脑在越来越庞大的网络中难以准确定位需要传输数据的对象。

2、 NCP缺乏纠错功能,这样一来,数据在传输过程中一旦出现错误,网络就可能停止运行。出错电脑增多,使得网络运行效率大打折扣。

开发过程

在构建了 阿帕网 先驱之后,DARPA 开始了其他数据传输技术的研究。 NCP 诞生后两年, 1972 年, 罗伯特 ·卡恩 Robert E. Kahn )被 DARPA 信息技术处理办公室 雇佣,在那里他研究卫星数据包网络和地面无线数据包网络,并且意识到能够在它们之间沟通的价值。在1973 年春天,已有的 ARPANET 网络控制程序( NCP )协议的开发者 文顿 ·瑟夫 Vinton Cerf )加入到卡恩为 ARPANET 设计下一代协议而开发开放互连模型的工作中。

到了 1973 夏天,卡恩和瑟夫很快就开发出了一个基本的改进形式,其中网络协议之间的不同通过使用一个公用 互联网协议 而隐藏起来,并且可靠性由主机保证而不是像ARPANET 那样由网络保证。

由于网络的作用减少到最小的程度,就有可能将任何网络连接到一起,而不用管它们不同的特点,这样就解决了卡恩最初的问题。(一个流行的说法提到瑟夫和卡恩工作的最终产品 TCP/IP 将在运行 两个罐子和一根弦 上,实际上它已经 用在信鸽 上。一个称为 网关 (后来改为 路由器 以免与 网关 混淆)的计算机为每个网络提供一个接口并且在它们之间来回传输 数据包

这个设计思想更细的形式由瑟夫在斯坦福的网络研究组的 1973年— 1974 期间开发出来。(处于同一时期的诞生了 PARC通用包 协议组的 施乐 PARC 早期网络研究工作也有重要的技术影响;人们在两者之间摇摆不定。)

DARPA于是与 BBN 、斯坦福和伦敦大学签署了协议开发不同硬件平台上协议的运行版本。有四个版本被开发出来 ——TCP v1 TCP v2 、在 1978 年春天分成 TCP v3 IP v3 的版本,后来就是稳定的 TCP/IP v4—— 目前因特网仍然使用的标准协议。

1975 ,两个网络之间的TCP/IP 通信在斯坦福和伦敦大学( UCL )之间进行了测试。 1977 11月,三个网络之间的 TCP/IP 测试在美国、英国和挪威之间进行。在 1978 1983 年间,其他一些 TCP/IP 原型在多个研究中心之间开发出来。 ARPANET 完全转换到 TCP/IP 1983 1 1 日发生。

1984年,美国国防部将 TCP/IP 作为所有计算机网络的标准。 1985 年,因特网架构理事会举行了一个三天有 250 家厂商代表参加的关于计算产业使用 TCP/IP 的工作会议,帮助协议的推广并且引领它日渐增长的商业应用。

2005 9 9 卡恩和瑟夫由于他们对于美国文化做出的卓越贡献被授予 总统自由勋章

层次概述

从协议分层模型方面来讲,TCP/IP 由四个层次组成:网络接口层、网络层、传输层、 应用层 TCP/IP 协议并不完全符合 OSI 的七层参考模型。传统的 开放式系统 互连参考模型,是一种通信协议的7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是:物理层、 数据链路层 、网络层、传输层、会话层、表示层和应用层。而TCP/IP 通讯协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。   

网络接口层

  物理层是定义物理介质的各种特性,1 、机械特性。 2 、电子特性。 3 、功能特性。 4 、规程特性 数据链路层是负责接收IP 数据报并通过网络发送之,或者从网络上接收物理帧,抽出 IP 数据报,交给 IP 层。常见的接口层协议有: Ethernet 802.3 Token Ring 802.5 X.25 Frame relay HDLC PPP ATM  等。

网络层

负责相邻 计算机 之间的通信。其功能包括三方面。

一、 处理来自传输层的分组发送请求,收到请求后,将分组装入IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

二、处理输入数据报:首先检查其合法性,然后进行寻径-- 假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。 

三、处理路径、流控、拥塞等问题。网络层包括:IP(Internet Protocol) 协议、 ICMP(Internet Control Message Protocol)  控制报文协议、 ARP(Address Resolution Protocol) 地址转换协议、 RARP(Reverse ARP) 反向地址转换协议。   

IP是网络层的核心,通过路由选择将下一跳 IP 封装后交给接口层。 IP 数据报是无连接服务。   

ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。   

Ping命令就是发送 ICMP echo 包,通过回送的 echo relay 进行网络测试。   

ARP是正向 地址解析协议 ,通过已知的IP ,寻找对应主机的 MAC地址 。   

RARP是反向地址解析协议,通过 MAC 地址确定 IP 地址。比如无盘工作站和 DHCP 服务。

传输层

提供应用程序间的通信。其功能包括:

一、 格式化信息流;

二、 提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。   

传输层协议主要是:传输控制协议TCP 和用户数据报协议 UDP

应用层

向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、 远程登录 等。远程登录TELNET 使用 TELNET 协议提供在网络其它主机上注册的接口。 TELNET 会话提供了基于字符的虚拟终端。文件传输访问 FTP 使用 FTP协议 来提供网络内机器间的文件拷贝功能。   应用层一般是面向用户的服务。如FTP TELNET DNS SMTP POP3 。   

FTP(File Transmision Protocol)是文件传输协议,一般上传下载用 FTP 服务,数据端口是 20H ,控制端口是 21H 。   

Telnet服务是用户远程登录服务,使用 23H 端口,使用明码传送,保密性差、简单方便。    DNS(Domain Name Service) 是域名解析服务,提供域名到 IP 地址之间的转换。    SMTP(Simple Mail Transfer Protocol) 是简单邮件传输协议,用来控制信件的发送、中转。     POP3(Post Office Protocol 3) 是邮局协议第 3 版本,用于接收邮件。

总结  

  网络层中的协议主要有IP ICMP IGMP 等,由于它包含了 IP 协议模块,所以它是所有基 于 TCP/IP 协议网络的核心。在网络层中, IP 模块完成大部分功能。 ICMP IGMP 以及其他支持 IP 的协议帮助 IP 完成特定的任务,如传输差错控制 信息以及主机 / 路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。   传输层上的主要协议是 TCP UDP 。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式: TCP 是一个基于连接的协议; UDP 则是面向无连接服务的管理方式的协议。    TCP/IP 模型的主要缺点有:   首先,该模型没有清楚地区分哪些是规范、哪些是实现;其次, TCP/IP 模型的主机 网络层定义了网络层与数据链路层的接口,并不是常规意义上的一层,和接口层的区别是非常重要的, TCP/IP 模型没有将它们区分开来。

分享到:
评论

相关推荐

    Modbus TCP Client:初识Modbus TCP/IP-C#编写Modbus TCP客户端程序(配合博文学习)

    初识Modbus TCP/IP-C#编写Modbus TCP客户端程序 配合相关博文 http://blog.csdn.net/thebestleo/article/details/52331976 学习

    中学信息技术- IP地址初识课件

    《中学信息技术 - IP地址初识》 在信息技术的广阔领域中,IP地址是网络通信的基础。这门课程主要面向中学生,旨在让他们初步理解IP地址的概念及其重要性。IP地址,全称Internet Protocol Address,是互联网上的每一...

    初识计算机网络.pdf

    TCP/IP协议是Internet中最常用的一种,它定义了数据传输的格式和方式,确保不同设备间的有效通信。 根据覆盖范围和计算机间的距离,计算机网络可以分为: 1. 广域网(WAN):跨越较远距离,如国家或地区,通常使用...

    完全精通局域网.pdf

    - **IPX**:类似于TCP/IP中的IP,用于地址寻址和路由选择。 - **SPX**:类似于TCP,提供可靠的面向连接的数据传输服务。 **1.3.3 NetBEUI协议** NetBEUI(NetBIOS Extended User Interface)是一种较老的通信协议...

    初识Linux内核,进程通信能这么玩 (1).mp4

    内容包括:C/C++,Linux,Nginx,golang,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,ffmpeg,流媒体, 音视频,CDN,P2P,K8S,Docker,Golang,TCP/IP,协程,嵌入式,ARM,DPDK等等。。。

    计算机网络工程习题答案

    计算机网络工程习题答案涉及到多个知识点,主要涵盖了网络工程的基础概念、系统集成、OSI模型、TCP/IP模型、网络架构以及以太网等相关技术。 1. 把信息系统建立在计算机网络上是现代信息化发展的趋势,这主要是因为...

    1. 初识Linux.rar

    在Linux环境中学习网络时,Packet Tracer可以提供一个实践平台,帮助理解TCP/IP协议、路由和交换概念。 2. PacketTracer-7.3.1-win32-setup.exe:这是相同软件的Windows 32位版本。对于那些还在使用32位系统的用户...

    初识计算机网络课件.pptx

    常见的网络协议有TCP/IP、IPX/SPX和NetBEUI等。 网络协议的重要性不言而喻,中国在互联网标准制定上经历了从无到有的过程,现在已有相当数量的标准贡献给了国际互联网。这表明中国在网络应用领域发展迅速。 计算机...

    笔记18-JAVAEE之网络原理之初识

    例如,TCP/IP协议族是互联网的核心,其中TCP(传输控制协议)关注数据的可靠传输,负责建立连接、排序和错误检查;而IP(网际协议)负责数据包的路由和传输。HTTP(超文本传输协议)和FTP(文件传输协议)是常见的...

    初识PLC-认识FXN系列PLC共8页.pdf.zip

    3. **通讯能力**:FXN系列具有强大的网络通讯功能,可以接入三菱的CC-Link、Ethernet、Modbus TCP/IP等多种工业网络协议,便于与其他设备或上位机进行数据交换。 4. **功能**:FXN系列支持定时器、计数器、数据处理...

    Spring系列——带你走进Spring大门!

    TCP/IP协议?这些你都知道多少? 这期让我们来学习新的知识——Spring系列! 跟随时光来开启Spring的大门! 思维导图: 1,初识Spring; 1. 百科介绍: 2. 核心思想: IOC控制反转; AOP面向切面; 3. 官网及下载...

    Java基础精品课01-初识java.zip

    例如,`java.io`包提供了读写文件、输入输出流的功能,`java.net`包则支持TCP/IP网络通信。 最后,了解如何使用Java开发环境(如Eclipse或IntelliJ IDEA)和命令行编译及运行Java程序也是初学者必须掌握的技能。JDK...

    linux

    网络协议栈则是处理网络通信的核心,包括TCP/IP协议的实现。 Linux内核分析通常涉及以下几个关键知识点: 1. **内核模块**:Linux支持动态加载和卸载的内核模块,这使得内核可以保持精简,只加载需要的功能。 2. ...

    S1 知识点复习文档

    18. IP地址与TCP/IP协议:IP地址是网络上设备的唯一标识,TCP/IP是Internet的基础协议,负责数据传输。 19. IP地址分类:A类(1-126)、B类(128-191)、C类(192-223)、D类(224-239)、E类(240-255)。 20. ...

Global site tag (gtag.js) - Google Analytics