TCP/IP__TCP/IP协议
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)DNS:8)DHCP
6.数据格式:
数据帧:帧头+IP数据包+帧尾 )帧头包括源和目标主机MAC地址及类型,帧尾是校验字)
IP数据包:IP头部+TCP数据信息)IP头包括源和目标主机IP地址、类型、生存期等)
TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)
TCP/IP__TCP/IP协议的更多相关文章
- HTTP、TCP、IP协议常见面试题
前言:在看面试题之前,先了解一下基本定义. HTTP.TCP.IP协议基本定义 HTTP: (HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数 ...
- HTTP要点概述:一,TCP/IP协议族
一,协议: 计算机与网络设备之间如果要相互通信,双方必须基于相同的方法.比如说,怎么探测到通讯目标,哪一方发起通信,使用哪一种语言通信,怎么结束通信,都需要事先规定.不同硬件,操作系统之间的通信需要一 ...
- HTTP、TCP、IP协议面试题
HTTP.TCP.IP协议基本定义 HTTP: (HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2 ...
- tcp与ip协议的区别
TCP/IP(TransmissionControlProtocol/InternetProtocol的简写,中文译名为传输控制协议/互联网络协议). 简单地说,就是由底层的IP协议和TCP协议组成的 ...
- 三、tcp、ip协议详细
1. 什么是 TCP/IP? TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说 TCP/IP 被认为是一个四层协议 1) 网络接口层: 主要是指物理层次的一些接口,比如电缆等 ...
- socket http tcp udp ip 协议
Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接. socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作 ...
- 浅析TCP /UDP/ IP协议
互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...
- 网络基础和 TCP、IP 协议
1.网络基本概念 1.1 什么是网络:一些网络设备按照一定的通讯规则(网络协议)进行通讯的系统. 1.2 VPN(虚拟私有网络)加密,相当于专线,从分支机构到总部. 1.3 资源共享的功能和特点: 数 ...
- 深入浅出TCP与IP协议笔记
TCP/IP 4层结构:应用层 传输层 网络层 链路层 探索过程问题:一个主机的数据要经过哪些过程才到达对方的主机上 一组电信号就是一个数据包,一个数据包称为一帧,制定这个规则的就是以太网协议 ...
随机推荐
- Spring Boot 计划任务中的一个“坑”
计划任务功能在应用程序及其常见,使用Spring Boot的@Scheduled 注解可以很方便的定义一个计划任务.然而在实际开发过程当中还应该注意它的计划任务默认是放在容量为1个线程的线程池中执行, ...
- shelll中test命令的使用【转】
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于 ...
- Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...
- 【SpringBoot1.x】SpringBoot1.x Web 开发
SpringBoot1.x Web 开发 文章源码 简介 SpringBoot 非常适合 Web 应用程序开发.可以使用嵌入式 Tomcat,Jetty 或 Undertow 轻松创建独立的 HTTP ...
- 基于 MPI 的快速排序算法的实现
完整代码: #include <iostream> #include <cstdlib> #include <ctime> #include <algorit ...
- python学习笔记 | wordcloud安装指南
问题: 直接在命令行输入: pip install wordcloud 不出意外,直接报错,显示缺失vc*****.bat,意思是缺失vc版本,这个安装方式基本可以扔掉. 解决: http://t.c ...
- win10/windows 安装Pytorch
https://pytorch.org/get-started/locally/ 去官网,选择你需要的版本. 把 pip install torch==1.5.0+cu101 torchvision= ...
- 【Oracle】add_months()函数介绍
add_months 函数主要是对日期函数进行操作,举例子进行说明 add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为单位的) 如:3个月以后的时间,可以用下 ...
- 【VNC】vnc安装oracle的时候不显示图形化界面
背景: 在虚拟机搭建了一个环境,准备安装oracle.但是环境都配置完成后,执行./runInstaller的时候,没有界面显示,只显示下面的界面 多次尝试后,发现,还是这样,期初是因为没有配置DIS ...
- SQLHelper ------ python实现
SQLHelper ------ python实现 1.第一种: import pymysql import threading from DBUtils.PooledDB import Pooled ...