博文参考

http://www.cnblogs.com/gsk99/p/4920699.html
http://www.cnblogs.com/iloverain/p/5619665.html
http://blog.csdn.net/leo_walker/article/details/51627760

TCP图解

图片描述

TCP结构

网络接口层

物理层定义与传输媒体的接口有关的一些特性,即机械特性、电气特性、功能特性、过程特性,并需要完成并行传输和串行传输之间的转换。
数据链路层向该层用户提供透明的和可靠的数据传输服务。 透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠性是指在传输过程中将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,其具体的方法有帧同步、差错控制、流量控制、链路管理。
数据链路层中的主要协议有点对点协议PPP,CSMA/CD协议,以太网802.3。

网际层(IP层)

网际层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网际层不提供服务质量的承诺,即所传输的分组可能出错、丢失、重复和失序,当然也不保证分组交付的时限。
网际层中主要协议有IP协议,地址解析协议ARP和网际控制报文协议ICMP等。
IP协议是网际层的核心,通过路由选择将下一跳IP封装后交给网络接口层。IP 数据报是无连接服务。
ICMP是网际层的补充,可以回送报文。用来检测网络是否通畅(使用ping命令)。
ARP是通过已知IP,寻找对于主机的MAC地址。

运输层

运输层为应用进程之间提供端到端(进程到进程)的逻辑通信,并具有复用和分用的功能,即发送方不同的应用进程都可以使用同一个运输层协议传送数据;接收方的运输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。运输层还将对报文进行差错控制,以提供可靠传输。
运输层中主要协议有用户数据报协议UDP和传输控制协议TCP   

应用层

应用层为用户提供应用程序。
应用层中主要协议有域名系统DNS,文件传输协议FTP,远程终端协议TELNET,超文本传输协议HTTP,简单邮件传送协议SMTP,邮件读取协议POP3和IMAP,动态主机配置协议DHCP等。
DNS:提供域名解析服务,提供域名到IP地址之间的转换,使用端口53
FTP:在异构网络中任意计算机之间传送文件,使用端口21
TELNET:提供用户远程登录服务,使用端口23,使用明码传送,保密性差、简单方便
HTTP:用于实现万维网上的各种链接,即万维网客户程序与万维网服务器之间的连接,使用端口80
SMTP/POP3、IMAP:提供邮件的传输,用来控制信件的发送、中转、从邮件服务器读取邮件
DHCP:为新加入网络的计算机自动分配IP地址

TCP/IP协议

ARP协议

解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题。
假设在一个以太网上的 4 台计算机,分别是计算机 A 、 B 、 X 和 Y ,通过TCP/IP 协议进行通信,那么双方的数据链路层必须知道对方的 MAC 地址。每台计算机都要在各自的高速缓存区中存放一张 IP 地址到 MAC 地址的转换表,称 ARP 表。其中存放着最近用到的一系列和它通信的处于同一子网的计算机的 IP 地址和 MAC 地址的映射。在主机初始启动时, ARP 表为空。现在源端计算机 A ( 192.168.3.1 )要和计算机 B(192.168.3.2)通信。在计算机 A 发送信息前, 必须首先得到计算机B的MAC地址的映射关系。

RARP协议

反向地址转换协议(RARP:Reverse Address Resolution Protocol) 反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器,此机器就会存储起来以便日后使用。 RARP 可以使用于以太网、光纤分布式数据接口及令牌环LAN

DHCP协议

DHCP是动态主机配置协议,常用于给主机动态地分配IP地址, 他提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与; DHCP是应用层协议, 他是基于UDP的;

ICMP协议

IP提供的是尽最大努力交付的无连接服务,因此并不能解决网络层中的数据报丢失、重复、延迟或乱序等问题,为了提高IP数据报成功交付的机会, 在网络层使用ICMP(Internet Control Message Protocol:Internet控制报文协议)协议来允许主机或者路由器报告差错和异常情况. 

RIP协议

路由信息协议RIP是一种分布式的基于距离向量的路由选择协议, 属于内部网关协议(IGP)。RIP协议中的“距离”也称为“跳数”,每经过一个路由器,跳数就加1。协议规定: 同一自治系统(A.S.)中的路由器每30秒会与相邻的路由器交换路由信息,以动态的建立路由表。当传输数据时,RIP将选择一条具有最少路由器的路由。

OSPF协议

OSPF (Open Shortest Path First, 开放最短路径优先)。它是为克服RIP的缺点在1989年开发出来的。OSPF的原理很简单,但实现起来却较复杂。“开放”表明OSPF协议不是受某一家厂商控制,而是公开发表的。“最短路径优先”是因为使用了Dijkstra最短路径算法。

BGP协议

BGP(Border Gateway Protocol)是一种不同自治系统的路由器之间交换路由信息的协议, 它的基本功能是在自治系统间自动交换无环路的路由信息, 他是一种外部网关协议(EGP), 边界网关协议常常应用于互联网的网关之间. 路由表包含已知路由器的列表, 路由器能够到达的地址以及到达每个路由器的跳数.
    由于:
    1)因特网的规模太大, 使得自治系统之间路由选择非常困难;
    2)对于自治系统之间的路由选择, 要寻找最佳路由是很不现实的;
    3)自治系统之间的路由选择必须考虑有关策略;
    因此, 边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子), 而非要找到一条最佳路由.
    BGP采用的是”路径向量选择协议”, 他与距离向量协议和链路状态协议都有很大的区别. BGP是应用层协议, 他是基于TCP的;

IGMP协议

IGMP协议用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 组播路由器不需要保存所有主机的成员关系,它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的组成员。而主机只需要保存自己加入了哪些组播组。
        简而言之,IGMP协议是让连接在本地局域网上的组播路由器知道本局域网上是否有主机上的某个进程参加或退出了某个组播组。
    IGMP应视作TCP/IP协议的一部分, 其工作可以分为两个阶段:
    1)当某个主机加入新的组播组时, 该主机应向组播组的组播地址发送一个IGMP报文, 声明自己要成为该组的成员. 本地组播路由器收到ICMP报文后, 将组成员关系转发给因特网上其他的组播路由器.
    2)因为组成员的关系是动态的, 本地组播路由器要周期性地探询本地局域网上的路由器, 以便知道这些主机是否还继续是组的成员. 只要对某个组有一个主机响应, 那么组播路由器就认为这个组是活跃的. 但一个组在经过几次探询之后仍然没有一个主机响应, 则不再将该组的成员关系转发给其他的组播路由器.

TCP/IP数据封装

clipboard.png

TCP/IP数据解封装

clipboard.png


达龙
250 声望19 粉丝

天才是重复次数最多的人!


下一篇 »
三剑客之AWK