这里所说的是广义上的TCP/IP协议群,而不是特指TCP和IP这两种具体的协议。既然是协议群,那么都有哪些协议呢?我们先不着急回答这个问题,因为要弄清楚这个问题,首先得了解另两件事,就是为啥要有这个协议群,这个协议群大概是啥样的。

  先说第一件,起因很简单,这也是web产生的源头,就是计算机与计算机之间的联接。为啥计算机要互联呢?因为要交换数据,共享信息。当然,你也可以说我直接把数据传到U盘或者移动硬盘,接入到另一台计算机去不就完事了吗,那样我也无话可说了。计算机之间的互联互通要解决很多问题,首先是不同厂商生产的不同计算机型号、不同操作系统、不同网卡等等异构的软硬件如何兼容的问题。解决的办法就是制定规范,大家都按这个规范来,那么就能玩到一起了。

  规范的制定就产生了协议。举个例子,我说潮汕话,你说粤语,那就是鸡同鸭讲,如果大家都说普通话,那就能聊天了。这里的普通话就是协议。很多的协议,通过这些协议来实现计算机之间的通信,我们统称它们为TCP/IP协议群。这么多协议,管理办法就是分层。ISO(国际标准化组织,International Organization for Standardization)制定了OSI(开放系统互连参考模型,Open System Interconnect)参考模型,分层就是按这个OSI参考模型来的,共7层,从底层往上分别是:物理层 -> 数据链路层 -> 网络层 -> 传输层 -> 会话层 -> 表示层 -> 应用层。我们的TCP/IP把会话、表示和应用这3层整合起来了,一般分的是4层(链路层 -> 网络层 -> 传输层 -> 应用层)或5层(物理层 -> 数据链路层 -> 网络层 -> 传输层 -> 应用层)。

  我们详细看下OSI的七层参考模型(也叫7层通讯模型)分别都在做什么事情:

  1、物理层:

  定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。物理层即底层硬件,通讯最终是靠物理的传输介质实现的,物理层将数据的0/1转换为电压和脉冲光传输给物理传输介质(双绞线、同轴电缆和光纤等),所以物理层传输的是比特流。 

  2、数据链路层:

  通过物理的传输介质实现数据的传输。相互直连的设备使用地址实现传输,这个地址叫MAC(MAC,Media Access Control,介质访问控制)地址,或者叫物理地址、硬件地址。这一层传送的时候会把网络层带来的MAC地址作为首部,方便传输介质识别传输目的地址。网络层的数据在这里会被分段,实现每一个区间(收发主机之间还存在众多主机)内的通讯。交换机利用MAC地址来确定转发地址,归到该层。物理层的比特流则转换为数据帧。

  3、网络层:

  在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。负责将数据包从发送端主机传输到目标主机,进行地址管理和路由的选择。可以把网络层看成端到端的数据传输,它负责把完整的数据包从A主机送达B主机,就像寄快递一样。至于中间如何中转、拆包,那是数据链路层的事。该层的协议包括IP(Internet Protocol)、ARP(Address Resolution Protocol,地址解析协议)和ICMP(Internet Control Message Protocol,Internet控制报文协议)等。IP用来识别TCP/IP网络中不同的主机或路由器,IP地址属于网络层。路由器利用IP来确定转发地址,所以也属于这一层。  

  4、传输层:

  管理两个节点之间的数据传输(无需在路由器上处理)。负责从逻辑上建立两个主机之间的通讯连接,为确保数据包正确送达目的地,对发送端主机和目标主机之间进行确认,若数据丢失,会进行重发。协议包括TCP(Transmission Control Protocol,传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据,数据单元叫段)、UDP(User Datagram Protocol,用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,数据单元叫数据报)等。端口用于区分同一个计算机中不同的应用程序,属于传输层。   

  5、会话层:

  负责建立和断开通讯连接,以及报文传输管理(如访问控制,会话管理)。对何时连接,以何种方式(多个连接或单个连接)连接,连接多久,何时断开等做记录。   

  6、表示层:

  将应用处理的信息转换为适合网络传输的格式,或将下层的数据转换为适合上层处理的格式。将设备固有的数据格式,转换为网络标准传输格式,因为不同设备对同一比特流解释的结果可能不同。如报文的压缩、加密,字符的utf-8编码(编码格式加入首部传给下一层)。   

  7、应用层:

  为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务,实现具体业务逻辑。包括电子邮件协议(如SMPT)、文件传输协议(FTP)、远程登录协议(Telnet)、超文本传输协议(HTTP)等。每一种不同的应用对应不同的协议。

  从上面我们看到了TCP\IP的一个大概的结构,每一层对应着不同的协议群。会话层、表示层和应用层都属于应用程序,网络层和传输层都属于操作系统,而物理层和数据链路层则属于设备驱动程序与网络接口的范畴。

