tcp/ip 通常被认为是一个四层协议系统
![](https://images2017.cnblogs.com/blog/820365/201708/820365-20170803092616600-395747605.png)
- 链路层
- 处理物理接口细节
- ARP,RARP
- 网络层
- IP,ICMP(报文控制协议),IGMP(组管理协议)
- 处理网络中的活动,如路由的选择
- IP,ICMP(报文控制协议),IGMP(组管理协议)
- 传输层
- TCP(传输控制协议),UDP(用户数据报协议)
- TCP
- 提供高可靠性的数据通信
- 把数据分成合适的小块交给网络层
- 应用层忽略所有通讯细节
- UDP
- 只提供数据传送服务,不保证能正确到达
- 可靠性由应用来提供
- 速度快
- 应用层
- Telnet
- FTP
- SMTP
- 具体的应用
FTP实例
![](https://images2017.cnblogs.com/blog/820365/201708/820365-20170803092616709-156432147.png)
在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快
地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, T C P在不可
靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发
靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发
送和接收端到端的确认分组等机制。
- 网桥
- 网桥是在链路层上对网络进行互连
- 路由器
- 在网络层上对网络进行互连
- 虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。
- UDP为应用程序发送和接收数据报。
- IP是网络层上的主要协议,同时被tcp和udp使用
- ICMP是IP 协议的附属协议,
- IP层用来与其他主机交换错误报文和其他重要信息
- ping,traceroute,使用ICMP协议
- IGMP也是IP协议的附属协议
- 它用来把一个UDP数据报多播到多个主机。
- ICMP是IP 协议的附属协议,
- ARP(地址解析协议),RARP(逆地址解析协议)
- 用来转换IP层和网络接口层地址
- IP 地址 和 MAC 地址相互转换
5类IP地址:
- A类地址
- 0.0.0.0--127.255.255.255
- B类地址
- 128.0.0.0--191.255.255.255
- C地址
- 192.0.0.0--223.255.255.255
- D类地址
- 224.0.0.0--239.255.255.255
- E类地址
- 240.0.0.0--247.255.255.255
数据封装:
![](https://images2017.cnblogs.com/blog/820365/201708/820365-20170803092627490-488951301.png)
- TCP 和 IP 首部均20个字节。而UDP首部长8个字节。
- TCP,UDP,ICMP,IGMP都要想IP传数据,
- 那IP协议的首部有长度8bit表示是哪个协议传来的数据
- 1--ICMP
- 2--IGMP
- 6--TCP
- 17--UDP
- 类似的,很多应用层都要用TCP,udp 传数据
- 那在TCP UDP首部有长度16bit来表示不同的应用程序