TCP协议与IP协议之间的关系?为什么TCP协议能实现可靠传输?
2015-10-31 11:09
591 查看
(本文是给基于应用的人所看)
1、关系:
TCP协议负责把数据分成若干个数据包(数据报),并且给每个数据包加上包头,包头上有相应的编号,以保证数据接收端能将数据还原为原来的格式。
IP协议在每个包头再加上接收端的主机地址,这样数据找到自己要区的地方,如果传输途中出现数据丢失,则TCP协议会自动要求重传。
tip: Socket类只是对于TCP/IP协议的封装,本身只是一API,并不是协议。
2、网络层(IP)
1、两种服务:面向连接,无面向连接。对应运输层两种协议。
2、常用3类IP地址:ABC
(127.0.0.0:是本地的网络地址;127.0.0.1:是环回地址,是对应本地所有网络。平常用于测试本地网络。)
//3、IP地址和硬件地址,地址解析协议ARP:IP地址解析为物理地址。RARP将物理地址解析为IP地址。
4、划分子网(主机地址数不够用):
一个主机的网络地址,和一堆子网掩码相与,可以构造出许多子网。
5、ICMP(Internet control messages protocol)协议:
向目的地发送一堆,报错的报文。
3、运输层(TCP)
1、两种协议:TCP(面向连接,先建立起连接,稳定(下片子用)),UDP(无面向连接(即时通信))
2、可靠传输:
停止等待协议:超时重传,确认丢失,确认迟到等等,对应ICMP协议。
滑动窗口:每个窗口对应一个字节。有一定的窗口数,当无可用窗口时,则等待。
拥塞控制:作流量控制,以防过多的数据流入网络。
1、关系:
TCP协议负责把数据分成若干个数据包(数据报),并且给每个数据包加上包头,包头上有相应的编号,以保证数据接收端能将数据还原为原来的格式。
IP协议在每个包头再加上接收端的主机地址,这样数据找到自己要区的地方,如果传输途中出现数据丢失,则TCP协议会自动要求重传。
tip: Socket类只是对于TCP/IP协议的封装,本身只是一API,并不是协议。
2、网络层(IP)
1、两种服务:面向连接,无面向连接。对应运输层两种协议。
2、常用3类IP地址:ABC
(127.0.0.0:是本地的网络地址;127.0.0.1:是环回地址,是对应本地所有网络。平常用于测试本地网络。)
//3、IP地址和硬件地址,地址解析协议ARP:IP地址解析为物理地址。RARP将物理地址解析为IP地址。
4、划分子网(主机地址数不够用):
一个主机的网络地址,和一堆子网掩码相与,可以构造出许多子网。
5、ICMP(Internet control messages protocol)协议:
向目的地发送一堆,报错的报文。
3、运输层(TCP)
1、两种协议:TCP(面向连接,先建立起连接,稳定(下片子用)),UDP(无面向连接(即时通信))
2、可靠传输:
停止等待协议:超时重传,确认丢失,确认迟到等等,对应ICMP协议。
滑动窗口:每个窗口对应一个字节。有一定的窗口数,当无可用窗口时,则等待。
拥塞控制:作流量控制,以防过多的数据流入网络。
相关文章推荐
- TCP版backshell的VBS脚本代码
- TCP Wrappers防火墙介绍与封锁IP地址的方法
- c语言多进程tcp服务器示例
- win2003连接限制TCP连接限制
- PowerShell脚本开发之收发TCP消息包
- Nodejs创建TCP服务器 - king0222
- C#实现TCP连接信息统计的方法
- linux shell 脚本实现tcp/upd协议通讯(重定向应用)
- Android TCP 文件客户端与服务器DEMO介绍
- Android中实现TCP和UDP传输实例
- python实现可将字符转换成大写的tcp服务器实例
- php实现TCP端口检测的方法
- Java实现Socket的TCP传输实例
- 实现了基于TCP的Java Socket编程实例代码
- Java基于Tcp协议的socket编程实例
- python实现TCP服务器端与客户端的方法详解
- python检测远程服务器tcp端口的方法
- python实现简单的TCP代理服务器
- nginx搭建tcp代理服务器
- python网络编程之TCP通信实例和socketserver框架使用例子