OSI七层网络模型分别是什么样的,以及每层的数据格式
上三层面向用户,传输层完成数据传送服务。
物理层:物理层最重要的设备是中继器和集线器(hub)。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始数据可在物理媒体上传输。激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。
数据链路层:1.数据链路为网络层提供可靠的数据传输;2.基本数据单位为帧;3.主要的协议为以太网协议;4.重要的设备是:网桥和交换机。网桥比集线器(Hub)性能更好;数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。将数据组合成数据块,即帧。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
网络层:1.网络层负责对子网间的数据进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;2.基本数据单位为IP数据报;3.包含的协议为:IP协议(Internet Protocol,因特网互联协议);ICMP协议(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);RARP协议(Reverse Address Resolution Protocol,逆地址解析协议);4.重要的设备:路由器。网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。
传输层:1.传输层负责将上层数据分段,并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;2.包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);3.重要设备:网关。4.在这一层,信息传送的协议数据单元称为段或报文。第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
会话层:会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
表示层:表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
应用层:为操作系统或网络应用程序提供访问网络服务的接口。
会话层、表示层和应用层重点:
1.数据传输的基本单位为报文;2.包含的主要协议为FTP(文件传送协议)、Telnet(远程登陆协议)、DNS(域名解析协议)、SMTP(邮件传送协议)、POP3协议
TCP/IP四层模型分别是什么样的,以及每层的数据格式
类似与OSI标准模型
TCP/IP协议
建立连接的三次握手,关闭连接的四次握手,为什么要这么做
TCP/IP协议是Internet最基本的协议、Internet国际互联网的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输问题,一有问题就发出信号,要求重新传输,知道所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。
注:seq:"sequance"序列号;ack:"acknowledge"确认号;SYN:"synchronize"请求同步标志;;ACK:“acknowledge"确认标志”;FIN:“Finally"结束标志。
TCP连接建立过程:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。
TCP连接断开过程:假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了”,但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,“告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息”。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,“告诉Client端,好了,我这边数据发完了,准备好关闭连接了”。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,“就知道可以断开连接了”。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!
为什么要三次握手
在只有两次“握手”的情形下,假设Client想跟Server建立连接,但是却因为中途连接请求的数据报丢失了,故Client端不得不重新发送一遍;这个时候Server端仅收到一个连接请求,因此可以正常的建立连接。但是,有时候Client端重新发送请求不是因为数据报丢失了,而是有可能数据传输过程因为网络并发量很大在某结点被阻塞了,这种情形下Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据…问题就在这里,Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!所以,“三次握手”很有必要!
为什么要四次挥手
试想一下,假如现在你是客户端你想断开跟Server的所有连接该怎么做?第一步,你自己先停止向Server端发送数据,并等待Server的回复。但事情还没有完,虽然你自身不往Server发送数据了,但是因为你们之前已经建立好平等的连接了,所以此时他也有主动权向你发送数据;故Server端还得终止主动向你发送数据,并等待你的确认。其实,说白了就是保证双方的一个合约的完整执行!
使用TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(和SMTP相对,用于接收邮件)、HTTP协议等。
UDP协议
UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。
UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询—应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。
每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:
(1)源端口号;
(2)目标端口号;
(3)数据报长度;
(4)校验值。
使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP、DHCP。
TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。
DNS
DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。
-DNCP
DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
常见的网络协议以及它们分别属于TCP/IP模型的那一层
应用层:HTTP、FTP…
传输层:TCP、UDP
网络层:IP、ICMP、IGMP、ARP、RARP、IPsec
链路层:
-HTTP
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTP 协议包括哪些请求?
GET:请求读取由URL所标志的信息。
POST:给服务器添加信息(如注释)。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源。
HTTP 中, POST 与 GET 的区别
1)Get是从服务器上获取数据,Post是向服务器传送数据。
2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。
3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。
4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。
TCP超时重传
超时重传机制主要是为了解决数据包在传输过程中丢失的问题。TCP每发送一个报文段,就会为这个报文段开启一个定时器,如果定时器溢出时仍然没有收到接收端的应答报文,那么TCP就认为这个报文段在传输过程中丢失,然后重新发送这个报文段,并重启定时器(重启的定时器时间会增大)。这便是超时重传机制。
TCP滑动窗口
(1)滑动窗口机制的原理
(2)滑动窗口的作用
(3)滑动窗口大小与传输效率的关系
(4)TCP拥塞机制,超时与重传
IP地址
A类地址中的私有地址和保留地址:
①10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
② 127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。
B类地址的私有地址和保留地址
① 172.16.0.0到172.31.255.255是私有地址
②169.254.0.0到169.254.255.255是保留地址。
C类地址中的私有地址:
192.168.0.0到192.168.255.255是私有地址
HTTP和HTTPS的区别
HTPP协议是以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号,密码等支付信息。
因此为了解决这一缺陷,需要使用另一种协议:安全套接字超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通讯加密。
HTTPS其实就是HTTP的安全版。
1)HTTP协议包括哪些请求?
GET:请求读取URL所标志的信息。
POST:给服务器添加信息(如注释)。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源。
2)HTTP中GET与POST的区别:
(1)GET是从服务器上获取数据,POST是向服务器传送数据。
(2)GET是把参数数据队列加到表单的ACTION属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。
https://www.cnblogs.com/wqhwe/p/5407468.html
电路交换:
CDM:码分多路复用
广泛应用于无线链路共享(如蜂窝网)
各用户使用相同频率载波,利用各自码片序列编码数据
保证共享信道互不干扰,因为不同编码序列正交
解码:码片序列与编码信号
报文交换:
分组交换:相比与报文交换,速度更快,路由缓存更小;相比电路交换,也允许更多用户同时使用网络,充分使用网络资源;更适用于突发网络传输;分组交换简单、无需呼叫建立。但是有可能产生拥塞(分组延迟和丢失),因此需要协议处理可靠传输和拥塞控制。
非突发网络传输:如电话,视频
Internet协议标准:
RFC:Request for Comments
IETF:互联网工程任务组(internet Engineer Task Force)
补充信息:
域名从左到右网域逐级变高,高一级包含低一级。
“路由信息协议(Route Information Protocol)”,主要传递路由信息,通过每隔30秒广播一次路由表,维护相邻路由器的位置关系,同时根据收到的路由表信息计算自己的路由表信息。RIP是一个距离矢量路由协议,最大跳数为15跳,超过15跳的网络则认为目标网络不可达。
发送数据时,数据块从结点进入到传输媒体所需要的时间 称为发送时延。
MAC地址也叫物理地址、硬件地址或链路地址,MAC地址则是48位的,IP地址才是32位的。
可靠传输协议RTP(Reliable Transport Protocol),是用来管理EIGRP数据包的发送和接收的协议,“可靠的发送”是指发送是有保障的。虽然名称中包含“可靠”,但RTP并不仅仅提供可靠传输,它也提供不可靠传输。当使用可靠传输时,RTP要求对方发回ACK确认;当使用不可靠传输时,RTP不要求ACK。
实时传输协议RTP(Real-time Transport Protocol)是传输层协议。常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的。RTP广泛应用于流媒体相关的通讯和娱乐,包括电话、视频会议、电视和基于网络的一键通业务(类似对讲机的通话)。
双绞线传输介质是把两根导线绞在一起,这样可以减少信号之间的相互串扰。
密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。
在公钥加密体制中,公钥加密的加密算法和公钥都是公开的,私钥保密存放。
从本质上说,交换机就是一个多端口的网桥,工作在数据链路层(因此不能实现不同网络层协议的网络互联,路由器可以实现不同网络层协议的网络互连),交换机能经济地将网络分成小的冲突域。广播域属于网络层概念,只有网络层设备(如路由器)才能分割广播域。
由于利用IP进行互联的各个物理网络所能处理的最大报文长度有可能不同,
所以IP报文在数据传输和投递过程中有可能被分片(这种较小的部分叫做片)。
根据网络使用的技术不同,每种网络都规定了一个帧最多能够携带的数据量,这一限制称为最大传输单元(MTU)。
因此,一个IP数据报的长度只有小于或等于一个网络的MTU时,才能在这个网络中进行传输。大于了就分片。
100base-T 使用的传输介质是 双绞线。T是双绞线的缩写。
X.25是一个广泛的协议,对应于物理层、数据链路层和分组层。
广域网也称为远程网,通常跨越很大的物理范围,甚至形成国际性的远程网络。覆盖范围比局域网(LAN)和城域网(MAN)都广。
几种常用的广域网包括:公用电话交换网(PSTN)、分组交换网(X.25)、数字数据网(DDN)、帧中继(FR)、交换式多兆数据服务(SMDS)、异步传输模式(ATM)。
广域网可以提供面向连接和无连接两种服务模式,对应广域网有两种组网方式:虚电路方式和数据报方式。
以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制.以太网中节点都可以看到在网络中发送的所有信息,所以说以太网是一种广播网络。
在半双工下工作的,在同一时间只能传输单一方向的数据.当两个方向的数据同时传输时,就会产生冲突。
以太网是用CSMA/CD检测机制,两点通讯时,帧听信道上收否有信号在传输.如果有的话,表明信道处于忙状态,就继续帧听,直到信道空闲为止。
停等协议出错主要包含三种情况:1.发送帧丢失2.确认帧丢失3.确认帧延迟
当发送方收不到确认帧时,会重新发送一个相同序号的帧过去,如果是因为1原因出错,则接收方不包含该序号的帧,则将其接收;
如果是因为2.3原因出错,则接收方已经接收过该帧,当相同序号的帧到达时,会因为重复而被丢弃。
所以,使用帧序号的目的是处理重复帧。
ARQ是 Automatic Repeat Request 自动重传请求 顾名思义是需要发送方重传的
FEC是是前向纠错Forward Error Correction, 发送方将要发送的数据附加上一定的冗余纠错码一并发送,接收方则根据纠错码对数据进行差错检测,如发现差错,由接收方进行纠正。因此不需要重传。
CRC是循环冗余校验码,是一种编码方式不是差错控制方法。
2.私有协议
多数P2P文件共享应用
网络电话是基于UDP协议
Tim Berners-Lee
HTTP请求过程
HTTP是一个无状态协议:
服务器不维护任何有关客户端过去所发请求的信息
因为有状态的协议更复杂:
需维护状态(历史信息)
如果客户或服务器失效,会产生更高的维护