1.定位:指因特网整个TCP/IP协议族,由四个层次组成:网络接入层、网络层、主机到主机层、应用层。也叫DoD模型。每一层都呼叫它的下一层所提供的网络来完成自己的需求。

2.与OSI模型的对应:

  

3.网络接入层:定义物理介质的各种特性;

4.网络层:负责相邻计算机之间的通信。包括三方面的内容:

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

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

  3) 处理路径、流控、拥塞等问题。

  在网络中,并不是条条大路都通罗马,相反它们是都通向IP的。在网络层上所有其他的协议和高层协议都需要使用到IP协议。决不要忘记,DoD模型中的所有操作都是要通过IP来完成的。

  包括的协议:IP协议、ICMP(Internet Control Message Protocol)控制报文协议、ARP地址解析协议、RARP(Reverse ARP)反向地址解析协议。

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

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

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

  RARP是反向地址解析协议,通过MAC地址确定IP地址。

  传输层:提供应用程序间的通信。其功能包括:1)格式化信息流;2)提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。

5.应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。

  1)Telnet:远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。Telnet是协议中的变色龙,它的特别之处在于它对终端的仿真。

  它允许一个用户在远程客户端(被称为Telnet客户)访问另一台机器(称为Telnet服务器)上的资源。Telnet是通过在Telnet服务器上运行并且在客户端显示操作结果来实现控制的,就好像客户是一个直接连接在本地网络上的操作终端。

  这个显示结果实际上是一个软件处理的映像,即一个虚拟终端,一个可以同远程被选择主机进行交互控制的虚终端。

  这些仿真终端是一些基于文本模式类型的终端,它可以执行一些精心编制的程序,如带有可以给用户提供多种选项菜单的程序,并且它还可以在登录的服务器上访问一些应用程序。

  用户可以通过运行Telnet客户端软件来打开一个Telnet会话,并且登录到Telnet服务器上。

  2)FTP:文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。文件传输协议(FTP)实际上就是传输文件的协议,它可以应用在任意两台主机之间。但是FTP不仅仅是一个协议,它同时也是一个程序。

  作为协议,FTP是被应用程序所使用的;而作为程序,用户需要通过手动方式来使用FTP并完成文件的传送。FTP允许执行对目录和文件的访问,并且可以完成特定类型的目录操作,例如将文件重新定位到不同的目录中。

  显然,FTP是与Telnet合作一同来完成对 FTP服务器的登录操作,并在这之后再开始提供文件传送服务的。

  然而,通过FTP访问主机这只是第一步。随后,用户必须通过一个由系统管理员为保护系统资源而设置的安全登录认证,这个认证需要输入正确的口令和用户名。但是,也可以通过使用用户名―anonymous‖来尝试登录。

  当然,通过这种方式完成登录后,所能访问的内容将会受到某些限制。

  即使FTP可以被用户以应用程序的方式来使用,FTP的功能也只限于列表和目录操作、文件内容输入,以及在主机间进行文件拷贝。它不能远程执行程序文件。

  何时应当使用FTP?如果你需要给某个人发送一个大文件或者你需要从某人那里得到一个大文件,FTP是最好的选择。大多数ISP不允许通过电子邮件来传送大于5MB的文件。

  所以如果你需要传送或接收一些大文件(在现在许多人都会遇到这个问题),使用FTP仍是一种你应该考虑的选择。要做到这一点,需要在因特网上设臵一台FTP服务器,以便共享文件。

  3)TFTP: 简单文件传输协议(TFTP)是FTP的简化版本,只有在你确切地知道想要得到的文件名及它的准确位置时,才可有选择地使用TFTP。TFTP不提供目录浏览的功能,它只能完成文件的发送和接收操作。

  这个紧凑的小协议在传送的数据单元上也是节省的,它发送比FTP更小的数据块,同时它也没有FTP所需要的传送确认,因而它是不可靠的。

  4)简单邮件传输协议(SMTP):对应于我们普遍使用的被称为E-mail的应用,它描述了邮件投递中的假脱机、排列及方法。当某个邮件被发往目的端时,它将先被存放在某个设备上,通常是一个磁盘。

  目的端的服务器软件负责定期检查信件的存放队列。当它发现有信件到来时,会将它们投递到目的方。SMTP用来发送邮件,POP3用来接收邮件。

  5)网络文件系统(NFS):在文件共享中是一个特殊的协议珍宝。它允许两个不同类型的文件系统实现互操作。它的工作机理是这样的:假设NFS服务器软件运行在 NT服务器上,而NFS客户端软件则运行在一台UNIX主机上。

  NFS允许在NT服务器上划分出一部分RAM来透明地存放UNIX文件,而这些文件可以被一些UNIX用户使用。即使NT文件系统和UNIX文件系统是完全不同的(它们有不同的大小写敏感性、文件名长度、安全保障等),

  UNIX用户和NT用户也依然可以以他们习惯的方式来使用他们常用的文件系统,访问同一个文件。

  6)简单网络管理协议(SNMP):采集并使用一些有价值的网络信息。它通过从管理站定期或不定期地轮询网络上的设备来获取数据,并要求这些设备透露某些与管理相关的佶息。

  当所有的设备都工作正常时,SNMP会接收到被称为基线的信息,即一个界定健康网络运转特性的报告。这个协议也可以被描述为整个网络的看门狗,它可以很快地通告管理人员任何突然事件的发生。

  这些网络看门狗被称为代理,并且当一个故障发生时,这些代理会发送一个称为陷阱的警告给管理站。

  7)DNS8)DHCP

