ISO七层参考模型, TCP/IP

(图片来自百度百科)(文章整理摘自百度百科)

1. ISO参考模型 


 

ISO : (Open System Interconnection)

1. 物理层:

建立、维护、断开物理连接。(由底层网络定义协议)
将比特流送到物理介质上传送

2.数据链路层

在链路上误差错一帧一帧传送信息
建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
 
3. 网络层
分组传输和路由选择
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
4. 传输层 (Transport)
经端到端从网络透明的传输报文
定义传输的协议和端口号, 以及流控和差错校验
协议有: TCP/UDP, 数据包一旦离开网卡即进入网络传输层
 
5. 会话层 (Session Layer)
会话的管理和数据传输同步;
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
 
6. 表示层 (Presentation)
数据格式的转换
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、DECOIC、加密格式等
 
7. 应用层
与用户应用程序的接口
网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS
 
ISO七层参考模型的作用:
上三层总称为应用层, 用来控制软件方面
下四层总称数据流层, 用来管理硬件.
数据发送时, 从第7层传到第1层, 接收方则相反.
数据在发至数据流层的时候将被拆分
在传输层的数据叫 段, 网络层的叫 包, 数据链路层叫 帧, 物理层叫 比特流. 这样的叫法叫PDU (协议数据单元)
 
OSI中每一层都有每一层的作用
第七层应用层, 直接对应用程序提供服务, 应用程序可以变化, 但要包括电子消息传输
第六层表示层, 格式化数据, 以便为应用程序提供通用接口, 这可以包括加密服务
第五层会话层, 在两个节点之间建立端连接. 此项服务包括建立连接是以全双工方式还是以半双工方式进行设置, 尽管可以在第四层中处理双工方式
第四层传输层, 常规数据传送,面向连接或无连接. 包括全双工或半双工, 流控制或错误恢复服务
第三层网络层, 本层通过寻址来建立两个节点间的连接, 它包括通过互连网络来路由或中继数据
第二层数据链路层, 在此层将数据分 帧, 并处理流控制. 本层指定拓扑结构和提供硬件寻址
第一层物理层, 原始比特流的传输,电子信号传输和硬件接口
 
2. TCP/IP协议
 
TCP/IP结构对应OSI
TCP/IP
OSI
应用层
应用层
表示层
会话层
主机到主机层(TCP)(又称传输层)
网络层(IP)(又称互联层)
网络接口层(又称链路层)
数据链路层
物理层
 
 
OSI中的层
功能
TCP/IP协议族
应用层
文件传输,电子邮件,文件服务,虚拟终端
TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
表示层
数据格式化,代码转换,数据加密
没有协议
会话层
解除或建立与别的接点的联系
没有协议
传输层
提供 端对端的接口
TCP,UDP
网络层
数据包选择路由
IP,ICMP,OSPF,EIGRP,IGMP
数据链路层
传输有地址的帧以及错误检测功能
SLIP,CSLIP,PPP,MTU
物理层
以二进制数据形式在物理媒体上传输数据
ISO2110,IEEE802,IEEE802.2

TCP/IP参考模型

TCP/IP参考模型是首先由ARPANET所使用的网络体系结构。这个体系结构在它的两个主要协议出现以后被称为TCP/IP参考模型(TCP/IP Reference Model)。这一网络协议共分为四层:网络访问层、互联网层、传输层和应用层,如图2所示。
图2 TCP/IP参考模型 图2 TCP/IP参考模型
1) 网络访问层(Network Access Layer)
在TCP/IP参考模型中并没有详细描述,只是指出主机必须使用某种协议与网络相连。

2) 互联网层(Internet Layer)
是整个体系结构的关键部分,其 功能是使主机可以把分组发往任何网络,并使分组独立地传向目标。
这些分组可能经由不同的网络,到达的顺序和发送的顺序也可能不同。高层如果需要顺序收发,那么就必须自行处理对分组的排序。
互联网层使用因特网协议(IP,Internet Protocol)。TCP/IP参考模型的互联网层和OSI参考模型的网络层在功能上非常相似。
 
3) 传输层(Tramsport Layer)
使源端和目的端机器上的对等实体可以进行会话。
在这一层定义了两个端到端的协议:传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol)。
TCP是面向连接的协议,它提供可靠的报文传输和对上层应用的连接服务。为此,除了基本的数据传输外,它还有可靠性保证、流量控制、多路复用、优先权和安全性控制等功能。
UDP是面向无连接的不可靠传输的协议,主要用于不需要TCP的排序和流量控制等功能的应用程序。
 
4) 应用层(Application Layer)
包含所有的高层协议,包括:虚拟终端协议(TELNET,TELecommunications NETwork)、文件传输协议(FTP,File Transfer Protocol)、电子邮件传输协议(SMTP,Simple Mail Transfer Protocol)、域名服务(DNS,Domain Name Service)、网上新闻传输协议(NNTP,Net News Transfer Protocol)和超文本传送协议(HTTP,HyperText Transfer Protocol)等。
TELNET允许一台机器上的用户登录到远程机器上,并进行工作;
FTP提供有效地将文件从一台机器上移到另一台机器上的方法;
SMTP用于电子邮件的收发;
DNS用于把主机名映射到网络地址;
NNTP用于新闻的发布、检索和获取;
HTTP用于在WWW上获取主页。
 
3. 三次握手
所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发
整个流程如下图所示:

图2 TCP三次握手
 
(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
  (2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
  (3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

 

转载于:https://www.cnblogs.com/daisy0707/p/5236581.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值