TCP/IP概念简述的更多相关文章

  1. Http,Socket,TCP/IP 协议简述

    Http,Socket,TCP/IP 协议简述:https://blog.csdn.net/gordohu/article/details/54097841 TCP/IP协议,HTTP协议与webSo ...

  2. TCP/IP原理简述

    TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...

  3. TCP/IP协议 socket

    TCP/IP四层协议 TCP/IP概念 tcp/ip协议是主机接入互联网以及接入互联网的两台主机通信的标准. 数据帧概念 数据帧 |-- 包头 | |--源地址 | |--目标地址 | |--数据类型 ...

  4. 登录授权、TCP/IP、HTTPS

    今天继续纯理论的东东,比较枯燥,但是又很重要,坚持.. 登录和授权 登录和授权的区别: 登录:身份认证,即确认「你是你」的过程. 授权:由身份或持有的令牌确认享有某些权限(例如获取用户信息).登录过程 ...

  5. TCP/IP网络知识

    1.TCP/IP概念 TCP/IP不是单指一种传输协议,而是一组传输控制协议/互联网协议. 2.TCP/IP分层 (计算机网络中,实际应用的网络协议是TCP/IP协议族,TCP/IP的应用层大体上对应 ...

  6. 网络中的 TCP/IP

    TCP/IP OSI的“实现”:TCP/IP OSI七层模型 TCP/IP概念层模型 功能 TCP/IP协议族 应用层 应用层 文件传输.电子邮件.文件服务.虚拟终端 FTP,HTTP,SMTP,SN ...

  7. TCP/IP简述

    一.TCP/IP简述 TCP/IP从字面异议看起来是指TCP和IP两种协议,实际上,它只是利用IP进行通信时必须用到的协议群的统称.具体的来说,IP或ICMP.TCP或UDP.Telnet或FTP.以 ...

  8. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

  9. TCP/IP协议工作原理简述

    TCP/IP协议工作原理简述 // */ // ]]>   TCP/IP协议工作原理简述 Table of Contents 1 概要 2 应用层 3 传输层 4 网络层 5 链路层 1 概要 ...

随机推荐

  1. EasyNVR网页/微信播放RTSP摄像机HLS/RTMP播放时出现起播等待问题的优化过程

    EasyNVR 项目中, 我们需要在网页/微信中嵌入 HLS 播放器, 实现直播效果. 开发过程中, 我们调研了很多HLS播放器, 包括 百度cyberplayer, ckplayer, flowpl ...

  2. PHP中 public、protected 和 privare的区别

    权限:public>protected>private public:谁都可以调用 protected:只有自己和派生类可以调用 privare:只有自己可以调用

  3. PHP练习

    <?php function table($row,$col,$c){ $str= "<table border=1>"; for ($i=0; $i <$ ...

  4. 【商业源码】生日大放送-Newlife商业源码分享 -转

    http://www.cnblogs.com/asxinyu/p/3225179.html   今天是农历六月二十三,是@大石头的生日,记得每年生日都会有很劲爆的重量级源码送出,今天Newlife群和 ...

  5. 【剑指offer】字符串转换为数字,C++实现

    # 题目 把字符串转换成整数 # 思路 1.功能测试 正数/复数/0 2.边界值测试 最大的正整数/最小的负整数(数据上下溢出) 3.特殊输入测试 空字符串""的处理,返回0,设置 ...

  6. linux 文件上传&软件安装(rpm)

    文件的上传与下载(linux -linux ) 实例1:从远处复制文件到本地目录命令:scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /o ...

  7. Percona 工具 pt-query-digest的使用

    pt-query-digest说明 pt-query-digest 用来格式化分析MySQL产生的日志,如:慢查询日志.二进制日志.通用日志,根据不同的条件进行分析并生成报告. pt-query-di ...

  8. Linux OpenCV 静态链接错误

    错误一: undefined reference to `dlopen' undefined reference to `dlerror' undefined reference to `dlsym' ...

  9. VS2013 tips

    1.创建一个connection时会自动产生一个localdb数据库文件,可以通过Server Explorer窗口查看这个localDB,注意,是Server Explorer窗口,而不是SQL S ...

  10. (转载)从MVC到前后端分离

    摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Stru ...