6.数据格式:

  数据帧:帧头+IP数据包+帧尾 )帧头包括源和目标主机MAC地址及类型,帧尾是校验字)

  IP数据包:IP头部+TCP数据信息)IP头包括源和目标主机IP地址、类型、生存期等)

  TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)

TCP/IP__TCP/IP协议的更多相关文章

  1. HTTP、TCP、IP协议常见面试题

    前言:在看面试题之前,先了解一下基本定义. HTTP.TCP.IP协议基本定义 HTTP: (HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数 ...

  2. HTTP要点概述:一,TCP/IP协议族

    一,协议: 计算机与网络设备之间如果要相互通信,双方必须基于相同的方法.比如说,怎么探测到通讯目标,哪一方发起通信,使用哪一种语言通信,怎么结束通信,都需要事先规定.不同硬件,操作系统之间的通信需要一 ...

  3. HTTP、TCP、IP协议面试题

    HTTP.TCP.IP协议基本定义 HTTP: (HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2 ...

  4. tcp与ip协议的区别

    TCP/IP(TransmissionControlProtocol/InternetProtocol的简写,中文译名为传输控制协议/互联网络协议). 简单地说,就是由底层的IP协议和TCP协议组成的 ...

  5. 三、tcp、ip协议详细

    1. 什么是 TCP/IP? TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说 TCP/IP 被认为是一个四层协议 1) 网络接口层: 主要是指物理层次的一些接口,比如电缆等 ...

  6. socket http tcp udp ip 协议

    Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接. socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作 ...

  7. 浅析TCP /UDP/ IP协议

    互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...

  8. 网络基础和 TCP、IP 协议

    1.网络基本概念 1.1 什么是网络:一些网络设备按照一定的通讯规则(网络协议)进行通讯的系统. 1.2 VPN(虚拟私有网络)加密,相当于专线,从分支机构到总部. 1.3 资源共享的功能和特点: 数 ...

  9. 深入浅出TCP与IP协议笔记

    TCP/IP 4层结构:应用层 传输层 网络层 链路层   探索过程问题:一个主机的数据要经过哪些过程才到达对方的主机上 一组电信号就是一个数据包,一个数据包称为一帧,制定这个规则的就是以太网协议   ...

随机推荐

  1. CentOs 7 安装mysql5.7.18(二进制版本)

    1.下载二进制版本安装包.搜狐开源镜像站:http://mirrors.sohu.com/mysql/MySQL-5.7/   , 找 mysql-5.7.18-linux-glibc2.5-x86_ ...

  2. CSS系列 (05):浮动详解

    浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. -- W3C 文字环绕 float可以 ...

  3. 基础篇:JAVA原子组件和同步组件

    前言 在使用多线程并发编程的时,经常会遇到对共享变量修改操作.此时我们可以选择ConcurrentHashMap,ConcurrentLinkedQueue来进行安全地存储数据.但如果单单是涉及状态的 ...

  4. Linux服务器以及系统性能排查常用命令

    一.在Linux系统中排查CPU故障的方法和技巧 1.top命令 Linux内部命令,可以查看实时的CPU的使用情况,也可以查看CPU最近一段时间CPU的使用情况 Linux下常用的性能分析工具,能够 ...

  5. Head First 设计模式 —— 04. 工厂 (Factory) 模式

    思考题 如何将实例化具体类的代码从应用中抽离,或者封装起来,使它们不会干扰应用的其他部分? P111 将实例化具体类的代码放入一个对象中管理,通过不同入参决定实例化具体的类 简单工厂 不是23种GOF ...

  6. Zero date value prohibited解决方法

    发现错误 在做新需求时,建了新表,但是在测试debug中,控制台报了java.sql.SQLException: Zero date value prohibited错误 数据库用的是Date类型 实 ...

  7. Ubuntu 一直要求依赖的错误

    今天笔者在windows上装linux双系统,选用的ubuntu,因为第> 一次用,所以出现了这个问题. 如题,安装个gcc一直要求我要装依赖,如图 接下来我又开始一个个安装那些依赖,比如 su ...

  8. SqlLoad的简单使用

    sqlload的简单使用: 能实现: 快速导入大量数据 1.先安装oracle 客户端机器.有点大,600M+, 2.安装时选择管理员安装(1.1g) 3.第三步的时候我的出错了.说是环境变量校验不通 ...

  9. 工具用的好,下班回家早!5分钟玩转iTerm2!

    同时打开多个终端窗口,来回切换太麻烦! 能不能像IDEA一样,能够查看历史粘贴记录? 有没有办法一键登陆服务器? 工欲善其事,必先利其器!无论工作还是学习,选择好用的工具真的太重要了.今天就给大家介绍 ...

  10. scaffoldingTools

    脚手架工具 脚手架工具概要(前端工程化的发起者) 脚手架的本质作用:创建项目基础架构.提供项目规范和约定 相同的组织结构 相同的开发规范 相同的模块依赖 相同的工具配置 相同的基础代码 举例:IDE创 ...