Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通信协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP协议由四层组成,分别为:网络访问层、互联网层、传输层、应用层。那如何理解这四层,他们的做用又是什么呢?html
所谓四层结构,是将网络中传输的数据包逻辑性的分为四个层次,从前到后的结构以下所示:linux
重点:设备(包括你的手机、电脑等)读取数据包的顺序是从以上左往右读取的微信
让咱们经过wireshark工具看下具体的数据包是长什么样子的,以下图我打开了网页www.baidu.com。能够分别看到不一样层的数据包展现,而且我展开了应用层的数据内容,能够看到访问的域名为www.baidu.com网络
根据前文《小dai浅谈通讯网络(一)——引子》中描述,小明和小刚的对话得知,须要以下两点:工具
a.彼此的称呼 b.双方交谈的方式,包括采用中文等post
那么这所有在通讯网络中,分别为MAC地址和网络协议族(好比以太网的CSMA/CD等)url
小明和小刚交谈,就至关于MAC1(电脑)和MAC2(交换机)通讯。spa
网络协议族再也不累述。操作系统
网络访问层又叫数据链路层,该层工做于局域网,通常局域网有以太网、令牌网、点对点连接、FDDI等网络类型。htm
小明和小刚的交谈过程,视为一种应用,虽然是一种面谈。这有点像咱们使用微信进行沟通交流同样。一样你在电脑或者手机上,点击的任何APP(应用软件)就属于应用层。
根据前面描述,传输层是保障服务质量的,也就是保障小刚和小明的谈话内容可以更有效。因此所以我也把他们放在一块儿描述。
a.首先看下个人电脑上运行的应用层程序微信是什么样子的。当我双击点开并登录微信后,能够在任务管理器里面看到该程序的进程。他们在操做系统后台运行的时候,就是进程。
b.咱们经过微信能够和多我的进行通讯,好比你和小红是一次通讯、你和小利又是一次通讯,那电脑是如何标记着两次不一样的通讯过程。那就是经过传输层的端口号来标记的。
如下截图红框所示表明了微信的两次通讯过程:
一次:从本地地址172.18.10.9的端口号63223——>到远端的113.96.209.106的端口号443
另一次:从本地地址172.18.10.9的端口号64723——>到远端的182.254.34.159的端口号80
也就经过以上的IP+端口号对标记一次通讯过程。
c.传输层有两种协议,分别是TCP和UDP。至于TCP层如何保证通讯质量的内容了,再听后文分解。
(3)互联网层
上面提到标记一次通讯过程,使用的是IP+端口号。那为啥不直接使用MAC+端口号。而且一般咱们听到更多的是数据流量在网络中经过路由转发(路由转发即经过IP地址转发),而不是经过MAC地址转发。具体MAC地址转发和IP地址转发的细节和区别,再听后文分解。在前面咱们已经说到,MAC地址标记的是通讯设备,而IP地址的用处则是用于寻址,基于域的寻址。这就至关于咱们网购后的快递,MAC地址表明你的名字,而IP地址表明的是你的收获地址。收获地址是怎么写的?好比 四川省泸州市成华区A路B小区。当寻址地址,被标记为树形结构,中央集权制的体系,找到目标的路径将变为惟一。一样也增长了寻址的速度。好比对于IP地址192.168.1.3,至关因而这样的类比192(省).168(市).1(路).3(小区)。基于前面提到的数据包的处理机制为从左往右读取,当位于192(省).168(市)的路由设备,就能够将该数据包转发到1(路)。基于域的,树形结构的结构,被使用与除了RIP以外,基本全部的IP路由协议,好比OSPF/ISIS/BGP/PIM等。固然更不用说DNS、linux操做系统的ext文件系统等。
其余:
1.数据链路层,因为有各类类型,基于IP层的工做模式,能够屏蔽掉数据链层的差别性,进行透明传输,不会因为局域网的不一样,形成没法兼容,影响彼此的通讯;
2.数据层通讯的数据包,以太网中叫帧(frame);
IP层叫IP报文(IP datagram);
TCP层叫TCP段(TCP segment)
3.网络层之间,叫点对点服务;
传输层之间,叫端到端服务。