TCP/IP协议族体系结构的主要协议详细解读:

目录

TCP/IP协议族体系结构

一、数据链路层

1. ARP协议(地址解析协议)

2. RARP协议:

二、网络层

1. IP协议:IP协议详解

IP协议的特点:

2. ICMP协议:

ICMP重定向报文

三、传输层

1. TCP协议:TCP协议详解【头部信息、状态转移、数据流、拥塞控制】

TCP协议特点:面向连接、字节流、可靠传输

2. UDP协议:

UDP特点:无连接 数据报 不可靠

详解:

四、应用层

1. DNS协议:

2. telnet协议:远程登录

3. OSPF协议:

4. ping应用程序,利用ICMP

5.HTTP协议:HTTP协议【特点、Cookie和Session机制、长连接和短连接、请求和响应报文】


TCP/IP协议族体系结构

 

一、数据链路层

 

1. ARP协议(地址解析协议)

工作原理:

主机向自己所在的网络广播一个ARP请求,该请求包含目标机器的IP地址,此网络上的的其他机器都将收到这个请求,但只有目的机器会回应一个ARP应答,其中包含自己的物理地址。

更多:ARP协议 地址解析协议:IP地址转换为MAC地址

 

2. RARP协议:

ReverseAddressResolutionProtocal,逆地址解析协议

 

二、网络层

 

1. IP协议:IP协议详解

    全称:Internet Protocol(网际互连协议)

IP协议的特点:

    IP协议是TCP/IP协议族的动力,它为上层协议提供无状态,无连接,不可靠的服务。
    无状态是指IP通信不同步传输数据,发送、传输和接收都是相互独立、没有上下文的。接收方只要收到了完整的IP数据包,就要交付上层协议,所以这些数据包可能是无序的、重复的。IP数据包虽然也有唯一标识,但是不是用来指示接收顺序的,而是用来处理IP分片和重组的。这种无状态的优点是:简单,高效。无需为保持通信状态而分配内核资源,传输数据也无需携带状态信息。
    无连接是指IP通信不维持对方的信息。但在每次发送数据时,必须明确对方的IP地址。
    不可靠是指IP协议不能保证数据包准确到达。发送失败的原因很多,比如:某个中转路由器发现IP数据包的存活时间太长(TTL),就丢弃此数据包,并返回一个ICMP超时错误给发送端;再比如接收端通过校验机制发现数据包不正确,就丢弃,并返回一个ICMP错误信息给发送端。 发送端IP模块检测到IP数据包发送失败,就通知上层协议发送失败,而不会试图重传。所以传输层协议需要自己实现数据确认、超时重传等机制,已达到可靠传输的目的。

 

2. ICMP协议:

(Internet Control Message Protocol)Internet控制报文协议

ICMP重定向报文

ICMP重定向报文的信息很明确:
    引起重定向数据报的源端IP地址和应该使用的路由器的IP地址。
接收主机根据这两个信息就可以断定引起重定向的IP数据报应该使用哪个路由器来转发,并以此更新路由表。

 

三、传输层

 

1. TCP协议:TCP协议详解【头部信息、状态转移、数据流、拥塞控制】

传输控制协议(Transmission Control Protocol)

TCP协议特点:面向连接、字节流、可靠传输

  使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP连接是全双工的,即双方的数据读写可以通过一个连接进行,完成数据交换不再使用该连接之后,通信双方都必须断开连接,以释放资源。并且TCP协议的这种连接是一对一的,所以基于广播和多播(目标是多个主机)的应用程序不能使用TCP服务。而无连接的UDP协议则非常适用于广播和多播

  被发送的TCP报文先被放入TCP发送缓冲区,在真正发送时,在缓冲区内的数据被封装成一个或多个TCP报文,接收端也是如此,所以TCP发送端的写操作次数和接收端的读操作次数是没有数量关系的,也就是说应用程序对数据的发送和接收是没有边界限制的。
   详解:TCP的字节流服务和UDP的数据报服务

  TCP传输是可靠的。首先是,TCP协议采用发送应答机制,即发送端发送的每个TCP报文段都必须得到接收方的应答,才认为TCP报文段传输成功。其次,TCP协议采用超时重传机制,发送端在发送出一个TCP报文段之后启动定时器,如果在定时时间内未收到应答,它将重发该报文段。最后,因为TCP报文段最终是以IP数据报发送的,而IP数据报达到接收端可能乱序、重复,所以TCP协议还会对收到的TCP报文进行重排、整理,再交付给应用层。

 

2. UDP协议:

用户数据报协议(User Datagram Protocol)

UDP特点:无连接 数据报 不可靠

无连接的UDP协议则非常适用于广播和多播

UDP相对于字节流来说是数据报流,发送端应用没执行一次写操作,UDP模块就将其封装成一个UDP数据报并发送之。接收端必须及时针对每一个UDP数据报执行读操作,否则就会丢包(这经常发生在叫慢的服务器上)。并且,如果用户没有指定足够的应用程序缓冲区来读取UDP数据,则UDP数据将被截断。

UDP协议提供经不可靠服务,他们需要上层协议来处理数据确认和超时重传。

详解:

与TCP协议不同,UDP协议是非面向连接的不可靠协议,因此没有了SYN等处理两端等待或连接的报文段,相比之下,UDP的报文格式更为简单,主要由报文头(由均16位的源端口号、目的端口号、UDP长度和UDP校验和组成)和具体传输数据组成。如图所示:

     

  • UDP长度:UDP报文的整个大小,最小为8个字节(16*4位)(仅为首部)。
  • UDP检验和:在进行检验和计算时,会添加一个伪首部一起进行运算。伪首部(占用12个字节)为:4个字节的源IP地址、4个字节的目的IP地址、1个字节的0、一个字节的数字17、以及占用2个字节UDP长度。这个伪首部不是报文的真正首部,只是引入为了计算校验和。相对于IP协议的只计算首部,UDP检验和会把首部和数据一起进行校验。接收端进行的校验和与UDP报文中的校验和相与,如果无差错应该全为1。如果有误,则将报文丢弃或者发给应用层、并附上差错警告。

UDP特性:

(1) UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当 UDP想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

(2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

(4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

(5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

(6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。 虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票市场、在屏幕上显示航空信息等等。UDP也用在路由信息协议RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的RealAudio audio-on-demand protocol协议就是运行在UDP之上的协议,大多数因特网电话软件产品也都运行在UDP之上。

在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议。

 

四、应用层

 

1. DNS协议:

Domain Name Service 域名查询服务:
        
DNS是一套分布式的域名服务系统,每个DNS服务器上都存放着大量的机器名和IP地址的映射,并且是动态更新的,众多网络客户端都使用DNS协议来向DNS服务器查询目标主机的IP地址。

访问DNS服务的过程:
       
要访问DNS服务,首先要知道DNS服务器的IP地址,本机中有存放DNS服务器的IP地址的文件。其中两个IP地址分别是首选DNS服务器地址和备选DNS服务器地址。Linux下常访问DNS服务器的客户端程序是host。 $ host -t A www.baidu.com可以获得百度的IP地址。

 

2. telnet协议:远程登录

 

3. OSPF协议:

Open Shortest Path First, 开放最短路径优先协议

 

4. ping应用程序,利用ICMP

 

5.HTTP协议:HTTP协议【特点、Cookie和Session机制、长连接和短连接、请求和响应报文】

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值