这里所说的是广义上的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. CentOS6.5 linux 逻辑卷管理 调整分区大小

    [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 50 ...

  2. Python不同版本切换

    2016年6月8日更新: 这是我早前写的一篇小文章,其实,后来也没有采用这种方法切换.电脑上安装了多个Python 版本,保证自己经常用的版本加入环境变量外,使用非系统的版本时一般使用 IDE 编辑器 ...

  3. JS种正则表达式的基础用法

    基础语法 元字符 常用元字符 含义 . 匹配除换行符以外的任意字符 \w 匹配字母数字或下划线 \W 匹配不是字母.数字.下划线的字符 \d 匹配数字,相当于[0-9] \D 匹配不是数字的字符 \s ...

  4. hdu 6034 Balala Power!

    Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  5. intellij 出现“Usage of API documented as @since 1.6+”的解决办法(转)

    原文链接:http://www.cnblogs.com/cxj20160928/p/5954196.html intellij 出现“Usage of API documented as @since ...

  6. c# http操作类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  7. js获取来源网址

    举例: 1. a.html文件内容如下: <a href="b.html">浏览b.html </a> 2. b.html文件中的内容如下: <bod ...

  8. 2017~ROS暑期学校~分享

    http://www.robotics.sei.ecnu.edu.cn/ROS2017/ ---- 往年暑期学校活动:2015年,2016年 报名开始时间7月2日晚10点:暑期学校报名,机器人挑战赛报 ...

  9. history.go(-1)在不同浏览器中的解析

    今天遇到个问题: <a href="#" onclick="history.go(-1)">后退</a> 点击"后退" ...

  10. 地图API的选择和使用

    在我们程序员的日常开发中,总会时不时的需要用到地图开发,我也在多次碰到之后,写下我对地图开发的理解经验和总结. 一.地图的选择 回想一下我们生活中用到的地图工具,数了一下,百度地图,高德地图,腾讯地图 ...